3 * Utilities needed for debugging only. */
10 #define DOASSERT (VERBOSE||DEBUG)
13 #define LOGLEVEL_CONSTRUCT 0x0001
14 #define LOGLEVEL_DESTRUCT 0x0002
15 #define LOGLEVEL_ASSIGNMENT 0x0004
16 #define LOGLEVEL_DUPLICATE 0x0008
17 #define LOGLEVEL_PRINT 0x0010
18 #define LOGLEVEL_OPERATOR 0x0020
19 #define LOGLEVEL_MEMBER_FUNCTION 0x4000
20 #define LOGLEVEL_NONMEMBER_FUNCTION 0x8000
21 #define LOGLEVEL_ALL 0xffff
23 #define LOGMASK (LOGLEVEL_PRINT)
24 // #define LOGMASK (LOGLEVEL_PRINT | LOGLEVEL_ASSIGNMENT | LOGLEVEL_OPERATOR | LOGLEVEL_DUPLICATE | LOGLEVEL_OPERATOR | LOGLEVEL_MEMBER_FUNCTION | LOGLEVEL_NONMEMBER_FUNCTION )
30 #define debugmsg(msg, loglevel) if ((loglevel) & ~LOGMASK) clog << (msg) << endl;
32 #define debugmsg(msg, loglevel)
36 #define ASSERT(X) assert(X)
38 #define ASSERT(X) ((void)0)
41 #endif // ndef _DEBUGMSG_H_