Assert.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __ASSERT_H__ 210447Snilay@cs.wisc.edu#define __ASSERT_H__ 310447Snilay@cs.wisc.edu 410447Snilay@cs.wisc.edu#include "String.h" 510447Snilay@cs.wisc.edu#include "Exception.h" 610447Snilay@cs.wisc.edu 710447Snilay@cs.wisc.edu#ifdef NDEBUG 810447Snilay@cs.wisc.edu#define ASSERT(test_value_,exception_msg_) 910447Snilay@cs.wisc.edu#else 1010447Snilay@cs.wisc.edu#define ASSERT(test_value_,msg_) \ 1110447Snilay@cs.wisc.edu do \ 1210447Snilay@cs.wisc.edu { \ 1310447Snilay@cs.wisc.edu if(!(test_value_)) \ 1410447Snilay@cs.wisc.edu { \ 1510447Snilay@cs.wisc.edu const LibUtil::String& exception_msg = LibUtil::String::format("\nAt %s:%d\n", __FILE__, __LINE__) + (String)(msg_); \ 1610447Snilay@cs.wisc.edu throw LibUtil::Exception(exception_msg); \ 1710447Snilay@cs.wisc.edu } \ 1810447Snilay@cs.wisc.edu } while(0); 1910447Snilay@cs.wisc.edu#endif 2010447Snilay@cs.wisc.edu 2110447Snilay@cs.wisc.edu#endif // __ASSERT_H__ 2210447Snilay@cs.wisc.edu 23