9 #ifndef __IPDEBUG_HPP__ 10 #define __IPDEBUG_HPP__ 15 #ifdef COIN_IPOPT_CHECKLEVEL 22 # error "don't have header file for assert" 26 #define COIN_IPOPT_CHECKLEVEL 0 29 #if COIN_IPOPT_CHECKLEVEL > 0 33 # define DBG_ASSERT(test) assert(test) 34 # define DBG_ASSERT_EXCEPTION(__condition, __except_type, __msg) \ 35 ASSERT_EXCEPTION( (__condition), __except_type, __msg); 36 # define DBG_DO(__cmd) __cmd 38 # define DBG_ASSERT(test) 39 # define DBG_ASSERT_EXCEPTION(__condition, __except_type, __msg) 40 # define DBG_DO(__cmd) 43 #ifndef COIN_IPOPT_VERBOSITY 44 #define COIN_IPOPT_VERBOSITY 0 47 #if COIN_IPOPT_VERBOSITY < 1 48 # define DBG_START_FUN(__func_name, __verbose_level) 49 # define DBG_START_METH(__func_name, __verbose_level) 50 # define DBG_PRINT(__printf_args) 51 # define DBG_PRINT_VECTOR(__verbose_level, __vec_name, __vec) 52 # define DBG_PRINT_MATRIX(__verbose_level, __mat_name, __mat) 53 # define DBG_EXEC(__verbosity, __cmd) 54 # define DBG_VERBOSITY() 0 67 class DebugJournalistWrapper
72 DebugJournalistWrapper(std::string func_name,
Index verbose_level);
73 DebugJournalistWrapper(std::string func_name,
Index verbose_level,
74 const void*
const method_owner);
75 ~DebugJournalistWrapper();
82 return verbose_level_;
84 const Journalist* Jnlst()
88 Index IndentationLevel()
90 return indentation_level_;
95 void DebugPrintf(
Index verbosity,
const char* pformat, ...);
100 static void SetJournalist(Journalist* jrnl);
112 DebugJournalistWrapper();
115 DebugJournalistWrapper(
const DebugJournalistWrapper&);
118 DebugJournalistWrapper& operator=(
const DebugJournalistWrapper&);
121 static Index indentation_level_;
122 std::string func_name_;
123 Index verbose_level_;
124 const void* method_owner_;
126 static Journalist* jrnl_;
130 # define DBG_START_FUN(__func_name, __verbose_level) \ 131 DebugJournalistWrapper dbg_jrnl((__func_name), (__verbose_level)); \ 133 # define DBG_START_METH(__func_name, __verbose_level) \ 134 DebugJournalistWrapper dbg_jrnl((__func_name), (__verbose_level), this); 136 # define DBG_PRINT(__args) \ 137 dbg_jrnl.DebugPrintf __args; 139 # define DBG_EXEC(__verbose_level, __cmd) \ 140 if (dbg_jrnl.Verbosity() >= (__verbose_level)) { \ 144 # define DBG_VERBOSITY() \ int Index
Type for all incides.