|
ZeroErr
|


类 | |
| struct | zeroerr::deferred_false< T > |
| struct | zeroerr::ExprResult |
| struct | zeroerr::Expression< L > |
| struct | zeroerr::ExpressionDecomposer |
| class | zeroerr::IMatcher< T > |
| class | zeroerr::IMatcherRef< T > |
| class | zeroerr::CombinedMatcher< T > |
| class | zeroerr::NotMatcher< T > |
| struct | zeroerr::StartWithMatcher< T > |
命名空间 | |
| namespace | zeroerr |
| namespace | zeroerr::details |
宏定义 | |
| #define | AND &&zeroerr::ExpressionDecomposer() << |
| #define | OR || zeroerr::ExpressionDecomposer() << |
| #define | ZEROERR_SFINAE_OP(ret, op) typename std::decay<decltype(std::declval<L>() op std::declval<R>(), std::declval<ret>())>::type |
| #define | ZEROERR_EXPRESSION_COMPARISON(op, op_name) |
| #define | ZEROERR_EXPRESSION_ANDOR(op, op_name) |
| #define | ZEROERR_FORBIT_EXPRESSION(rt, op) |
函数 | |
| template<typename T > | |
| std::enable_if< std::is_convertible< T, bool >::value, bool >::type | zeroerr::details::getBool (T &&lhs) |
| template<typename T > | |
| std::enable_if<!std::is_convertible< T, bool >::value, bool >::type | zeroerr::details::getBool (T &&) |
| template<typename T > | |
| std::enable_if< std::is_constructible< std::string, T >::value, IMatcherRef< std::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_EXPRESSION_ANDOR | ( | op, | |
| op_name | |||
| ) |
| #define ZEROERR_EXPRESSION_COMPARISON | ( | op, | |
| op_name | |||
| ) |
| #define ZEROERR_FORBIT_EXPRESSION | ( | rt, | |
| op | |||
| ) |
| #define ZEROERR_SFINAE_OP | ( | ret, | |
| op | |||
| ) | typename std::decay<decltype(std::declval<L>() op std::declval<R>(), std::declval<ret>())>::type |