traceable.h File Reference

Header file declaring tools for generating debugging traces when failures occur. More...

#include <iostream>
#include <sstream>
#include <vector>
#include <dlrCommon/argumentDescription.h>
#include <dlrCommon/exception.h>

Include dependency graph for traceable.h:

Go to the source code of this file.

Namespaces

namespace  dlr
namespace  dlr::common

Defines

#define BEGIN_TRACEABLE
 If _DLRCOMMON_USE_TRACEABLE_ is defined, this macro works with END_TRACEABLE to build a stack trace.
#define END_TRACEABLE(functionName, argumentList)
 If _DLRCOMMON_USE_TRACEABLE_ is defined, this macro works with BEGIN_TRACEABLE to build the stack trace.

Functions

std::string dlr::common::describeArguments ()
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0>
std::string dlr::common::describeArguments (const Type0 &argument0)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12, class Type13>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12, const Type13 &argument13)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12, class Type13, class Type14>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12, const Type13 &argument13, const Type14 &argument14)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12, class Type13, class Type14, class Type15>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12, const Type13 &argument13, const Type14 &argument14, const Type15 &argument15)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12, class Type13, class Type14, class Type15, class Type16>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12, const Type13 &argument13, const Type14 &argument14, const Type15 &argument15, const Type16 &argument16)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12, class Type13, class Type14, class Type15, class Type16, class Type17>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12, const Type13 &argument13, const Type14 &argument14, const Type15 &argument15, const Type16 &argument16, const Type17 &argument17)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12, class Type13, class Type14, class Type15, class Type16, class Type17, class Type18>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12, const Type13 &argument13, const Type14 &argument14, const Type15 &argument15, const Type16 &argument16, const Type17 &argument17, const Type18 &argument18)
 This function template formats its entire argument list for inclusion in a stack trace.
template<class Type0, class Type1, class Type2, class Type3, class Type4, class Type5, class Type6, class Type7, class Type8, class Type9, class Type10, class Type11, class Type12, class Type13, class Type14, class Type15, class Type16, class Type17, class Type18, class Type19>
std::string dlr::common::describeArguments (const Type0 &argument0, const Type1 &argument1, const Type2 &argument2, const Type3 &argument3, const Type4 &argument4, const Type5 &argument5, const Type6 &argument6, const Type7 &argument7, const Type8 &argument8, const Type9 &argument9, const Type10 &argument10, const Type11 &argument11, const Type12 &argument12, const Type13 &argument13, const Type14 &argument14, const Type15 &argument15, const Type16 &argument16, const Type17 &argument17, const Type18 &argument18, const Type19 &argument19)
 This function template formats its entire argument list for inclusion in a stack trace.


Detailed Description

Header file declaring tools for generating debugging traces when failures occur.

Copyright (C) 2005-2007, David LaRose, dlr@cs.cmu.edu See accompanying file, LICENSE.TXT, for details.

Revision
877
Date
2007-05-04 00:12:02 -0400 (Fri, 04 May 2007)

Definition in file traceable.h.


Define Documentation

#define BEGIN_TRACEABLE

If _DLRCOMMON_USE_TRACEABLE_ is defined, this macro works with END_TRACEABLE to build a stack trace.

Use it inside each function definition, like this:

int myFunction(int argument0, int argument1) { BEGIN_TRACEABLE; // Your code goes here. return 0; END_TRACEABLE(myFunction, (argument0, argument1)); }

Definition at line 46 of file traceable.h.

#define END_TRACEABLE ( functionName,
argumentList   ) 

If _DLRCOMMON_USE_TRACEABLE_ is defined, this macro works with BEGIN_TRACEABLE to build the stack trace.

Use it inside each function definition, like this:

int myFunction(int argument0, int argument1) { BEGIN_TRACEABLE; // Your code goes here. return 0; END_TRACEABLE(myFunction, (argument0, argument1)); }

Definition at line 62 of file traceable.h.


Generated on Mon Jul 9 20:34:16 2007 for dlrLibs Utility Libraries by  doxygen 1.5.2