4 #include <QAtomicInteger> 6 #include "eabstractanalytic.h" 7 #include "eabstractanalytic_input.h" 8 #include "ace_analytic_abstractmpi.h" 10 #define EDEBUG_FUNC(...) EDebug debug(__PRETTY_FUNCTION__,#__VA_ARGS__); debug.setArguments(__VA_ARGS__); 12 #define EDEBUG_FUNC(...) 84 EDebug(
const char*
function,
const char* argumentNames);
86 template<
class... Args>
void setArguments(Args... arguments);
88 template<
class T>
void setArgument(
int depth, T last);
89 template<
class T,
class... Args>
void setArgument(
int depth, T next, Args... arguments);
96 static QAtomicInteger<int> _counter;
100 static thread_local
int _threadId;
105 static thread_local
int _stackDepth;
110 static thread_local
bool _active;
113 void setupArguments(
const char* argumentNames);
114 void dumpArguments();
118 const char* _function;
123 char* _argumentNames {
nullptr};
128 QVector<int> _argumentIndexes;
132 QVector<QByteArray> _argumentValues;
195 _argumentValues[depth] = _holder;
230 _argumentValues[depth] = _holder;
static int threadId()
Definition: edebug.cpp:46
~EDebug()
Definition: edebug.cpp:737
void setArguments(Args... arguments)
Definition: edebug.h:161
EDebug(const char *function, const char *argumentNames)
Definition: edebug.cpp:690
Token
Definition: edebug.h:45
void setArgument(int depth, T last)
Definition: edebug.h:184
EDebug & operator<<(Token token)
Definition: edebug.cpp:71
Type
Definition: ace_analytic_abstractmpi.h:29