1 #ifndef OCME_ASSERT 2 #define OCME_ASSERT 3 #include "logging.h" 4 struct Assert{ AssertAssert5 Assert(){AssertLevel() = 0;} AssertLevelAssert6 static int & AssertLevel( ){static int lev =0; return lev;} 7 AssertAssert8 Assert(bool expr, int lev, char*msg){ 9 if(lev >= AssertLevel) 10 #ifndef NDEBUG 11 assert(expr); 12 #else 13 if(!expr){ 14 sprintf(lgn->Buf(),"%s failed",msg); 15 lgn->Push(); 16 } 17 18 #endif 19 } 20 21 }; 22 23 #endif