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)
47 #define queso_error_msg(msg) do { queso_here(); std::cerr << msg << std::endl; QUESO_THROW(QUESO::LogicError()); } while(0)
49 #define queso_not_implemented_msg(msg) do { queso_here(); std::cerr << msg << std::endl; QUESO_THROW(QUESO::NotImplemented()); } while(0)
51 #define queso_file_error_msg(filename, msg) do { queso_here(); std::cerr << msg << std::endl; QUESO_THROW(QUESO::FileError(filename)); } while(0)
53 #define queso_error() \
56 #define queso_not_implemented() \
57 queso_not_implemented_msg("")
59 #define queso_file_error(filename) \
60 queso_file_error_msg(filename, "")
69 #define queso_require_msg(asserted, msg) do { if (!(asserted)) { std::cerr << "Assertion `" #asserted "' failed.\n" << msg << std::endl; queso_error(); } } while(0)
73 #define queso_require_equal_to_msg(expr1,expr2,msg) do { if (!(expr1 == expr2)) { std::cerr << "Assertion `" #expr1 " == " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << '\n' << msg << std::endl; queso_error(); } } while(0)
74 #define queso_require_not_equal_to_msg(expr1,expr2,msg) do { if (!(expr1 != expr2)) { std::cerr << "Assertion `" #expr1 " != " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << '\n' << msg << std::endl; queso_error(); } } while(0)
75 #define queso_require_less_msg(expr1,expr2,msg) do { if (!(expr1 < expr2)) { std::cerr << "Assertion `" #expr1 " < " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << '\n' << msg << std::endl; queso_error(); } } while(0)
76 #define queso_require_greater_msg(expr1,expr2,msg) do { if (!(expr1 > expr2)) { std::cerr << "Assertion `" #expr1 " > " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << '\n' << msg << std::endl; queso_error(); } } while(0)
77 #define queso_require_less_equal_msg(expr1,expr2,msg) do { if (!(expr1 <= expr2)) { std::cerr << "Assertion `" #expr1 " <= " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << '\n' << msg << std::endl; queso_error(); } } while(0)
78 #define queso_require_greater_equal_msg(expr1,expr2,msg) do { if (!(expr1 >= expr2)) { std::cerr << "Assertion `" #expr1 " >= " #expr2 "' failed.\n" #expr1 " = " << (expr1) << "\n" #expr2 " = " << (expr2) << '\n' << msg << std::endl; queso_error(); } } while(0)
83 #define queso_assert_msg(asserted,msg) ((void) 0)
84 #define queso_assert_equal_to_msg(expr1,expr2,msg) ((void) 0)
85 #define queso_assert_not_equal_to_msg(expr1,expr2,msg) ((void) 0)
86 #define queso_assert_less_msg(expr1,expr2,msg) ((void) 0)
87 #define queso_assert_greater_msg(expr1,expr2,msg) ((void) 0)
88 #define queso_assert_less_equal_msg(expr1,expr2,msg) ((void) 0)
89 #define queso_assert_greater_equal_msg(expr1,expr2,msg) ((void) 0)
93 #define queso_assert_msg(asserted,msg) \
94 queso_require_msg(asserted,msg)
95 #define queso_assert_equal_to_msg(expr1,expr2,msg) \
96 queso_require_equal_to_msg(expr1,expr2,msg)
97 #define queso_assert_not_equal_to_msg(expr1,expr2,msg) \
98 queso_require_not_equal_to_msg(expr1,expr2,msg)
99 #define queso_assert_less_msg(expr1,expr2,msg) \
100 queso_require_less_msg(expr1,expr2,msg)
101 #define queso_assert_greater_msg(expr1,expr2,msg) \
102 queso_require_greater_msg(expr1,expr2,msg)
103 #define queso_assert_less_equal_msg(expr1,expr2,msg) \
104 queso_require_less_equal_msg(expr1,expr2,msg)
105 #define queso_assert_greater_equal_msg(expr1,expr2,msg) \
106 queso_require_greater_equal_msg(expr1,expr2,msg)
110 #define queso_require(asserted) \
111 queso_require_msg(asserted, "")
113 #define queso_require_equal_to(expr1,expr2) \
114 queso_require_equal_to_msg(expr1,expr2,"")
116 #define queso_require_not_equal_to(expr1,expr2) \
117 queso_require_not_equal_to_msg(expr1,expr2,"") \
119 #define queso_require_less(expr1,expr2) \
120 queso_require_less_msg(expr1,expr2,"")
122 #define queso_require_greater(expr1,expr2) \
123 queso_require_greater_msg(expr1,expr2,"")
125 #define queso_require_less_equal(expr1,expr2) \
126 queso_require_less_equal_msg(expr1,expr2,"")
128 #define queso_require_greater_equal(expr1,expr2) \
129 queso_require_greater_equal_msg(expr1,expr2,"")
132 #define queso_assert(asserted) \
133 queso_assert_msg(asserted, "")
135 #define queso_assert_equal_to(expr1,expr2) \
136 queso_assert_equal_to_msg(expr1,expr2,"")
138 #define queso_assert_not_equal_to(expr1,expr2) \
139 queso_assert_not_equal_to_msg(expr1,expr2,"") \
141 #define queso_assert_less(expr1,expr2) \
142 queso_assert_less_msg(expr1,expr2,"")
144 #define queso_assert_greater(expr1,expr2) \
145 queso_assert_greater_msg(expr1,expr2,"")
147 #define queso_assert_less_equal(expr1,expr2) \
148 queso_assert_less_equal_msg(expr1,expr2,"")
150 #define queso_assert_greater_equal(expr1,expr2) \
151 queso_assert_greater_equal_msg(expr1,expr2,"")
155 #endif // QUESO_ASSERTS_H
Generated on Tue Jun 5 2018 19:48:54 for queso-0.57.1
by
doxygen
1.8.5