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
 This namespace comprises all of the symbols defined in the dlr_libs suite of libraries.
namespace  dlr::common
 This namespace contains classes, functions and typedefs for working with exceptions, reference counting, portable numeric types, checking and switching byte order, extending the standard library, and more.

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
975
Date
2007-12-30 01:57:17 -0500 (Sun, 30 Dec 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 Tue Nov 24 23:57:56 2009 for dlrCommon Utility Library by  doxygen 1.5.8