00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00015 #ifndef __DERS__HARD_ASRT_HPP__
00016 #define __DERS__HARD_ASRT_HPP__
00017
00018 #include <ders/config.hpp>
00019
00020 namespace ders {
00021
00022 namespace detail {
00023
00024 void hard_assert_impl(const char* expr, const char* file, int line);
00025
00026 }
00027
00028 }
00029
00033 #define hard_assert(expr) \
00034 ((expr) ? (void)0 : ders::detail::hard_assert_impl(#expr, __FILE__, __LINE__))
00035
00036 #endif // __DERS__HARD_ASRT_HPP__
00037