|
| #define | WALBERLA_CHECK_1(X) |
| | Some check functions.
|
| #define | WALBERLA_CHECK_NULLPTR_1(X) |
| #define | WALBERLA_CHECK_NOT_NULLPTR_1(X) |
| #define | WALBERLA_CHECK_EQUAL_2(X, Y) |
| #define | WALBERLA_CHECK_UNEQUAL_2(X, Y) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_2(X, Y) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_2(X, Y) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_EPSILON_3(X, Y, EPS) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_EPSILON_3(X, Y, EPS) |
| #define | WALBERLA_CHECK_IDENTICAL_2(X, Y) |
| #define | WALBERLA_CHECK_NOT_IDENTICAL_2(X, Y) |
| #define | WALBERLA_CHECK_LESS_2(X, Y) |
| #define | WALBERLA_CHECK_GREATER_2(X, Y) |
| #define | WALBERLA_CHECK_LESS_EQUAL_2(X, Y) |
| #define | WALBERLA_CHECK_GREATER_EQUAL_2(X, Y) |
| #define | WALBERLA_CHECK_2(X, MSG) |
| #define | WALBERLA_CHECK_NULLPTR_2(X, MSG) |
| #define | WALBERLA_CHECK_NOT_NULLPTR_2(X, MSG) |
| #define | WALBERLA_CHECK_EQUAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_UNEQUAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_EPSILON_4(X, Y, EPS, MSG) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_EPSILON_4(X, Y, EPS, MSG) |
| #define | WALBERLA_CHECK_IDENTICAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_NOT_IDENTICAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_LESS_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_GREATER_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_LESS_EQUAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_GREATER_EQUAL_3(X, Y, MSG) |
| #define | WALBERLA_CHECK_3(...) |
| #define | WALBERLA_CHECK_4(...) |
| #define | WALBERLA_CHECK_5(...) |
| #define | WALBERLA_CHECK_6(...) |
| #define | WALBERLA_CHECK_NULLPTR_3(...) |
| #define | WALBERLA_CHECK_NULLPTR_4(...) |
| #define | WALBERLA_CHECK_NULLPTR_5(...) |
| #define | WALBERLA_CHECK_NULLPTR_6(...) |
| #define | WALBERLA_CHECK_NOT_NULLPTR_3(...) |
| #define | WALBERLA_CHECK_NOT_NULLPTR_4(...) |
| #define | WALBERLA_CHECK_NOT_NULLPTR_5(...) |
| #define | WALBERLA_CHECK_NOT_NULLPTR_6(...) |
| #define | WALBERLA_CHECK_EQUAL_1(...) |
| #define | WALBERLA_CHECK_EQUAL_4(...) |
| #define | WALBERLA_CHECK_EQUAL_5(...) |
| #define | WALBERLA_CHECK_EQUAL_6(...) |
| #define | WALBERLA_CHECK_UNEQUAL_1(...) |
| #define | WALBERLA_CHECK_UNEQUAL_4(...) |
| #define | WALBERLA_CHECK_UNEQUAL_5(...) |
| #define | WALBERLA_CHECK_UNEQUAL_6(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_1(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_4(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_5(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_6(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_1(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_4(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_5(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_6(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_EPSILON_1(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_EPSILON_2(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_EPSILON_5(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_EPSILON_6(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_EPSILON_1(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_EPSILON_2(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_EPSILON_5(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_EPSILON_6(...) |
| #define | WALBERLA_CHECK_IDENTICAL_1(...) |
| #define | WALBERLA_CHECK_IDENTICAL_4(...) |
| #define | WALBERLA_CHECK_IDENTICAL_5(...) |
| #define | WALBERLA_CHECK_IDENTICAL_6(...) |
| #define | WALBERLA_CHECK_NOT_IDENTICAL_1(...) |
| #define | WALBERLA_CHECK_NOT_IDENTICAL_4(...) |
| #define | WALBERLA_CHECK_NOT_IDENTICAL_5(...) |
| #define | WALBERLA_CHECK_NOT_IDENTICAL_6(...) |
| #define | WALBERLA_CHECK_LESS_1(...) |
| #define | WALBERLA_CHECK_LESS_4(...) |
| #define | WALBERLA_CHECK_LESS_5(...) |
| #define | WALBERLA_CHECK_LESS_6(...) |
| #define | WALBERLA_CHECK_GREATER_1(...) |
| #define | WALBERLA_CHECK_GREATER_4(...) |
| #define | WALBERLA_CHECK_GREATER_5(...) |
| #define | WALBERLA_CHECK_GREATER_6(...) |
| #define | WALBERLA_CHECK_LESS_EQUAL_1(...) |
| #define | WALBERLA_CHECK_LESS_EQUAL_4(...) |
| #define | WALBERLA_CHECK_LESS_EQUAL_5(...) |
| #define | WALBERLA_CHECK_LESS_EQUAL_6(...) |
| #define | WALBERLA_CHECK_GREATER_EQUAL_1(...) |
| #define | WALBERLA_CHECK_GREATER_EQUAL_4(...) |
| #define | WALBERLA_CHECK_GREATER_EQUAL_5(...) |
| #define | WALBERLA_CHECK_GREATER_EQUAL_6(...) |
| #define | WALBERLA_CHECK(...) |
| #define | WALBERLA_CHECK_NULLPTR(...) |
| #define | WALBERLA_CHECK_NOT_NULLPTR(...) |
| #define | WALBERLA_CHECK_EQUAL(...) |
| #define | WALBERLA_CHECK_UNEQUAL(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL(...) |
| #define | WALBERLA_CHECK_FLOAT_EQUAL_EPSILON(...) |
| #define | WALBERLA_CHECK_FLOAT_UNEQUAL_EPSILON(...) |
| #define | WALBERLA_CHECK_IDENTICAL(...) |
| #define | WALBERLA_CHECK_NOT_IDENTICAL(...) |
| #define | WALBERLA_CHECK_LESS(...) |
| #define | WALBERLA_CHECK_GREATER(...) |
| #define | WALBERLA_CHECK_LESS_EQUAL(...) |
| #define | WALBERLA_CHECK_GREATER_EQUAL(...) |
| #define WALBERLA_CHECK_1 |
( |
| X | ) |
|
Value:{ if( !walberla::debug::check_functions_detail::check ( (X) ) ) { walberla::debug::check_functions_detail::check ( #X, __FILE__, __LINE__, walberla::debug::check_functions_detail::ExitHandler() ); } }
Some check functions.
The two parameter versions have the advantage of printing the values of their arguments in case of error. Note: The checks will be performed in Debug and in Release mode! Do not use as replacements of assertions in regular code! For assertions, use assert macros!
Available macros are:
- WALBERLA_CHECK( X ) - X must evaluate to true, otherwise the check fails
- WALBERLA_CHECK_NULLPTR( X ) - X must be a null pointer, otherwise the check fails
- WALBERLA_CHECK_NOT_NULLPTR( X ) - X must not be a null pointer, otherwise the check fails
- WALBERLA_CHECK_EQUAL( X, Y ) - X must be equal to Y, otherwise the check fails (for floating point types, use FLOAT_EQUAL or IDENTICAL)
- WALBERLA_CHECK_UNEQUAL( X, Y ) - X must not be equal to Y, otherwise the check fails (for floating point types, use FLOAT_UNEQUAL or NOT_IDENTICAL)
- WALBERLA_CHECK_FLOAT_EQUAL( X, Y ) - X must be equal to Y, otherwise the check fails (floating point types are considered equal even if they differ by a small epsilon)
- WALBERLA_CHECK_FLOAT_UNEQUAL( X, Y ) - X must not be equal to Y, otherwise the check fails (floating point types are only considered unequal if they differ by more than a small epsilon)
- WALBERLA_CHECK_IDENTICAL( X, Y ) - X must be identical to Y, otherwise the check fails (floating point types are only identical if they are bit-identical)
- WALBERLA_CHECK_NOT_IDENTICAL( X, Y ) - X must not be identical to Y, otherwise the check fails (floating point types are not identical if they are not bit-identical)
- WALBERLA_CHECK_LESS( X, Y ) - check fails if X<Y evaluates to false
- WALBERLA_CHECK_GREATER( X, Y ) - check fails if X>Y evaluates to false
- WALBERLA_CHECK_LESS_EQUAL( X, Y ) - check fails if X<=Y evaluates to false
- WALBERLA_CHECK_GREATER_EQUAL( X, Y ) - check fails if X>=Y evaluates to false
For every macro, you can provide a custom message via an additional argument, e.g.: WALBERLA_CHECK( false, "Will always fail!" ) or WALBERLA_CHECK_LESS( 42, 5, "42 is larger than 5!" )