00001
00002
00003
00004
00005 #ifndef ASSERT_H_INCLUDED
00006 #define ASSERT_H_INCLUDED
00007
00008 #include <cstdlib>
00009 #include <cassert>
00010
00011 #include "log.h"
00012
00013 namespace miniini_private
00014 {
00017 #ifndef NDEBUG
00018 #define MINIINI_ASSERT(expr, message)\
00019 do\
00020 {\
00021 if(!expr)\
00022 {\
00023 MINIINI_ERROR("Assertion failed: '%s' in file %s at line %d "\
00024 "\nMessage: %s", #expr, __FILE__, __LINE__, message);\
00025 assert(expr);\
00026 }\
00027 }\
00028 while(false);
00029 #else
00030 #define MINIINI_ASSERT(expr, message) ((void)0);
00031 #endif
00032
00033 }
00034 #endif