Go to the documentation of this file.
32 #ifndef QUESO_ASSERTS_H
33 #define QUESO_ASSERTS_H
36 #include "queso/config_queso.h"
42 #define queso_here() do { std::cerr << __FILE__ << ", line " << __LINE__ << ", compiled " << __DATE__ << " at " << __TIME__ << std::endl; } while (0)
49 #define queso_assert(asserted) ((void) 0)
50 #define queso_assert_msg(asserted, msg) ((void) 0)
51 #define queso_assert_equal_to(expr1,expr2) ((void) 0)
52 #define queso_assert_not_equal_to(expr1,expr2) ((void) 0)
53 #define queso_assert_less(expr1,expr2) ((void) 0)
54 #define queso_assert_greater(expr1,expr2) ((void) 0)
55 #define queso_assert_less_equal(expr1,expr2) ((void) 0)
56 #define queso_assert_greater_equal(expr1,expr2) ((void) 0)
59 #define queso_assert(asserted) do { if (!(asserted)) { std::cerr << "Assertion `" #asserted "' failed." << std::endl; queso_error(); } } while(0)
64 #ifdef QUESO_HAVE_CXX11
65 #define queso_assert_equal_to(expr1,expr2) do { typedef decltype(expr1) type1; typedef decltype(expr2) type2; if (!((expr1 == static_cast<type1>(expr2)) && static_cast<type2>(expr1) == expr2)) { std::cerr << "Assertion `" #expr1 " == " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
66 #define queso_assert_not_equal_to(expr1,expr2) do { typedef decltype(expr1) type1; typedef decltype(expr2) type2; if (!((expr1 != static_cast<type1>(expr2)) && (static_cast<type2>(expr1) != expr2))) { std::cerr << "Assertion `" #expr1 " != " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
67 #define queso_assert_less(expr1,expr2) do { typedef decltype(expr1) type1; typedef decltype(expr2) type2; if (!((static_cast<type2>(expr1) < expr2) && (expr1 < static_cast<type1>(expr2)))) { std::cerr << "Assertion `" #expr1 " < " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
68 #define queso_assert_greater(expr1,expr2) do { typedef decltype(expr1) type1; typedef decltype(expr2) type2; if (!((static_cast<type2>(expr1) > expr2) && (expr1 > static_cast<type1>(expr2)))) { std::cerr << "Assertion `" #expr1 " > " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
69 #define queso_assert_less_equal(expr1,expr2) do { typedef decltype(expr1) type1; typedef decltype(expr2) type2; if (!((static_cast<type2>(expr1) <= expr2) && (expr1 <= static_cast<type1>(expr2)))) { std::cerr << "Assertion `" #expr1 " <= " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
70 #define queso_assert_greater_equal(expr1,expr2) do { typedef decltype(expr1) type1; typedef decltype(expr2) type2; if (!((static_cast<type2>(expr1) >= expr2) && (expr1 >= static_cast<type1>(expr2)))) { std::cerr << "Assertion `" #expr1 " >= " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
75 #define queso_assert_equal_to(expr1,expr2) do { if (!(expr1 == expr2)) { std::cerr << "Assertion `" #expr1 " == " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
76 #define queso_assert_not_equal_to(expr1,expr2) do { if (!(expr1 != expr2)) { std::cerr << "Assertion `" #expr1 " != " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
77 #define queso_assert_less(expr1,expr2) do { if (!(expr1 < expr2)) { std::cerr << "Assertion `" #expr1 " < " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
78 #define queso_assert_greater(expr1,expr2) do { if (!(expr1 > expr2)) { std::cerr << "Assertion `" #expr1 " > " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
79 #define queso_assert_less_equal(expr1,expr2) do { if (!(expr1 <= expr2)) { std::cerr << "Assertion `" #expr1 " <= " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
80 #define queso_assert_greater_equal(expr1,expr2) do { if (!(expr1 >= expr2)) { std::cerr << "Assertion `" #expr1 " >= " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << std::endl; queso_error(); } } while(0)
87 #define queso_error() do { queso_here(); QUESO_THROW(QUESO::LogicError()); } while(0)
88 #define queso_not_implemented() do { queso_here(); QUESO_THROW(QUESO::NotImplemented()); } while(0)
89 #define queso_file_error(filename) do { queso_here(); QUESO_THROW(QUESO::FileError(filename)); } while(0)
91 #define queso_error_msg(msg) do { queso_here(); std::cerr << msg << std::endl; QUESO_THROW(QUESO::LogicError()); } while(0)
92 #define queso_not_implemented_msg(msg) do { queso_here(); std::cerr << msg << std::endl; QUESO_THROW(QUESO::NotImplemented()); } while(0)
93 #define queso_file_error_msg(filename, msg) do { queso_here(); std::cerr << msg << std::endl; QUESO_THROW(QUESO::FileError(filename)); } while(0)
95 #endif // QUESO_ASSERTS_H
Generated on Thu Apr 23 2015 19:26:15 for queso-0.51.1
by
doxygen
1.8.5