|
Go to the documentation of this file.
32 #ifndef FAUDES_DEFINITIONS_H
33 #define FAUDES_DEFINITIONS_H
38 #include "configuration.h"
44 #define FAUDES_IDX_MAX 0xFFFFFFFFU
48 #define FAUDES_INT_MIN (std::numeric_limits<int>::min())
49 #define FAUDES_INT_MAX (std::numeric_limits<Type>::max())
58 #define FD_MAXCONTAINERNAME 70
61 #define FD_SMALLTRANSREL 100
64 #define FD_CONSECUTIVE 6
67 #define FD_RTIMAXSIG 5
69 #ifndef FAUDES_VERSION
71 #define FAUDES_VERSION "undefined version"
75 #define FAUDES_WRITE_DIRECT(message) \
76 { if(!faudes::ConsoleOut::G()->Mute()) { std::cout << message << std::endl;} }
79 #define FAUDES_WRITE_CONSOLE(message) \
80 { if(!faudes::ConsoleOut::G()->Mute()) { \
81 std::ostringstream cfl_line; cfl_line << message << std::endl; \
82 faudes::ConsoleOut::G()->Write(cfl_line.str()); } }
85 #define FD_WARN(message) FAUDES_WRITE_CONSOLE("FAUDES_WARNING: " << message)
88 #ifdef FAUDES_DEBUG_CODE
89 #define FD_ERR(message) \
90 FAUDES_WRITE_CONSOLE("FAUDES_CODE: " << message << " in " << __FILE__ << ":" << __LINE__ )
92 #define FD_ERR(message)
96 #ifdef FAUDES_WRITE_PROGRESS
97 #define FD_WP(message) {FAUDES_WRITE_CONSOLE("FAUDES_PROGRESS: " << message); LoopCallback();}
99 #define FD_WP(message)
103 #ifdef FAUDES_WRITE_PROGRESS
104 #define FD_WPC(cntnow, cntdone, message) \
105 { std::ostringstream cfl_line; cfl_line << "FAUDES_PROGRESS: " << message << std::endl; \
106 faudes::ConsoleOut::G()->Write(cfl_line.str(),(cntnow),(cntdone)); LoopCallback(); }
108 #define FD_WPC(cntnow, contdone, message)
112 #define FD_WPD(cntnow, cntdone, message) { \
113 static faudes_systime_t start; \
114 static faudes_systime_t now; \
115 static faudes_mstime_t lap; \
117 static bool init(false); \
118 if(!init) { faudes_gettimeofday(&start); prog=cntnow;} \
119 faudes_gettimeofday(&now); \
120 faudes_diffsystime(now,start,&lap); \
121 if(!init) lap=10000; \
123 Int cps = (cntnow-prog)/(lap/1000); \
124 std::ostringstream cfl_line; \
125 cfl_line << "FAUDES_PROGRESS: " << message; \
126 if(cntnow>0) cfl_line << " (#/sec: " << cps << ")";\
127 cfl_line << std::endl; \
128 faudes::ConsoleOut::G()->Write(cfl_line.str(),(cntnow),(cntdone)); LoopCallback(); \
129 faudes_gettimeofday(&start); \
136 #ifdef FAUDES_DEBUG_FUNCTION
137 #define FD_DF(message) FAUDES_WRITE_CONSOLE("FAUDES_FUNCTION: " << message)
139 #define FD_DF(message)
144 #ifdef FAUDES_DEBUG_GENERATOR
145 #define FD_DG(message) FAUDES_WRITE_CONSOLE("FAUDES_GENERATOR: " << message)
147 #define FD_DG(message)
151 #ifdef FAUDES_DEBUG_CONTAINER
152 #define FD_DC(message) FAUDES_WRITE_CONSOLE("FAUDES_CONTAINER: " << message)
154 #define FD_DC(message)
158 #ifdef FAUDES_DEBUG_RUNTIMEINTERFACE
159 #define FD_DRTI(message) FAUDES_WRITE_CONSOLE("FAUDES_RTI: " << message)
161 #define FD_DRTI(message)
165 #ifdef FAUDES_DEBUG_REGISTRY
166 #define FD_DREG(message) FAUDES_WRITE_CONSOLE("FAUDES_REG: " << message)
168 #define FD_DREG(message)
172 #ifdef FAUDES_DEBUG_VERBOSE
173 #define FD_DV(message) FAUDES_WRITE_CONSOLE("FAUDES_VERBOSE: " << message)
175 #define FD_DV(message)
179 #ifdef FAUDES_DEBUG_CODE
180 #define FAUDES_OBJCOUNT_INC(type) ObjectCount::Inc(type)
181 #define FAUDES_OBJCOUNT_DEC(type) ObjectCount::Dec(type)
183 #define FAUDES_OBJCOUNT_INC(type)
184 #define FAUDES_OBJCOUNT_DEC(type)
188 #define FAUDES_TIMER_START(msg) { \
189 FD_WARN("timer start " << msg ); \
190 faudes_gettimeofday(& gPerfTimer1 ); }
191 #define FAUDES_TIMER_LAP(msg) { \
192 faudes_systime_t now; \
193 faudes_mstime_t lap; \
194 faudes_gettimeofday(&now); \
195 faudes_diffsystime(now,gPerfTimer1,&lap); \
196 FD_WARN("timer lap " << msg << " " << lap << "ms");}
200 #define FD_DLINE(message) FD_WARN( \
201 std::endl << "################################################ " << \
202 std::endl << message << " at file " << __FILE__ << ", line " << __LINE__ << endl << \
203 std::endl << "################################################ " << std::endl );
207 #ifndef FAUDES_DOXYGEN
208 #define FAUDES_NODOC(a) a
210 #define FAUDES_NODOC(a)
214 #ifdef FAUDES_DOXYGEN
libFAUDES 2.33a
--- 2025.05.02
--- c++ api documentaion by doxygen
|