7 #ifndef __IPDEBUG_HPP__
8 #define __IPDEBUG_HPP__
13 #ifdef COIN_IPOPT_CHECKLEVEL
16 #define COIN_IPOPT_CHECKLEVEL 0
19 #if COIN_IPOPT_CHECKLEVEL > 0
23 # define DBG_ASSERT(test) assert(test)
24 # define DBG_ASSERT_EXCEPTION(__condition, __except_type, __msg) \
25 ASSERT_EXCEPTION( (__condition), __except_type, __msg);
26 # define DBG_DO(__cmd) __cmd
28 # define DBG_ASSERT(test)
29 # define DBG_ASSERT_EXCEPTION(__condition, __except_type, __msg)
30 # define DBG_DO(__cmd)
33 #ifndef COIN_IPOPT_VERBOSITY
34 #define COIN_IPOPT_VERBOSITY 0
37 #if COIN_IPOPT_VERBOSITY < 1
38 # define DBG_START_FUN(__func_name, __verbose_level)
39 # define DBG_START_METH(__func_name, __verbose_level)
40 # define DBG_PRINT(__printf_args)
41 # define DBG_PRINT_VECTOR(__verbose_level, __vec_name, __vec)
42 # define DBG_PRINT_MATRIX(__verbose_level, __mat_name, __mat)
43 # define DBG_EXEC(__verbosity, __cmd)
44 # define DBG_VERBOSITY() 0
65 DebugJournalistWrapper(
66 std::string func_name,
70 DebugJournalistWrapper(
71 std::string func_name,
73 const void*
const method_owner
75 ~DebugJournalistWrapper();
82 return verbose_level_;
84 const Journalist* Jnlst()
88 Index IndentationLevel()
90 return indentation_level_;
106 static void SetJournalist(
122 DebugJournalistWrapper();
125 DebugJournalistWrapper(
126 const DebugJournalistWrapper&
130 DebugJournalistWrapper& operator=(
131 const DebugJournalistWrapper&
135 static Index indentation_level_;
136 std::string func_name_;
137 Index verbose_level_;
138 const void* method_owner_;
140 static Journalist* jrnl_;
144 # define DBG_START_FUN(__func_name, __verbose_level) \
145 DebugJournalistWrapper dbg_jrnl((__func_name), (__verbose_level)); \
147 # define DBG_START_METH(__func_name, __verbose_level) \
148 DebugJournalistWrapper dbg_jrnl((__func_name), (__verbose_level), this);
150 # define DBG_PRINT(__args) \
151 dbg_jrnl.DebugPrintf __args;
153 # define DBG_EXEC(__verbose_level, __cmd) \
154 if (dbg_jrnl.Verbosity() >= (__verbose_level)) { \
158 # define DBG_VERBOSITY() \
int Index
Type for all indices.