|
ZeroErr
|


Go to the source code of this file.
Namespaces | |
| namespace | zeroerr |
| namespace | zeroerr::detail |
| namespace | zeroerr::details |
Macros | |
| #define | AND &&zeroerr::ExpressionDecomposer() << |
| #define | OR || zeroerr::ExpressionDecomposer() << |
| #define | ZEROERR_SFINAE_OP(ret, op) |
| #define | ZEROERR_EXPRESSION_COMPARISON(op, op_name) |
| #define | ZEROERR_EXPRESSION_ANDOR(op, op_name) |
| #define | ZEROERR_FORBIT_EXPRESSION(rt, op) |
| #define | ZEROERR_DIRECT_COMPARISON(op) |
Functions | |
| template<class L> | |
| ComparisonLhs< L > | zeroerr::detail::makeComparisonLhs (const L &lhs, Printer &printer) |
| template<typename T> | |
| std::enable_if< has_bool_conversion< T >::value, bool >::type | zeroerr::details::getBool (T &&lhs) |
| template<typename T> | |
| std::enable_if<!has_bool_conversion< T >::value, bool >::type | zeroerr::details::getBool (T &&) |
| template<typename T> | |
| std::enable_if< std::is_constructible< zeroerr::String, T >::value, IMatcherRef< zeroerr::String > >::type | zeroerr::start_with (T &&s) |
| #define AND &&zeroerr::ExpressionDecomposer() << |
AND and OR are used to combine expressions in a more readable way. For example: CHECK(1 == 1 AND 2 == 2);
In its implementation, the expression is decomposed to ExpressionDecomposer() << 1 == 1 && ExpressionDecomposer() << 2 == 2
| #define OR || zeroerr::ExpressionDecomposer() << |
| #define ZEROERR_DIRECT_COMPARISON | ( | op | ) |
| #define ZEROERR_EXPRESSION_ANDOR | ( | op, | |
| op_name ) |
| #define ZEROERR_EXPRESSION_COMPARISON | ( | op, | |
| op_name ) |
| #define ZEROERR_FORBIT_EXPRESSION | ( | rt, | |
| op ) |