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 |