refactoredCPPNeuronMesher
doctest.h File Reference
#include <signal.h>
Include dependency graph for doctest.h:

Go to the source code of this file.

Classes

class  doctest::String
 
struct  doctest::String::view
 OCLINT avoid private static members. More...
 
class  doctest::Contains
 
struct  doctest::TestCaseData
 
struct  doctest::AssertData
 
class  doctest::AssertData::StringContains
 
struct  doctest::MessageData
 
struct  doctest::SubcaseSignature
 
struct  doctest::IContextScope
 
struct  doctest::ContextOptions
 OCLINT too many fields. More...
 
struct  doctest::detail::types::enable_if< COND, T >
 
struct  doctest::detail::types::enable_if< true, T >
 
struct  doctest::detail::types::true_type
 
struct  doctest::detail::types::false_type
 
struct  doctest::detail::types::remove_reference< T >
 
struct  doctest::detail::types::remove_reference< T & >
 
struct  doctest::detail::types::remove_reference< T && >
 
struct  doctest::detail::types::is_rvalue_reference< T >
 
struct  doctest::detail::types::is_rvalue_reference< T && >
 
struct  doctest::detail::types::remove_const< T >
 
struct  doctest::detail::types::remove_const< const T >
 
struct  doctest::detail::types::is_enum< T >
 
struct  doctest::detail::types::underlying_type< T >
 
struct  doctest::detail::types::is_pointer< T >
 
struct  doctest::detail::types::is_pointer< T * >
 
struct  doctest::detail::types::is_array< T >
 
struct  doctest::detail::types::is_array< T[SIZE]>
 
struct  doctest::detail::deferred_false< T >
 
struct  doctest::detail::has_insertion_operator< T, typename >
 
struct  doctest::detail::has_insertion_operator< T, decltype(operator<<(declval< std::ostream & >(), declval< const T & >()), void())>
 
struct  doctest::detail::should_stringify_as_underlying_type< T >
 
struct  doctest::detail::StringMakerBase< C >
 
struct  doctest::detail::StringMakerBase< true >
 
struct  doctest::StringMaker< T >
 
struct  doctest::detail::filldata< T >
 
struct  doctest::detail::filldata< T[N]>
 
struct  doctest::detail::filldata< const char[N]>
 
struct  doctest::detail::filldata< const void * >
 
struct  doctest::detail::filldata< T * >
 
struct  doctest::Approx
 
struct  doctest::IsNaN< F >
 
struct  doctest::detail::TestFailureException
 
struct  doctest::detail::Subcase
 
struct  doctest::detail::Result
 
struct  doctest::detail::Expression_lhs< L >
 
struct  doctest::detail::ExpressionDecomposer
 
struct  doctest::detail::TestSuite
 
struct  doctest::detail::TestCase
 
struct  doctest::detail::RelationalComparator< int, L, R >
 
struct  doctest::detail::RelationalComparator< 0, L, R >
 
struct  doctest::detail::RelationalComparator< 1, L, R >
 
struct  doctest::detail::RelationalComparator< 2, L, R >
 
struct  doctest::detail::RelationalComparator< 3, L, R >
 
struct  doctest::detail::RelationalComparator< 4, L, R >
 
struct  doctest::detail::RelationalComparator< 5, L, R >
 
struct  doctest::detail::ResultBuilder
 
struct  doctest::detail::IExceptionTranslator
 
class  doctest::detail::ExceptionTranslator< T >
 OCLINT destructor of virtual class. More...
 
struct  doctest::detail::ContextScopeBase
 
class  doctest::detail::ContextScope< L >
 
struct  doctest::detail::MessageBuilder
 
struct  doctest::test_suite
 
struct  doctest::description
 
struct  doctest::skip
 
struct  doctest::no_breaks
 
struct  doctest::no_output
 
struct  doctest::timeout
 
struct  doctest::may_fail
 
struct  doctest::should_fail
 
struct  doctest::expected_failures
 
class  doctest::Context
 
struct  doctest::CurrentTestCaseStats
 
struct  doctest::TestCaseException
 
struct  doctest::TestRunStats
 
struct  doctest::QueryData
 
struct  doctest::IReporter
 

Namespaces

 doctest
 
 doctest::detail
 
 std
 
 doctest::Color
 
 doctest::assertType
 
 doctest::detail::types
 
 doctest::detail::binaryAssertComparison
 
 doctest::detail::assertAction
 
 doctest_detail_test_suite_ns
 
 doctest::TestCaseFailureReason
 

Macros

#define DOCTEST_VERSION_MAJOR   2
 
#define DOCTEST_VERSION_MINOR   4
 
#define DOCTEST_VERSION_PATCH   12
 
#define DOCTEST_TOSTR_IMPL(x)   #x
 
#define DOCTEST_TOSTR(x)   DOCTEST_TOSTR_IMPL(x)
 
#define DOCTEST_VERSION_STR
 
#define DOCTEST_VERSION    (DOCTEST_VERSION_MAJOR * 10000 + DOCTEST_VERSION_MINOR * 100 + DOCTEST_VERSION_PATCH)
 
#define DOCTEST_CPLUSPLUS   __cplusplus
 
#define DOCTEST_COMPILER(MAJOR, MINOR, PATCH)   ((MAJOR)*10000000 + (MINOR)*100000 + (PATCH))
 
#define DOCTEST_MSVC   0
 
#define DOCTEST_CLANG   0
 
#define DOCTEST_GCC   0
 
#define DOCTEST_ICC   0
 
#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH
 
#define DOCTEST_CLANG_SUPPRESS_WARNING(w)
 
#define DOCTEST_CLANG_SUPPRESS_WARNING_POP
 
#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w)
 
#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH
 
#define DOCTEST_GCC_SUPPRESS_WARNING(w)
 
#define DOCTEST_GCC_SUPPRESS_WARNING_POP
 
#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w)
 
#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH
 
#define DOCTEST_MSVC_SUPPRESS_WARNING(w)
 
#define DOCTEST_MSVC_SUPPRESS_WARNING_POP
 
#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w)
 
#define DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH
 
#define DOCTEST_SUPPRESS_COMMON_WARNINGS_POP
 
#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN
 
#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END   DOCTEST_MSVC_SUPPRESS_WARNING_POP
 
#define DOCTEST_CONFIG_POSIX_SIGNALS
 
#define DOCTEST_CONFIG_NO_EXCEPTIONS
 
#define DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS
 
#define DOCTEST_SYMBOL_EXPORT   __attribute__((visibility("default")))
 
#define DOCTEST_SYMBOL_IMPORT
 
#define DOCTEST_INTERFACE
 
#define DOCTEST_INTERFACE_DECL   DOCTEST_INTERFACE
 
#define DOCTEST_INTERFACE_DEF
 
#define DOCTEST_EMPTY
 
#define DOCTEST_NOINLINE   __attribute__((noinline))
 
#define DOCTEST_UNUSED   __attribute__((unused))
 
#define DOCTEST_ALIGNMENT(x)   __attribute__((aligned(x)))
 
#define DOCTEST_INLINE_NOINLINE   inline DOCTEST_NOINLINE
 
#define DOCTEST_NORETURN   [[noreturn]]
 
#define DOCTEST_NOEXCEPT   noexcept
 
#define DOCTEST_CONSTEXPR   constexpr
 
#define DOCTEST_CONSTEXPR_FUNC   constexpr
 
#define DOCTEST_NO_SANITIZE_INTEGER
 
#define DOCTEST_DECLARE_INTERFACE(name)
 
#define DOCTEST_DEFINE_INTERFACE(name)    name::~name() = default;
 
#define DOCTEST_CAT_IMPL(s1, s2)   s1##s2
 
#define DOCTEST_CAT(s1, s2)   DOCTEST_CAT_IMPL(s1, s2)
 
#define DOCTEST_ANONYMOUS(x)   DOCTEST_CAT(x, __LINE__)
 
#define DOCTEST_REF_WRAP(x)   x&
 
#define DOCTEST_PLATFORM_LINUX
 
#define DOCTEST_GLOBAL_NO_WARNINGS(var, ...)
 
#define DOCTEST_BREAK_INTO_DEBUGGER()   raise(SIGTRAP)
 
#define DOCTEST_CONFIG_STRING_SIZE_TYPE   unsigned
 
#define DOCTEST_STRINGIFY(...)   toString(__VA_ARGS__)
 
#define SFINAE_OP(ret, op)   decltype((void)(doctest::detail::declval<L>() op doctest::detail::declval<R>()),ret{})
 
#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(op, op_str, op_macro)
 
#define DOCTEST_FORBIT_EXPRESSION(rt, op)
 
#define DOCTEST_COMPARISON_RETURN_TYPE   bool
 
#define DOCTEST_RELATIONAL_OP(name, op)
 
#define DOCTEST_CMP_EQ(l, r)   l == r
 
#define DOCTEST_CMP_NE(l, r)   l != r
 
#define DOCTEST_CMP_GT(l, r)   l > r
 
#define DOCTEST_CMP_LT(l, r)   l < r
 
#define DOCTEST_CMP_GE(l, r)   l >= r
 
#define DOCTEST_CMP_LE(l, r)   l <= r
 
#define DOCTEST_BINARY_RELATIONAL_OP(n, op)    template <class L, class R> struct RelationalComparator<n, L, R> { bool operator()(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) const { return op(lhs, rhs); } };
 
#define DOCTEST_ASSERT_OUT_OF_TESTS(decomp)
 
#define DOCTEST_ASSERT_IN_TESTS(decomp)
 
#define DOCTEST_DEFINE_DECORATOR(name, type, def)
 
#define DOCTEST_FUNC_EMPTY   (void)0
 
#define DOCTEST_FUNC_SCOPE_BEGIN   do
 
#define DOCTEST_FUNC_SCOPE_END   while(false)
 
#define DOCTEST_FUNC_SCOPE_RET(v)   (void)0
 
#define DOCTEST_ASSERT_LOG_REACT_RETURN(b)
 
#define DOCTEST_WRAP_IN_TRY(x)   x;
 
#define DOCTEST_CAST_TO_VOID(...)   __VA_ARGS__;
 
#define DOCTEST_REGISTER_FUNCTION(global_prefix, f, decorators)
 
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators)
 
#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, decorators)
 
#define DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(f, proxy, decorators)
 
#define DOCTEST_TEST_CASE(decorators)    DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators)
 
#define DOCTEST_TEST_CASE_CLASS(...)    TEST_CASES_CAN_BE_REGISTERED_IN_CLASSES_ONLY_IN_CPP17_MODE_OR_WITH_VS_2017_OR_NEWER
 
#define DOCTEST_TEST_CASE_FIXTURE(c, decorators)
 
#define DOCTEST_TYPE_TO_STRING_AS(str, ...)
 
#define DOCTEST_TYPE_TO_STRING(...)   DOCTEST_TYPE_TO_STRING_AS(#__VA_ARGS__, __VA_ARGS__)
 
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func)
 
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(dec, T, id)
 
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, anon, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE(dec, T, ...)    DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__)
 
#define DOCTEST_SUBCASE(name)
 
#define DOCTEST_TEST_SUITE_IMPL(decorators, ns_name)
 
#define DOCTEST_TEST_SUITE(decorators)    DOCTEST_TEST_SUITE_IMPL(decorators, DOCTEST_ANONYMOUS(DOCTEST_ANON_SUITE_))
 
#define DOCTEST_TEST_SUITE_BEGIN(decorators)
 
#define DOCTEST_TEST_SUITE_END
 
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature)
 
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature)
 
#define DOCTEST_REGISTER_REPORTER(name, priority, reporter)
 
#define DOCTEST_REGISTER_LISTENER(name, priority, reporter)
 
#define DOCTEST_INFO(...)
 
#define DOCTEST_INFO_IMPL(mb_name, s_name, ...)
 
#define DOCTEST_CAPTURE(x)   DOCTEST_INFO(#x " := ", x)
 
#define DOCTEST_ADD_AT_IMPL(type, file, line, mb, ...)
 
#define DOCTEST_ADD_MESSAGE_AT(file, line, ...)   DOCTEST_ADD_AT_IMPL(is_warn, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)
 
#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, ...)   DOCTEST_ADD_AT_IMPL(is_check, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)
 
#define DOCTEST_ADD_FAIL_AT(file, line, ...)   DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)
 
#define DOCTEST_MESSAGE(...)   DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, __VA_ARGS__)
 
#define DOCTEST_FAIL_CHECK(...)   DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, __VA_ARGS__)
 
#define DOCTEST_FAIL(...)   DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, __VA_ARGS__)
 
#define DOCTEST_TO_LVALUE(...)   __VA_ARGS__
 
#define DOCTEST_ASSERT_IMPLEMENT_2(assert_type, ...)
 
#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...)
 
#define DOCTEST_BINARY_ASSERT(assert_type, comp, ...)
 
#define DOCTEST_UNARY_ASSERT(assert_type, ...)
 
#define DOCTEST_WARN(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN, __VA_ARGS__)
 
#define DOCTEST_CHECK(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
 
#define DOCTEST_REQUIRE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
 
#define DOCTEST_WARN_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN_FALSE, __VA_ARGS__)
 
#define DOCTEST_CHECK_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE_FALSE, __VA_ARGS__)
 
#define DOCTEST_WARN_MESSAGE(cond, ...)   DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } DOCTEST_FUNC_SCOPE_END
 
#define DOCTEST_CHECK_MESSAGE(cond, ...)   DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } DOCTEST_FUNC_SCOPE_END
 
#define DOCTEST_REQUIRE_MESSAGE(cond, ...)   DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } DOCTEST_FUNC_SCOPE_END
 
#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...)   DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN_FALSE, cond); } DOCTEST_FUNC_SCOPE_END
 
#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...)   DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } DOCTEST_FUNC_SCOPE_END
 
#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...)   DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE_FALSE, cond); } DOCTEST_FUNC_SCOPE_END
 
#define DOCTEST_WARN_EQ(...)   DOCTEST_BINARY_ASSERT(DT_WARN_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_CHECK_EQ(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_EQ(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_WARN_NE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_NE, ne, __VA_ARGS__)
 
#define DOCTEST_CHECK_NE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_NE, ne, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_NE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_NE, ne, __VA_ARGS__)
 
#define DOCTEST_WARN_GT(...)   DOCTEST_BINARY_ASSERT(DT_WARN_GT, gt, __VA_ARGS__)
 
#define DOCTEST_CHECK_GT(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_GT, gt, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_GT(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_GT, gt, __VA_ARGS__)
 
#define DOCTEST_WARN_LT(...)   DOCTEST_BINARY_ASSERT(DT_WARN_LT, lt, __VA_ARGS__)
 
#define DOCTEST_CHECK_LT(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_LT, lt, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_LT(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_LT, lt, __VA_ARGS__)
 
#define DOCTEST_WARN_GE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_GE, ge, __VA_ARGS__)
 
#define DOCTEST_CHECK_GE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_GE, ge, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_GE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_GE, ge, __VA_ARGS__)
 
#define DOCTEST_WARN_LE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_LE, le, __VA_ARGS__)
 
#define DOCTEST_CHECK_LE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_LE, le, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_LE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_LE, le, __VA_ARGS__)
 
#define DOCTEST_WARN_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_WARN_UNARY, __VA_ARGS__)
 
#define DOCTEST_CHECK_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY, __VA_ARGS__)
 
#define DOCTEST_WARN_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_WARN_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_CHECK_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_FALSE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_MESSAGE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_FALSE_MESSAGE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_EQ   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_NE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_GT   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_LT   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_GE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_LE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_UNARY   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_UNARY_FALSE   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS(...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS(...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS(...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS_AS(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS_AS(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS_AS(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS_WITH(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS_WITH(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_NOTHROW(...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_NOTHROW(...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_NOTHROW(...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...)   DOCTEST_EXCEPTION_EMPTY_FUNC
 
#define DOCTEST_FAST_WARN_EQ   DOCTEST_WARN_EQ
 
#define DOCTEST_FAST_CHECK_EQ   DOCTEST_CHECK_EQ
 
#define DOCTEST_FAST_REQUIRE_EQ   DOCTEST_REQUIRE_EQ
 
#define DOCTEST_FAST_WARN_NE   DOCTEST_WARN_NE
 
#define DOCTEST_FAST_CHECK_NE   DOCTEST_CHECK_NE
 
#define DOCTEST_FAST_REQUIRE_NE   DOCTEST_REQUIRE_NE
 
#define DOCTEST_FAST_WARN_GT   DOCTEST_WARN_GT
 
#define DOCTEST_FAST_CHECK_GT   DOCTEST_CHECK_GT
 
#define DOCTEST_FAST_REQUIRE_GT   DOCTEST_REQUIRE_GT
 
#define DOCTEST_FAST_WARN_LT   DOCTEST_WARN_LT
 
#define DOCTEST_FAST_CHECK_LT   DOCTEST_CHECK_LT
 
#define DOCTEST_FAST_REQUIRE_LT   DOCTEST_REQUIRE_LT
 
#define DOCTEST_FAST_WARN_GE   DOCTEST_WARN_GE
 
#define DOCTEST_FAST_CHECK_GE   DOCTEST_CHECK_GE
 
#define DOCTEST_FAST_REQUIRE_GE   DOCTEST_REQUIRE_GE
 
#define DOCTEST_FAST_WARN_LE   DOCTEST_WARN_LE
 
#define DOCTEST_FAST_CHECK_LE   DOCTEST_CHECK_LE
 
#define DOCTEST_FAST_REQUIRE_LE   DOCTEST_REQUIRE_LE
 
#define DOCTEST_FAST_WARN_UNARY   DOCTEST_WARN_UNARY
 
#define DOCTEST_FAST_CHECK_UNARY   DOCTEST_CHECK_UNARY
 
#define DOCTEST_FAST_REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY
 
#define DOCTEST_FAST_WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE
 
#define DOCTEST_FAST_CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE
 
#define DOCTEST_FAST_REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE
 
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, ...)   DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id,__VA_ARGS__)
 
#define DOCTEST_SCENARIO(name)   DOCTEST_TEST_CASE(" Scenario: " name)
 
#define DOCTEST_SCENARIO_CLASS(name)   DOCTEST_TEST_CASE_CLASS(" Scenario: " name)
 
#define DOCTEST_SCENARIO_TEMPLATE(name, T, ...)   DOCTEST_TEST_CASE_TEMPLATE(" Scenario: " name, T, __VA_ARGS__)
 
#define DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id)   DOCTEST_TEST_CASE_TEMPLATE_DEFINE(" Scenario: " name, T, id)
 
#define DOCTEST_GIVEN(name)   DOCTEST_SUBCASE(" Given: " name)
 
#define DOCTEST_WHEN(name)   DOCTEST_SUBCASE(" When: " name)
 
#define DOCTEST_AND_WHEN(name)   DOCTEST_SUBCASE("And when: " name)
 
#define DOCTEST_THEN(name)   DOCTEST_SUBCASE(" Then: " name)
 
#define DOCTEST_AND_THEN(name)   DOCTEST_SUBCASE(" And: " name)
 
#define TEST_CASE(name)   DOCTEST_TEST_CASE(name)
 
#define TEST_CASE_CLASS(name)   DOCTEST_TEST_CASE_CLASS(name)
 
#define TEST_CASE_FIXTURE(x, name)   DOCTEST_TEST_CASE_FIXTURE(x, name)
 
#define TYPE_TO_STRING_AS(str, ...)   DOCTEST_TYPE_TO_STRING_AS(str, __VA_ARGS__)
 
#define TYPE_TO_STRING(...)   DOCTEST_TYPE_TO_STRING(__VA_ARGS__)
 
#define TEST_CASE_TEMPLATE(name, T, ...)   DOCTEST_TEST_CASE_TEMPLATE(name, T, __VA_ARGS__)
 
#define TEST_CASE_TEMPLATE_DEFINE(name, T, id)   DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, T, id)
 
#define TEST_CASE_TEMPLATE_INVOKE(id, ...)   DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, __VA_ARGS__)
 
#define TEST_CASE_TEMPLATE_APPLY(id, ...)   DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, __VA_ARGS__)
 
#define SUBCASE(name)   DOCTEST_SUBCASE(name)
 
#define TEST_SUITE(decorators)   DOCTEST_TEST_SUITE(decorators)
 
#define TEST_SUITE_BEGIN(name)   DOCTEST_TEST_SUITE_BEGIN(name)
 
#define TEST_SUITE_END   DOCTEST_TEST_SUITE_END
 
#define REGISTER_EXCEPTION_TRANSLATOR(signature)   DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature)
 
#define REGISTER_REPORTER(name, priority, reporter)   DOCTEST_REGISTER_REPORTER(name, priority, reporter)
 
#define REGISTER_LISTENER(name, priority, reporter)   DOCTEST_REGISTER_LISTENER(name, priority, reporter)
 
#define INFO(...)   DOCTEST_INFO(__VA_ARGS__)
 
#define CAPTURE(x)   DOCTEST_CAPTURE(x)
 
#define ADD_MESSAGE_AT(file, line, ...)   DOCTEST_ADD_MESSAGE_AT(file, line, __VA_ARGS__)
 
#define ADD_FAIL_CHECK_AT(file, line, ...)   DOCTEST_ADD_FAIL_CHECK_AT(file, line, __VA_ARGS__)
 
#define ADD_FAIL_AT(file, line, ...)   DOCTEST_ADD_FAIL_AT(file, line, __VA_ARGS__)
 
#define MESSAGE(...)   DOCTEST_MESSAGE(__VA_ARGS__)
 
#define FAIL_CHECK(...)   DOCTEST_FAIL_CHECK(__VA_ARGS__)
 
#define FAIL(...)   DOCTEST_FAIL(__VA_ARGS__)
 
#define TO_LVALUE(...)   DOCTEST_TO_LVALUE(__VA_ARGS__)
 
#define WARN(...)   DOCTEST_WARN(__VA_ARGS__)
 
#define WARN_FALSE(...)   DOCTEST_WARN_FALSE(__VA_ARGS__)
 
#define WARN_THROWS(...)   DOCTEST_WARN_THROWS(__VA_ARGS__)
 
#define WARN_THROWS_AS(expr, ...)   DOCTEST_WARN_THROWS_AS(expr, __VA_ARGS__)
 
#define WARN_THROWS_WITH(expr, ...)   DOCTEST_WARN_THROWS_WITH(expr, __VA_ARGS__)
 
#define WARN_THROWS_WITH_AS(expr, with, ...)   DOCTEST_WARN_THROWS_WITH_AS(expr, with, __VA_ARGS__)
 
#define WARN_NOTHROW(...)   DOCTEST_WARN_NOTHROW(__VA_ARGS__)
 
#define CHECK(...)   DOCTEST_CHECK(__VA_ARGS__)
 
#define CHECK_FALSE(...)   DOCTEST_CHECK_FALSE(__VA_ARGS__)
 
#define CHECK_THROWS(...)   DOCTEST_CHECK_THROWS(__VA_ARGS__)
 
#define CHECK_THROWS_AS(expr, ...)   DOCTEST_CHECK_THROWS_AS(expr, __VA_ARGS__)
 
#define CHECK_THROWS_WITH(expr, ...)   DOCTEST_CHECK_THROWS_WITH(expr, __VA_ARGS__)
 
#define CHECK_THROWS_WITH_AS(expr, with, ...)   DOCTEST_CHECK_THROWS_WITH_AS(expr, with, __VA_ARGS__)
 
#define CHECK_NOTHROW(...)   DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
 
#define REQUIRE(...)   DOCTEST_REQUIRE(__VA_ARGS__)
 
#define REQUIRE_FALSE(...)   DOCTEST_REQUIRE_FALSE(__VA_ARGS__)
 
#define REQUIRE_THROWS(...)   DOCTEST_REQUIRE_THROWS(__VA_ARGS__)
 
#define REQUIRE_THROWS_AS(expr, ...)   DOCTEST_REQUIRE_THROWS_AS(expr, __VA_ARGS__)
 
#define REQUIRE_THROWS_WITH(expr, ...)   DOCTEST_REQUIRE_THROWS_WITH(expr, __VA_ARGS__)
 
#define REQUIRE_THROWS_WITH_AS(expr, with, ...)   DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, __VA_ARGS__)
 
#define REQUIRE_NOTHROW(...)   DOCTEST_REQUIRE_NOTHROW(__VA_ARGS__)
 
#define WARN_MESSAGE(cond, ...)   DOCTEST_WARN_MESSAGE(cond, __VA_ARGS__)
 
#define WARN_FALSE_MESSAGE(cond, ...)   DOCTEST_WARN_FALSE_MESSAGE(cond, __VA_ARGS__)
 
#define WARN_THROWS_MESSAGE(expr, ...)   DOCTEST_WARN_THROWS_MESSAGE(expr, __VA_ARGS__)
 
#define WARN_THROWS_AS_MESSAGE(expr, ex, ...)   DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)
 
#define WARN_THROWS_WITH_MESSAGE(expr, with, ...)   DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)
 
#define WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...)   DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)
 
#define WARN_NOTHROW_MESSAGE(expr, ...)   DOCTEST_WARN_NOTHROW_MESSAGE(expr, __VA_ARGS__)
 
#define CHECK_MESSAGE(cond, ...)   DOCTEST_CHECK_MESSAGE(cond, __VA_ARGS__)
 
#define CHECK_FALSE_MESSAGE(cond, ...)   DOCTEST_CHECK_FALSE_MESSAGE(cond, __VA_ARGS__)
 
#define CHECK_THROWS_MESSAGE(expr, ...)   DOCTEST_CHECK_THROWS_MESSAGE(expr, __VA_ARGS__)
 
#define CHECK_THROWS_AS_MESSAGE(expr, ex, ...)   DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)
 
#define CHECK_THROWS_WITH_MESSAGE(expr, with, ...)   DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)
 
#define CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...)   DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)
 
#define CHECK_NOTHROW_MESSAGE(expr, ...)   DOCTEST_CHECK_NOTHROW_MESSAGE(expr, __VA_ARGS__)
 
#define REQUIRE_MESSAGE(cond, ...)   DOCTEST_REQUIRE_MESSAGE(cond, __VA_ARGS__)
 
#define REQUIRE_FALSE_MESSAGE(cond, ...)   DOCTEST_REQUIRE_FALSE_MESSAGE(cond, __VA_ARGS__)
 
#define REQUIRE_THROWS_MESSAGE(expr, ...)   DOCTEST_REQUIRE_THROWS_MESSAGE(expr, __VA_ARGS__)
 
#define REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...)   DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)
 
#define REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...)   DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)
 
#define REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...)   DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)
 
#define REQUIRE_NOTHROW_MESSAGE(expr, ...)   DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, __VA_ARGS__)
 
#define SCENARIO(name)   DOCTEST_SCENARIO(name)
 
#define SCENARIO_CLASS(name)   DOCTEST_SCENARIO_CLASS(name)
 
#define SCENARIO_TEMPLATE(name, T, ...)   DOCTEST_SCENARIO_TEMPLATE(name, T, __VA_ARGS__)
 
#define SCENARIO_TEMPLATE_DEFINE(name, T, id)   DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id)
 
#define GIVEN(name)   DOCTEST_GIVEN(name)
 
#define WHEN(name)   DOCTEST_WHEN(name)
 
#define AND_WHEN(name)   DOCTEST_AND_WHEN(name)
 
#define THEN(name)   DOCTEST_THEN(name)
 
#define AND_THEN(name)   DOCTEST_AND_THEN(name)
 
#define WARN_EQ(...)   DOCTEST_WARN_EQ(__VA_ARGS__)
 
#define CHECK_EQ(...)   DOCTEST_CHECK_EQ(__VA_ARGS__)
 
#define REQUIRE_EQ(...)   DOCTEST_REQUIRE_EQ(__VA_ARGS__)
 
#define WARN_NE(...)   DOCTEST_WARN_NE(__VA_ARGS__)
 
#define CHECK_NE(...)   DOCTEST_CHECK_NE(__VA_ARGS__)
 
#define REQUIRE_NE(...)   DOCTEST_REQUIRE_NE(__VA_ARGS__)
 
#define WARN_GT(...)   DOCTEST_WARN_GT(__VA_ARGS__)
 
#define CHECK_GT(...)   DOCTEST_CHECK_GT(__VA_ARGS__)
 
#define REQUIRE_GT(...)   DOCTEST_REQUIRE_GT(__VA_ARGS__)
 
#define WARN_LT(...)   DOCTEST_WARN_LT(__VA_ARGS__)
 
#define CHECK_LT(...)   DOCTEST_CHECK_LT(__VA_ARGS__)
 
#define REQUIRE_LT(...)   DOCTEST_REQUIRE_LT(__VA_ARGS__)
 
#define WARN_GE(...)   DOCTEST_WARN_GE(__VA_ARGS__)
 
#define CHECK_GE(...)   DOCTEST_CHECK_GE(__VA_ARGS__)
 
#define REQUIRE_GE(...)   DOCTEST_REQUIRE_GE(__VA_ARGS__)
 
#define WARN_LE(...)   DOCTEST_WARN_LE(__VA_ARGS__)
 
#define CHECK_LE(...)   DOCTEST_CHECK_LE(__VA_ARGS__)
 
#define REQUIRE_LE(...)   DOCTEST_REQUIRE_LE(__VA_ARGS__)
 
#define WARN_UNARY(...)   DOCTEST_WARN_UNARY(__VA_ARGS__)
 
#define CHECK_UNARY(...)   DOCTEST_CHECK_UNARY(__VA_ARGS__)
 
#define REQUIRE_UNARY(...)   DOCTEST_REQUIRE_UNARY(__VA_ARGS__)
 
#define WARN_UNARY_FALSE(...)   DOCTEST_WARN_UNARY_FALSE(__VA_ARGS__)
 
#define CHECK_UNARY_FALSE(...)   DOCTEST_CHECK_UNARY_FALSE(__VA_ARGS__)
 
#define REQUIRE_UNARY_FALSE(...)   DOCTEST_REQUIRE_UNARY_FALSE(__VA_ARGS__)
 
#define FAST_WARN_EQ(...)   DOCTEST_FAST_WARN_EQ(__VA_ARGS__)
 
#define FAST_CHECK_EQ(...)   DOCTEST_FAST_CHECK_EQ(__VA_ARGS__)
 
#define FAST_REQUIRE_EQ(...)   DOCTEST_FAST_REQUIRE_EQ(__VA_ARGS__)
 
#define FAST_WARN_NE(...)   DOCTEST_FAST_WARN_NE(__VA_ARGS__)
 
#define FAST_CHECK_NE(...)   DOCTEST_FAST_CHECK_NE(__VA_ARGS__)
 
#define FAST_REQUIRE_NE(...)   DOCTEST_FAST_REQUIRE_NE(__VA_ARGS__)
 
#define FAST_WARN_GT(...)   DOCTEST_FAST_WARN_GT(__VA_ARGS__)
 
#define FAST_CHECK_GT(...)   DOCTEST_FAST_CHECK_GT(__VA_ARGS__)
 
#define FAST_REQUIRE_GT(...)   DOCTEST_FAST_REQUIRE_GT(__VA_ARGS__)
 
#define FAST_WARN_LT(...)   DOCTEST_FAST_WARN_LT(__VA_ARGS__)
 
#define FAST_CHECK_LT(...)   DOCTEST_FAST_CHECK_LT(__VA_ARGS__)
 
#define FAST_REQUIRE_LT(...)   DOCTEST_FAST_REQUIRE_LT(__VA_ARGS__)
 
#define FAST_WARN_GE(...)   DOCTEST_FAST_WARN_GE(__VA_ARGS__)
 
#define FAST_CHECK_GE(...)   DOCTEST_FAST_CHECK_GE(__VA_ARGS__)
 
#define FAST_REQUIRE_GE(...)   DOCTEST_FAST_REQUIRE_GE(__VA_ARGS__)
 
#define FAST_WARN_LE(...)   DOCTEST_FAST_WARN_LE(__VA_ARGS__)
 
#define FAST_CHECK_LE(...)   DOCTEST_FAST_CHECK_LE(__VA_ARGS__)
 
#define FAST_REQUIRE_LE(...)   DOCTEST_FAST_REQUIRE_LE(__VA_ARGS__)
 
#define FAST_WARN_UNARY(...)   DOCTEST_FAST_WARN_UNARY(__VA_ARGS__)
 
#define FAST_CHECK_UNARY(...)   DOCTEST_FAST_CHECK_UNARY(__VA_ARGS__)
 
#define FAST_REQUIRE_UNARY(...)   DOCTEST_FAST_REQUIRE_UNARY(__VA_ARGS__)
 
#define FAST_WARN_UNARY_FALSE(...)   DOCTEST_FAST_WARN_UNARY_FALSE(__VA_ARGS__)
 
#define FAST_CHECK_UNARY_FALSE(...)   DOCTEST_FAST_CHECK_UNARY_FALSE(__VA_ARGS__)
 
#define FAST_REQUIRE_UNARY_FALSE(...)   DOCTEST_FAST_REQUIRE_UNARY_FALSE(__VA_ARGS__)
 
#define TEST_CASE_TEMPLATE_INSTANTIATE(id, ...)   DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, __VA_ARGS__)
 
#define DOCTEST_SINGLE_HEADER
 

Typedefs

typedef basic_ostream< char, char_traits< char > > std::ostream
 
typedef basic_istream< char, char_traits< char > > std::istream
 
using doctest::detail::funcType = void(*)()
 
using doctest::detail::assert_handler = void(*)(const AssertData &)
 
using doctest::detail::reporterCreatorFunc = IReporter *(*)(const ContextOptions &)
 
using DOCTEST_ANON_FOR_SEMICOLON___LINE__ = int()
 

Enumerations

enum  doctest::Color::Enum {
  doctest::Color::None = 0 , doctest::Color::White , doctest::Color::Red , doctest::Color::Green ,
  doctest::Color::Blue , doctest::Color::Cyan , doctest::Color::Yellow , doctest::Color::Grey ,
  doctest::Color::Bright = 0x10 , doctest::Color::BrightRed = Bright | Red , doctest::Color::BrightGreen = Bright | Green , doctest::Color::LightGrey = Bright | Grey ,
  doctest::Color::BrightWhite = Bright | White
}
 
enum  doctest::assertType::Enum {
  doctest::assertType::is_warn = 1 , doctest::assertType::is_check = 2 * is_warn , doctest::assertType::is_require = 2 * is_check , doctest::assertType::is_normal = 2 * is_require ,
  doctest::assertType::is_throws = 2 * is_normal , doctest::assertType::is_throws_as = 2 * is_throws , doctest::assertType::is_throws_with = 2 * is_throws_as , doctest::assertType::is_nothrow = 2 * is_throws_with ,
  doctest::assertType::is_false = 2 * is_nothrow , doctest::assertType::is_unary = 2 * is_false , doctest::assertType::is_eq = 2 * is_unary , doctest::assertType::is_ne = 2 * is_eq ,
  doctest::assertType::is_lt = 2 * is_ne , doctest::assertType::is_gt = 2 * is_lt , doctest::assertType::is_ge = 2 * is_gt , doctest::assertType::is_le = 2 * is_ge ,
  doctest::assertType::DT_WARN = is_normal | is_warn , doctest::assertType::DT_CHECK = is_normal | is_check , doctest::assertType::DT_REQUIRE = is_normal | is_require , doctest::assertType::DT_WARN_FALSE = is_normal | is_false | is_warn ,
  doctest::assertType::DT_CHECK_FALSE = is_normal | is_false | is_check , doctest::assertType::DT_REQUIRE_FALSE = is_normal | is_false | is_require , doctest::assertType::DT_WARN_THROWS = is_throws | is_warn , doctest::assertType::DT_CHECK_THROWS = is_throws | is_check ,
  doctest::assertType::DT_REQUIRE_THROWS = is_throws | is_require , doctest::assertType::DT_WARN_THROWS_AS = is_throws_as | is_warn , doctest::assertType::DT_CHECK_THROWS_AS = is_throws_as | is_check , doctest::assertType::DT_REQUIRE_THROWS_AS = is_throws_as | is_require ,
  doctest::assertType::DT_WARN_THROWS_WITH = is_throws_with | is_warn , doctest::assertType::DT_CHECK_THROWS_WITH = is_throws_with | is_check , doctest::assertType::DT_REQUIRE_THROWS_WITH = is_throws_with | is_require , doctest::assertType::DT_WARN_THROWS_WITH_AS = is_throws_with | is_throws_as | is_warn ,
  doctest::assertType::DT_CHECK_THROWS_WITH_AS = is_throws_with | is_throws_as | is_check , doctest::assertType::DT_REQUIRE_THROWS_WITH_AS = is_throws_with | is_throws_as | is_require , doctest::assertType::DT_WARN_NOTHROW = is_nothrow | is_warn , doctest::assertType::DT_CHECK_NOTHROW = is_nothrow | is_check ,
  doctest::assertType::DT_REQUIRE_NOTHROW = is_nothrow | is_require , doctest::assertType::DT_WARN_EQ = is_normal | is_eq | is_warn , doctest::assertType::DT_CHECK_EQ = is_normal | is_eq | is_check , doctest::assertType::DT_REQUIRE_EQ = is_normal | is_eq | is_require ,
  doctest::assertType::DT_WARN_NE = is_normal | is_ne | is_warn , doctest::assertType::DT_CHECK_NE = is_normal | is_ne | is_check , doctest::assertType::DT_REQUIRE_NE = is_normal | is_ne | is_require , doctest::assertType::DT_WARN_GT = is_normal | is_gt | is_warn ,
  doctest::assertType::DT_CHECK_GT = is_normal | is_gt | is_check , doctest::assertType::DT_REQUIRE_GT = is_normal | is_gt | is_require , doctest::assertType::DT_WARN_LT = is_normal | is_lt | is_warn , doctest::assertType::DT_CHECK_LT = is_normal | is_lt | is_check ,
  doctest::assertType::DT_REQUIRE_LT = is_normal | is_lt | is_require , doctest::assertType::DT_WARN_GE = is_normal | is_ge | is_warn , doctest::assertType::DT_CHECK_GE = is_normal | is_ge | is_check , doctest::assertType::DT_REQUIRE_GE = is_normal | is_ge | is_require ,
  doctest::assertType::DT_WARN_LE = is_normal | is_le | is_warn , doctest::assertType::DT_CHECK_LE = is_normal | is_le | is_check , doctest::assertType::DT_REQUIRE_LE = is_normal | is_le | is_require , doctest::assertType::DT_WARN_UNARY = is_normal | is_unary | is_warn ,
  doctest::assertType::DT_CHECK_UNARY = is_normal | is_unary | is_check , doctest::assertType::DT_REQUIRE_UNARY = is_normal | is_unary | is_require , doctest::assertType::DT_WARN_UNARY_FALSE = is_normal | is_false | is_unary | is_warn , doctest::assertType::DT_CHECK_UNARY_FALSE = is_normal | is_false | is_unary | is_check ,
  doctest::assertType::DT_REQUIRE_UNARY_FALSE = is_normal | is_false | is_unary | is_require
}
 
enum  doctest::detail::binaryAssertComparison::Enum {
  doctest::detail::binaryAssertComparison::eq = 0 , doctest::detail::binaryAssertComparison::ne , doctest::detail::binaryAssertComparison::gt , doctest::detail::binaryAssertComparison::lt ,
  doctest::detail::binaryAssertComparison::ge , doctest::detail::binaryAssertComparison::le
}
 
enum  doctest::detail::assertAction::Enum { doctest::detail::assertAction::nothing = 0 , doctest::detail::assertAction::dbgbreak = 1 , doctest::detail::assertAction::shouldthrow = 2 }
 
enum  doctest::TestCaseFailureReason::Enum {
  doctest::TestCaseFailureReason::None = 0 , doctest::TestCaseFailureReason::AssertFailure = 1 , doctest::TestCaseFailureReason::Exception = 2 , doctest::TestCaseFailureReason::Crash = 4 ,
  doctest::TestCaseFailureReason::TooManyFailedAsserts = 8 , doctest::TestCaseFailureReason::Timeout = 16 , doctest::TestCaseFailureReason::ShouldHaveFailedButDidnt = 32 , doctest::TestCaseFailureReason::ShouldHaveFailedAndDid = 64 ,
  doctest::TestCaseFailureReason::DidntFailExactlyNumTimes = 128 , doctest::TestCaseFailureReason::FailedExactlyNumTimes = 256 , doctest::TestCaseFailureReason::CouldHaveFailedAndDid = 512
}
 

Functions

static constexpr int doctest::detail::consume (const int *, int) noexcept
 
template<class traits >
basic_ostream< char, traits > & std::operator<< (basic_ostream< char, traits > &, const char *)
 
String doctest::operator+ (const String &lhs, const String &rhs)
 
bool doctest::operator== (const String &lhs, const String &rhs)
 
bool doctest::operator!= (const String &lhs, const String &rhs)
 
bool doctest::operator< (const String &lhs, const String &rhs)
 
bool doctest::operator> (const String &lhs, const String &rhs)
 
bool doctest::operator<= (const String &lhs, const String &rhs)
 
bool doctest::operator>= (const String &lhs, const String &rhs)
 
String doctest::toString (const Contains &in)
 
bool doctest::operator== (const String &lhs, const Contains &rhs)
 
bool doctest::operator== (const Contains &lhs, const String &rhs)
 
bool doctest::operator!= (const String &lhs, const Contains &rhs)
 
bool doctest::operator!= (const Contains &lhs, const String &rhs)
 
std::ostreamdoctest::Color::operator<< (std::ostream &s, Color::Enum code)
 
const char * doctest::assertString (assertType::Enum at)
 
const char * doctest::failureString (assertType::Enum at)
 
const char * doctest::skipPathFromFilename (const char *file)
 
template<typename T >
T && doctest::detail::declval ()
 
template<class T >
constexpr T && doctest::detail::forward (typename types::remove_reference< T >::type &t) noexcept
 
template<class T >
constexpr T && doctest::detail::forward (typename types::remove_reference< T >::type &&t) noexcept
 
std::ostreamdoctest::detail::tlssPush ()
 
String doctest::detail::tlssPop ()
 
template<typename T >
void doctest::detail::filloss (std::ostream *stream, const T &in)
 
template<typename T , size_t N>
void doctest::detail::filloss (std::ostream *stream, const T(&in)[N])
 
template<typename T >
String doctest::detail::toStream (const T &in)
 
template<typename T >
String doctest::toString ()
 
template<typename T , typename detail::types::enable_if<!detail::should_stringify_as_underlying_type< T >::value, bool >::type = true>
String doctest::toString (const T &value)
 
String doctest::toString (String in)
 
String doctest::toString (std::nullptr_t)
 
String doctest::toString (bool in)
 
String doctest::toString (float in)
 
String doctest::toString (double in)
 
String doctest::toString (double long in)
 
String doctest::toString (char in)
 
String doctest::toString (char signed in)
 
String doctest::toString (char unsigned in)
 
String doctest::toString (short in)
 
String doctest::toString (short unsigned in)
 
String doctest::toString (signed in)
 
String doctest::toString (unsigned in)
 
String doctest::toString (long in)
 
String doctest::toString (long unsigned in)
 
String doctest::toString (long long in)
 
String doctest::toString (long long unsigned in)
 
String doctest::toString (const Approx &in)
 
const ContextOptions * doctest::getContextOptions ()
 
String doctest::toString (IsNaN< float > in)
 
String doctest::toString (IsNaN< double > in)
 
String doctest::toString (IsNaN< double long > in)
 
bool doctest::detail::checkIfShouldThrow (assertType::Enum at)
 
void doctest::detail::throwException ()
 
template<typename L , typename R >
String doctest::detail::stringifyBinaryExpr (const L &lhs, const char *op, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::eq (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::ne (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::lt (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::gt (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::le (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::ge (const L &lhs, const R &rhs)
 
int doctest::detail::regTest (const TestCase &tc)
 
int doctest::detail::setTestSuite (const TestSuite &ts)
 
bool doctest::detail::isDebuggerActive ()
 
template<typename T >
int doctest::detail::instantiationHelper (const T &)
 
void doctest::detail::failed_out_of_a_testing_context (const AssertData &ad)
 
bool doctest::detail::decomp_assert (assertType::Enum at, const char *file, int line, const char *expr, const Result &result)
 
template<int comparison, typename L , typename R >
 doctest::detail::__attribute__ ((noinline)) bool binary_assert(assertType
 
template<typename L >
 doctest::detail::__attribute__ ((noinline)) bool unary_assert(assertType
 
void doctest::detail::registerExceptionTranslatorImpl (const IExceptionTranslator *et)
 
template<typename L >
ContextScope< L > doctest::detail::MakeContextScope (const L &lambda)
 
template<typename T >
int doctest::registerExceptionTranslator (String(*translateFunction)(T))
 
doctest::detail::TestSuitedoctest_detail_test_suite_ns::getCurrentTestSuite ()
 
void doctest::detail::registerReporterImpl (const char *name, int prio, reporterCreatorFunc c, bool isReporter)
 
template<typename Reporter >
IReporter * doctest::detail::reporterCreator (const ContextOptions &o)
 
template<typename Reporter >
int doctest::registerReporter (const char *name, int priority, bool isReporter)
 

Variables

decltype(nullptr) typedef std::nullptr_t
 
decltype(sizeof(void *)) typede std::size_t )
 
bool doctest::is_running_in_test
 
static const int DOCTEST_ANON_VAR___LINE__ = doctest::detail::consume(& DOCTEST_ANON_VAR___LINE__ , doctest::detail::setTestSuite(doctest::detail::TestSuite() * "") )
 

Macro Definition Documentation

◆ ADD_FAIL_AT

#define ADD_FAIL_AT (   file,
  line,
  ... 
)    DOCTEST_ADD_FAIL_AT(file, line, __VA_ARGS__)

◆ ADD_FAIL_CHECK_AT

#define ADD_FAIL_CHECK_AT (   file,
  line,
  ... 
)    DOCTEST_ADD_FAIL_CHECK_AT(file, line, __VA_ARGS__)

◆ ADD_MESSAGE_AT

#define ADD_MESSAGE_AT (   file,
  line,
  ... 
)    DOCTEST_ADD_MESSAGE_AT(file, line, __VA_ARGS__)

◆ AND_THEN

#define AND_THEN (   name)    DOCTEST_AND_THEN(name)

◆ AND_WHEN

#define AND_WHEN (   name)    DOCTEST_AND_WHEN(name)

◆ CAPTURE

#define CAPTURE (   x)    DOCTEST_CAPTURE(x)

◆ CHECK

#define CHECK (   ...)    DOCTEST_CHECK(__VA_ARGS__)

◆ CHECK_EQ

#define CHECK_EQ (   ...)    DOCTEST_CHECK_EQ(__VA_ARGS__)

◆ CHECK_FALSE

#define CHECK_FALSE (   ...)    DOCTEST_CHECK_FALSE(__VA_ARGS__)

◆ CHECK_FALSE_MESSAGE

#define CHECK_FALSE_MESSAGE (   cond,
  ... 
)    DOCTEST_CHECK_FALSE_MESSAGE(cond, __VA_ARGS__)

◆ CHECK_GE

#define CHECK_GE (   ...)    DOCTEST_CHECK_GE(__VA_ARGS__)

◆ CHECK_GT

#define CHECK_GT (   ...)    DOCTEST_CHECK_GT(__VA_ARGS__)

◆ CHECK_LE

#define CHECK_LE (   ...)    DOCTEST_CHECK_LE(__VA_ARGS__)

◆ CHECK_LT

#define CHECK_LT (   ...)    DOCTEST_CHECK_LT(__VA_ARGS__)

◆ CHECK_MESSAGE

#define CHECK_MESSAGE (   cond,
  ... 
)    DOCTEST_CHECK_MESSAGE(cond, __VA_ARGS__)

◆ CHECK_NE

#define CHECK_NE (   ...)    DOCTEST_CHECK_NE(__VA_ARGS__)

◆ CHECK_NOTHROW

#define CHECK_NOTHROW (   ...)    DOCTEST_CHECK_NOTHROW(__VA_ARGS__)

◆ CHECK_NOTHROW_MESSAGE

#define CHECK_NOTHROW_MESSAGE (   expr,
  ... 
)    DOCTEST_CHECK_NOTHROW_MESSAGE(expr, __VA_ARGS__)

◆ CHECK_THROWS

#define CHECK_THROWS (   ...)    DOCTEST_CHECK_THROWS(__VA_ARGS__)

◆ CHECK_THROWS_AS

#define CHECK_THROWS_AS (   expr,
  ... 
)    DOCTEST_CHECK_THROWS_AS(expr, __VA_ARGS__)

◆ CHECK_THROWS_AS_MESSAGE

#define CHECK_THROWS_AS_MESSAGE (   expr,
  ex,
  ... 
)    DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)

◆ CHECK_THROWS_MESSAGE

#define CHECK_THROWS_MESSAGE (   expr,
  ... 
)    DOCTEST_CHECK_THROWS_MESSAGE(expr, __VA_ARGS__)

◆ CHECK_THROWS_WITH

#define CHECK_THROWS_WITH (   expr,
  ... 
)    DOCTEST_CHECK_THROWS_WITH(expr, __VA_ARGS__)

◆ CHECK_THROWS_WITH_AS

#define CHECK_THROWS_WITH_AS (   expr,
  with,
  ... 
)    DOCTEST_CHECK_THROWS_WITH_AS(expr, with, __VA_ARGS__)

◆ CHECK_THROWS_WITH_AS_MESSAGE

#define CHECK_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  ... 
)    DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)

◆ CHECK_THROWS_WITH_MESSAGE

#define CHECK_THROWS_WITH_MESSAGE (   expr,
  with,
  ... 
)    DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)

◆ CHECK_UNARY

#define CHECK_UNARY (   ...)    DOCTEST_CHECK_UNARY(__VA_ARGS__)

◆ CHECK_UNARY_FALSE

#define CHECK_UNARY_FALSE (   ...)    DOCTEST_CHECK_UNARY_FALSE(__VA_ARGS__)

◆ DOCTEST_ADD_AT_IMPL

#define DOCTEST_ADD_AT_IMPL (   type,
  file,
  line,
  mb,
  ... 
)
Value:
doctest::detail::MessageBuilder mb(file, line, doctest::assertType::type); \
mb * __VA_ARGS__; \
if(mb.log()) \
DOCTEST_BREAK_INTO_DEBUGGER(); \
mb.react(); \
#define DOCTEST_FUNC_SCOPE_BEGIN
Definition: doctest.h:2131
#define DOCTEST_FUNC_SCOPE_END
Definition: doctest.h:2132

◆ DOCTEST_ADD_FAIL_AT

#define DOCTEST_ADD_FAIL_AT (   file,
  line,
  ... 
)    DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)

◆ DOCTEST_ADD_FAIL_CHECK_AT

#define DOCTEST_ADD_FAIL_CHECK_AT (   file,
  line,
  ... 
)    DOCTEST_ADD_AT_IMPL(is_check, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)

◆ DOCTEST_ADD_MESSAGE_AT

#define DOCTEST_ADD_MESSAGE_AT (   file,
  line,
  ... 
)    DOCTEST_ADD_AT_IMPL(is_warn, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)

◆ DOCTEST_ALIGNMENT

#define DOCTEST_ALIGNMENT (   x)    __attribute__((aligned(x)))

◆ DOCTEST_AND_THEN

#define DOCTEST_AND_THEN (   name)    DOCTEST_SUBCASE(" And: " name)

◆ DOCTEST_AND_WHEN

#define DOCTEST_AND_WHEN (   name)    DOCTEST_SUBCASE("And when: " name)

◆ DOCTEST_ANONYMOUS

#define DOCTEST_ANONYMOUS (   x)    DOCTEST_CAT(x, __LINE__)

◆ DOCTEST_ASSERT_IMPLEMENT_1

#define DOCTEST_ASSERT_IMPLEMENT_1 (   assert_type,
  ... 
)
Value:
DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__); \

◆ DOCTEST_ASSERT_IMPLEMENT_2

#define DOCTEST_ASSERT_IMPLEMENT_2 (   assert_type,
  ... 
)
Value:
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses") \
/* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \
doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #__VA_ARGS__); \
DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult( \
doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \
<< __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \
DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB) \
DOCTEST_CLANG_SUPPRESS_WARNING_POP
#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w)
Definition: doctest.h:126
Definition: doctest.h:1572

◆ DOCTEST_ASSERT_IN_TESTS

#define DOCTEST_ASSERT_IN_TESTS (   decomp)
Value:
ResultBuilder rb(at, file, line, expr); \
rb.m_failed = failed; \
if(rb.m_failed || getContextOptions()->success) \
rb.m_decomp = decomp; \
if(rb.log()) \
DOCTEST_BREAK_INTO_DEBUGGER(); \
if(rb.m_failed && checkIfShouldThrow(at)) \
throwException()
bool checkIfShouldThrow(assertType::Enum at)
const ContextOptions * getContextOptions()

◆ DOCTEST_ASSERT_LOG_REACT_RETURN

#define DOCTEST_ASSERT_LOG_REACT_RETURN (   b)
Value:
if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER(); \
b.react(); \
DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
#define DOCTEST_BREAK_INTO_DEBUGGER()
Definition: doctest.h:463

◆ DOCTEST_ASSERT_OUT_OF_TESTS

#define DOCTEST_ASSERT_OUT_OF_TESTS (   decomp)
Value:
do { \
if(failed) { \
ResultBuilder rb(at, file, line, expr); \
rb.m_failed = failed; \
rb.m_decomp = decomp; \
failed_out_of_a_testing_context(rb); \
if(isDebuggerActive() && !getContextOptions()->no_breaks) \
DOCTEST_BREAK_INTO_DEBUGGER(); \
throwException(); \
} \
return !failed; \
} \
} while(false)
bool isDebuggerActive()
bool is_running_in_test

◆ DOCTEST_BINARY_ASSERT

#define DOCTEST_BINARY_ASSERT (   assert_type,
  comp,
  ... 
)
Value:
doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #__VA_ARGS__); \
DOCTEST_WRAP_IN_TRY( \
DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>( \
__VA_ARGS__)) \
DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \

◆ DOCTEST_BINARY_RELATIONAL_OP

#define DOCTEST_BINARY_RELATIONAL_OP (   n,
  op 
)     template <class L, class R> struct RelationalComparator<n, L, R> { bool operator()(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) const { return op(lhs, rhs); } };

◆ DOCTEST_BREAK_INTO_DEBUGGER

#define DOCTEST_BREAK_INTO_DEBUGGER ( )    raise(SIGTRAP)

◆ DOCTEST_CAPTURE

#define DOCTEST_CAPTURE (   x)    DOCTEST_INFO(#x " := ", x)

◆ DOCTEST_CAST_TO_VOID

#define DOCTEST_CAST_TO_VOID (   ...)    __VA_ARGS__;

◆ DOCTEST_CAT

#define DOCTEST_CAT (   s1,
  s2 
)    DOCTEST_CAT_IMPL(s1, s2)

◆ DOCTEST_CAT_IMPL

#define DOCTEST_CAT_IMPL (   s1,
  s2 
)    s1##s2

◆ DOCTEST_CHECK

#define DOCTEST_CHECK (   ...)    DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)

◆ DOCTEST_CHECK_EQ

#define DOCTEST_CHECK_EQ (   ...)    DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)

◆ DOCTEST_CHECK_FALSE

#define DOCTEST_CHECK_FALSE (   ...)    DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__)

◆ DOCTEST_CHECK_FALSE_MESSAGE

#define DOCTEST_CHECK_FALSE_MESSAGE (   cond,
  ... 
)    DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } DOCTEST_FUNC_SCOPE_END

◆ DOCTEST_CHECK_GE

#define DOCTEST_CHECK_GE (   ...)    DOCTEST_BINARY_ASSERT(DT_CHECK_GE, ge, __VA_ARGS__)

◆ DOCTEST_CHECK_GT

#define DOCTEST_CHECK_GT (   ...)    DOCTEST_BINARY_ASSERT(DT_CHECK_GT, gt, __VA_ARGS__)

◆ DOCTEST_CHECK_LE

#define DOCTEST_CHECK_LE (   ...)    DOCTEST_BINARY_ASSERT(DT_CHECK_LE, le, __VA_ARGS__)

◆ DOCTEST_CHECK_LT

#define DOCTEST_CHECK_LT (   ...)    DOCTEST_BINARY_ASSERT(DT_CHECK_LT, lt, __VA_ARGS__)

◆ DOCTEST_CHECK_MESSAGE

#define DOCTEST_CHECK_MESSAGE (   cond,
  ... 
)    DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } DOCTEST_FUNC_SCOPE_END

◆ DOCTEST_CHECK_NE

#define DOCTEST_CHECK_NE (   ...)    DOCTEST_BINARY_ASSERT(DT_CHECK_NE, ne, __VA_ARGS__)

◆ DOCTEST_CHECK_NOTHROW

#define DOCTEST_CHECK_NOTHROW (   ...)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_NOTHROW_MESSAGE

#define DOCTEST_CHECK_NOTHROW_MESSAGE (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS

#define DOCTEST_CHECK_THROWS (   ...)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS_AS

#define DOCTEST_CHECK_THROWS_AS (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS_AS_MESSAGE

#define DOCTEST_CHECK_THROWS_AS_MESSAGE (   expr,
  ex,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS_MESSAGE

#define DOCTEST_CHECK_THROWS_MESSAGE (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS_WITH

#define DOCTEST_CHECK_THROWS_WITH (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS_WITH_AS

#define DOCTEST_CHECK_THROWS_WITH_AS (   expr,
  with,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE

#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_THROWS_WITH_MESSAGE

#define DOCTEST_CHECK_THROWS_WITH_MESSAGE (   expr,
  with,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_CHECK_UNARY

#define DOCTEST_CHECK_UNARY (   ...)    DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY, __VA_ARGS__)

◆ DOCTEST_CHECK_UNARY_FALSE

#define DOCTEST_CHECK_UNARY_FALSE (   ...)    DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY_FALSE, __VA_ARGS__)

◆ DOCTEST_CLANG

#define DOCTEST_CLANG   0

◆ DOCTEST_CLANG_SUPPRESS_WARNING

#define DOCTEST_CLANG_SUPPRESS_WARNING (   w)

◆ DOCTEST_CLANG_SUPPRESS_WARNING_POP

#define DOCTEST_CLANG_SUPPRESS_WARNING_POP

◆ DOCTEST_CLANG_SUPPRESS_WARNING_PUSH

#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH

◆ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH

#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH (   w)

◆ DOCTEST_CMP_EQ

#define DOCTEST_CMP_EQ (   l,
 
)    l == r

◆ DOCTEST_CMP_GE

#define DOCTEST_CMP_GE (   l,
 
)    l >= r

◆ DOCTEST_CMP_GT

#define DOCTEST_CMP_GT (   l,
 
)    l > r

◆ DOCTEST_CMP_LE

#define DOCTEST_CMP_LE (   l,
 
)    l <= r

◆ DOCTEST_CMP_LT

#define DOCTEST_CMP_LT (   l,
 
)    l < r

◆ DOCTEST_CMP_NE

#define DOCTEST_CMP_NE (   l,
 
)    l != r

◆ DOCTEST_COMPARISON_RETURN_TYPE

#define DOCTEST_COMPARISON_RETURN_TYPE   bool

◆ DOCTEST_COMPILER

#define DOCTEST_COMPILER (   MAJOR,
  MINOR,
  PATCH 
)    ((MAJOR)*10000000 + (MINOR)*100000 + (PATCH))

◆ DOCTEST_CONFIG_NO_EXCEPTIONS

#define DOCTEST_CONFIG_NO_EXCEPTIONS

◆ DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS

#define DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS

◆ DOCTEST_CONFIG_POSIX_SIGNALS

#define DOCTEST_CONFIG_POSIX_SIGNALS

◆ DOCTEST_CONFIG_STRING_SIZE_TYPE

#define DOCTEST_CONFIG_STRING_SIZE_TYPE   unsigned

◆ DOCTEST_CONSTEXPR

#define DOCTEST_CONSTEXPR   constexpr

◆ DOCTEST_CONSTEXPR_FUNC

#define DOCTEST_CONSTEXPR_FUNC   constexpr

◆ DOCTEST_CPLUSPLUS

#define DOCTEST_CPLUSPLUS   __cplusplus

◆ DOCTEST_CREATE_AND_REGISTER_FUNCTION

#define DOCTEST_CREATE_AND_REGISTER_FUNCTION (   f,
  decorators 
)
Value:
static void f(); \
DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, f, decorators) \
static void f()
#define DOCTEST_EMPTY
Definition: doctest.h:347

◆ DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS

#define DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS (   f,
  proxy,
  decorators 
)
Value:
static doctest::detail::funcType proxy() { return f; } \
DOCTEST_REGISTER_FUNCTION(inline, proxy(), decorators) \
static void f()
void(*)() funcType
Definition: doctest.h:1613

◆ DOCTEST_DECLARE_INTERFACE

#define DOCTEST_DECLARE_INTERFACE (   name)
Value:
virtual ~name(); \
name() = default; \
name(const name&) = delete; \
name(name&&) = delete; \
name& operator=(const name&) = delete; \
name& operator=(name&&) = delete;

◆ DOCTEST_DEFINE_DECORATOR

#define DOCTEST_DEFINE_DECORATOR (   name,
  type,
  def 
)
Value:
struct name \
{ \
type data; \
name(type in = def) \
: data(in) {} \
void fill(detail::TestCase& state) const { state.DOCTEST_CAT(m_, name) = data; } \
void fill(detail::TestSuite& state) const { state.DOCTEST_CAT(m_, name) = data; } \
}

◆ DOCTEST_DEFINE_INTERFACE

#define DOCTEST_DEFINE_INTERFACE (   name)     name::~name() = default;

◆ DOCTEST_DO_BINARY_EXPRESSION_COMPARISON

#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON (   op,
  op_str,
  op_macro 
)
Value:
template <typename R> \
DOCTEST_NOINLINE SFINAE_OP(Result,op) operator op(R&& rhs) { \
bool res = op_macro(doctest::detail::forward<const L>(lhs), doctest::detail::forward<R>(rhs)); \
if(m_at & assertType::is_false) \
res = !res; \
if(!res || doctest::getContextOptions()->success) \
return Result(res, stringifyBinaryExpr(lhs, op_str, rhs)); \
return Result(res); \
}
#define SFINAE_OP(ret, op)
Definition: doctest.h:1371
@ is_false
Definition: doctest.h:728
String stringifyBinaryExpr(const L &lhs, const char *op, const R &rhs)
Definition: doctest.h:1355

◆ DOCTEST_EMPTY

#define DOCTEST_EMPTY

◆ DOCTEST_EXCEPTION_EMPTY_FUNC

#define DOCTEST_EXCEPTION_EMPTY_FUNC
Value:
[] { static_assert(false, "Exceptions are disabled! " \
"Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled."); return false; }()

◆ DOCTEST_FAIL

#define DOCTEST_FAIL (   ...)    DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, __VA_ARGS__)

◆ DOCTEST_FAIL_CHECK

#define DOCTEST_FAIL_CHECK (   ...)    DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, __VA_ARGS__)

◆ DOCTEST_FAST_CHECK_EQ

#define DOCTEST_FAST_CHECK_EQ   DOCTEST_CHECK_EQ

◆ DOCTEST_FAST_CHECK_GE

#define DOCTEST_FAST_CHECK_GE   DOCTEST_CHECK_GE

◆ DOCTEST_FAST_CHECK_GT

#define DOCTEST_FAST_CHECK_GT   DOCTEST_CHECK_GT

◆ DOCTEST_FAST_CHECK_LE

#define DOCTEST_FAST_CHECK_LE   DOCTEST_CHECK_LE

◆ DOCTEST_FAST_CHECK_LT

#define DOCTEST_FAST_CHECK_LT   DOCTEST_CHECK_LT

◆ DOCTEST_FAST_CHECK_NE

#define DOCTEST_FAST_CHECK_NE   DOCTEST_CHECK_NE

◆ DOCTEST_FAST_CHECK_UNARY

#define DOCTEST_FAST_CHECK_UNARY   DOCTEST_CHECK_UNARY

◆ DOCTEST_FAST_CHECK_UNARY_FALSE

#define DOCTEST_FAST_CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE

◆ DOCTEST_FAST_REQUIRE_EQ

#define DOCTEST_FAST_REQUIRE_EQ   DOCTEST_REQUIRE_EQ

◆ DOCTEST_FAST_REQUIRE_GE

#define DOCTEST_FAST_REQUIRE_GE   DOCTEST_REQUIRE_GE

◆ DOCTEST_FAST_REQUIRE_GT

#define DOCTEST_FAST_REQUIRE_GT   DOCTEST_REQUIRE_GT

◆ DOCTEST_FAST_REQUIRE_LE

#define DOCTEST_FAST_REQUIRE_LE   DOCTEST_REQUIRE_LE

◆ DOCTEST_FAST_REQUIRE_LT

#define DOCTEST_FAST_REQUIRE_LT   DOCTEST_REQUIRE_LT

◆ DOCTEST_FAST_REQUIRE_NE

#define DOCTEST_FAST_REQUIRE_NE   DOCTEST_REQUIRE_NE

◆ DOCTEST_FAST_REQUIRE_UNARY

#define DOCTEST_FAST_REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY

◆ DOCTEST_FAST_REQUIRE_UNARY_FALSE

#define DOCTEST_FAST_REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE

◆ DOCTEST_FAST_WARN_EQ

#define DOCTEST_FAST_WARN_EQ   DOCTEST_WARN_EQ

◆ DOCTEST_FAST_WARN_GE

#define DOCTEST_FAST_WARN_GE   DOCTEST_WARN_GE

◆ DOCTEST_FAST_WARN_GT

#define DOCTEST_FAST_WARN_GT   DOCTEST_WARN_GT

◆ DOCTEST_FAST_WARN_LE

#define DOCTEST_FAST_WARN_LE   DOCTEST_WARN_LE

◆ DOCTEST_FAST_WARN_LT

#define DOCTEST_FAST_WARN_LT   DOCTEST_WARN_LT

◆ DOCTEST_FAST_WARN_NE

#define DOCTEST_FAST_WARN_NE   DOCTEST_WARN_NE

◆ DOCTEST_FAST_WARN_UNARY

#define DOCTEST_FAST_WARN_UNARY   DOCTEST_WARN_UNARY

◆ DOCTEST_FAST_WARN_UNARY_FALSE

#define DOCTEST_FAST_WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE

◆ DOCTEST_FORBIT_EXPRESSION

#define DOCTEST_FORBIT_EXPRESSION (   rt,
  op 
)
Value:
template <typename R> \
rt& operator op(const R&) { \
static_assert(deferred_false<R>::value, \
"Expression Too Complex Please Rewrite As Binary Comparison!"); \
return *this; \
}

◆ DOCTEST_FUNC_EMPTY

#define DOCTEST_FUNC_EMPTY   (void)0

◆ DOCTEST_FUNC_SCOPE_BEGIN

#define DOCTEST_FUNC_SCOPE_BEGIN   do

◆ DOCTEST_FUNC_SCOPE_END

#define DOCTEST_FUNC_SCOPE_END   while(false)

◆ DOCTEST_FUNC_SCOPE_RET

#define DOCTEST_FUNC_SCOPE_RET (   v)    (void)0

◆ DOCTEST_GCC

#define DOCTEST_GCC   0

◆ DOCTEST_GCC_SUPPRESS_WARNING

#define DOCTEST_GCC_SUPPRESS_WARNING (   w)

◆ DOCTEST_GCC_SUPPRESS_WARNING_POP

#define DOCTEST_GCC_SUPPRESS_WARNING_POP

◆ DOCTEST_GCC_SUPPRESS_WARNING_PUSH

#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH

◆ DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH

#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH (   w)

◆ DOCTEST_GIVEN

#define DOCTEST_GIVEN (   name)    DOCTEST_SUBCASE(" Given: " name)

◆ DOCTEST_GLOBAL_NO_WARNINGS

#define DOCTEST_GLOBAL_NO_WARNINGS (   var,
  ... 
)
Value:
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") \
static const int var = doctest::detail::consume(&var, __VA_ARGS__); \
DOCTEST_CLANG_SUPPRESS_WARNING_POP
static constexpr int consume(const int *, int) noexcept
Definition: doctest.h:447

◆ DOCTEST_ICC

#define DOCTEST_ICC   0

◆ DOCTEST_IMPLEMENT_FIXTURE

#define DOCTEST_IMPLEMENT_FIXTURE (   der,
  base,
  func,
  decorators 
)
Value:
namespace { /* NOLINT */ \
struct der : public base \
{ \
void f(); \
}; \
static DOCTEST_INLINE_NOINLINE void func() { \
der v; \
v.f(); \
} \
DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, func, decorators) \
} \
DOCTEST_INLINE_NOINLINE void der::f()
#define DOCTEST_INLINE_NOINLINE
Definition: doctest.h:366

◆ DOCTEST_INFO

#define DOCTEST_INFO (   ...)
Value:
DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_), \
DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_), \
__VA_ARGS__)
#define DOCTEST_INFO_IMPL(mb_name, s_name,...)
Definition: doctest.h:2351
#define DOCTEST_ANONYMOUS(x)
Definition: doctest.h:424

◆ DOCTEST_INFO_IMPL

#define DOCTEST_INFO_IMPL (   mb_name,
  s_name,
  ... 
)
Value:
[&](std::ostream* s_name) { \
doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \
mb_name.m_stream = s_name; \
mb_name * __VA_ARGS__; \
})
Definition: doctest.h:530
@ is_warn
Definition: doctest.h:718
ContextScope< L > MakeContextScope(const L &lambda)
Definition: doctest.h:1910

◆ DOCTEST_INLINE_NOINLINE

#define DOCTEST_INLINE_NOINLINE   inline DOCTEST_NOINLINE

◆ DOCTEST_INTERFACE

#define DOCTEST_INTERFACE

◆ DOCTEST_INTERFACE_DECL

#define DOCTEST_INTERFACE_DECL   DOCTEST_INTERFACE

◆ DOCTEST_INTERFACE_DEF

#define DOCTEST_INTERFACE_DEF

◆ DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN

#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN
Value:
DOCTEST_MSVC_SUPPRESS_WARNING(4548) /* before comma no effect; expected side - effect */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4265) /* virtual functions, but destructor is not virtual */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4986) /* exception specification does not match previous */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4350) /* 'member1' called instead of 'member2' */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4668) /* not defined as a preprocessor macro */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4365) /* signed/unsigned mismatch */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4774) /* format string not a string literal */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4820) /* padding */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4625) /* copy constructor was implicitly deleted */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4626) /* assignment operator was implicitly deleted */ \
DOCTEST_MSVC_SUPPRESS_WARNING(5027) /* move assignment operator implicitly deleted */ \
DOCTEST_MSVC_SUPPRESS_WARNING(5026) /* move constructor was implicitly deleted */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4623) /* default constructor was implicitly deleted */ \
DOCTEST_MSVC_SUPPRESS_WARNING(5039) /* pointer to pot. throwing function passed to extern C */ \
DOCTEST_MSVC_SUPPRESS_WARNING(5045) /* Spectre mitigation for memory load */ \
DOCTEST_MSVC_SUPPRESS_WARNING(5105) /* macro producing 'defined' has undefined behavior */ \
DOCTEST_MSVC_SUPPRESS_WARNING(4738) /* storing float result in memory, loss of performance */ \
DOCTEST_MSVC_SUPPRESS_WARNING(5262) /* implicit fall-through */
#define DOCTEST_MSVC_SUPPRESS_WARNING(w)
Definition: doctest.h:151

◆ DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END

#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END   DOCTEST_MSVC_SUPPRESS_WARNING_POP

◆ DOCTEST_MESSAGE

#define DOCTEST_MESSAGE (   ...)    DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, __VA_ARGS__)

◆ DOCTEST_MSVC

#define DOCTEST_MSVC   0

◆ DOCTEST_MSVC_SUPPRESS_WARNING

#define DOCTEST_MSVC_SUPPRESS_WARNING (   w)

◆ DOCTEST_MSVC_SUPPRESS_WARNING_POP

#define DOCTEST_MSVC_SUPPRESS_WARNING_POP

◆ DOCTEST_MSVC_SUPPRESS_WARNING_PUSH

#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH

◆ DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH

#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH (   w)

◆ DOCTEST_NO_SANITIZE_INTEGER

#define DOCTEST_NO_SANITIZE_INTEGER

◆ DOCTEST_NOEXCEPT

#define DOCTEST_NOEXCEPT   noexcept

◆ DOCTEST_NOINLINE

#define DOCTEST_NOINLINE   __attribute__((noinline))

◆ DOCTEST_NORETURN

#define DOCTEST_NORETURN   [[noreturn]]

◆ DOCTEST_PLATFORM_LINUX

#define DOCTEST_PLATFORM_LINUX

◆ DOCTEST_REF_WRAP

#define DOCTEST_REF_WRAP (   x)    x&

◆ DOCTEST_REGISTER_EXCEPTION_TRANSLATOR

#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR (   signature)
Value:
signature)
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature)
Definition: doctest.h:2321

◆ DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL

#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL (   translatorName,
  signature 
)
Value:
inline doctest::String translatorName(signature); \
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), /* NOLINT(cert-err58-cpp) */ \
doctest::String translatorName(signature)
Definition: doctest.h:588
int registerExceptionTranslator(String(*translateFunction)(T))
Definition: doctest.h:1936

◆ DOCTEST_REGISTER_FUNCTION

#define DOCTEST_REGISTER_FUNCTION (   global_prefix,
  f,
  decorators 
)
Value:
global_prefix DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT */ \
f, __FILE__, __LINE__, \
decorators))
#define DOCTEST_GLOBAL_NO_WARNINGS(var,...)
Definition: doctest.h:450
int regTest(const TestCase &tc)
doctest::detail::TestSuite & getCurrentTestSuite()
Definition: doctest.h:1616

◆ DOCTEST_REGISTER_LISTENER

#define DOCTEST_REGISTER_LISTENER (   name,
  priority,
  reporter 
)
Value:
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \
doctest::registerReporter<reporter>(name, priority, false)) \
static_assert(true, "")

◆ DOCTEST_REGISTER_REPORTER

#define DOCTEST_REGISTER_REPORTER (   name,
  priority,
  reporter 
)
Value:
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \
doctest::registerReporter<reporter>(name, priority, true)) \
static_assert(true, "")

◆ DOCTEST_RELATIONAL_OP

#define DOCTEST_RELATIONAL_OP (   name,
  op 
)
Value:
template <typename L, typename R> \
DOCTEST_COMPARISON_RETURN_TYPE name(const DOCTEST_REF_WRAP(L) lhs, \
const DOCTEST_REF_WRAP(R) rhs) { \
return lhs op rhs; \
}
#define DOCTEST_REF_WRAP(x)
Definition: doctest.h:428

◆ DOCTEST_REQUIRE [1/2]

#define DOCTEST_REQUIRE (   ...)    DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)

◆ DOCTEST_REQUIRE [2/2]

#define DOCTEST_REQUIRE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_EQ [1/2]

#define DOCTEST_REQUIRE_EQ (   ...)    DOCTEST_BINARY_ASSERT(DT_REQUIRE_EQ, eq, __VA_ARGS__)

◆ DOCTEST_REQUIRE_EQ [2/2]

#define DOCTEST_REQUIRE_EQ   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_FALSE [1/2]

#define DOCTEST_REQUIRE_FALSE (   ...)    DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE_FALSE, __VA_ARGS__)

◆ DOCTEST_REQUIRE_FALSE [2/2]

#define DOCTEST_REQUIRE_FALSE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_FALSE_MESSAGE [1/2]

#define DOCTEST_REQUIRE_FALSE_MESSAGE (   cond,
  ... 
)    DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE_FALSE, cond); } DOCTEST_FUNC_SCOPE_END

◆ DOCTEST_REQUIRE_FALSE_MESSAGE [2/2]

#define DOCTEST_REQUIRE_FALSE_MESSAGE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_GE [1/2]

#define DOCTEST_REQUIRE_GE (   ...)    DOCTEST_BINARY_ASSERT(DT_REQUIRE_GE, ge, __VA_ARGS__)

◆ DOCTEST_REQUIRE_GE [2/2]

#define DOCTEST_REQUIRE_GE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_GT [1/2]

#define DOCTEST_REQUIRE_GT (   ...)    DOCTEST_BINARY_ASSERT(DT_REQUIRE_GT, gt, __VA_ARGS__)

◆ DOCTEST_REQUIRE_GT [2/2]

#define DOCTEST_REQUIRE_GT   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_LE [1/2]

#define DOCTEST_REQUIRE_LE (   ...)    DOCTEST_BINARY_ASSERT(DT_REQUIRE_LE, le, __VA_ARGS__)

◆ DOCTEST_REQUIRE_LE [2/2]

#define DOCTEST_REQUIRE_LE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_LT [1/2]

#define DOCTEST_REQUIRE_LT (   ...)    DOCTEST_BINARY_ASSERT(DT_REQUIRE_LT, lt, __VA_ARGS__)

◆ DOCTEST_REQUIRE_LT [2/2]

#define DOCTEST_REQUIRE_LT   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_MESSAGE [1/2]

#define DOCTEST_REQUIRE_MESSAGE (   cond,
  ... 
)    DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } DOCTEST_FUNC_SCOPE_END

◆ DOCTEST_REQUIRE_MESSAGE [2/2]

#define DOCTEST_REQUIRE_MESSAGE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_NE [1/2]

#define DOCTEST_REQUIRE_NE (   ...)    DOCTEST_BINARY_ASSERT(DT_REQUIRE_NE, ne, __VA_ARGS__)

◆ DOCTEST_REQUIRE_NE [2/2]

#define DOCTEST_REQUIRE_NE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_NOTHROW

#define DOCTEST_REQUIRE_NOTHROW (   ...)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_NOTHROW_MESSAGE

#define DOCTEST_REQUIRE_NOTHROW_MESSAGE (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS

#define DOCTEST_REQUIRE_THROWS (   ...)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS_AS

#define DOCTEST_REQUIRE_THROWS_AS (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS_AS_MESSAGE

#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE (   expr,
  ex,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS_MESSAGE

#define DOCTEST_REQUIRE_THROWS_MESSAGE (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS_WITH

#define DOCTEST_REQUIRE_THROWS_WITH (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS_WITH_AS

#define DOCTEST_REQUIRE_THROWS_WITH_AS (   expr,
  with,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE

#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_THROWS_WITH_MESSAGE

#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE (   expr,
  with,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_UNARY [1/2]

#define DOCTEST_REQUIRE_UNARY (   ...)    DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY, __VA_ARGS__)

◆ DOCTEST_REQUIRE_UNARY [2/2]

#define DOCTEST_REQUIRE_UNARY   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_REQUIRE_UNARY_FALSE [1/2]

#define DOCTEST_REQUIRE_UNARY_FALSE (   ...)    DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY_FALSE, __VA_ARGS__)

◆ DOCTEST_REQUIRE_UNARY_FALSE [2/2]

#define DOCTEST_REQUIRE_UNARY_FALSE   DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_SCENARIO

#define DOCTEST_SCENARIO (   name)    DOCTEST_TEST_CASE(" Scenario: " name)

◆ DOCTEST_SCENARIO_CLASS

#define DOCTEST_SCENARIO_CLASS (   name)    DOCTEST_TEST_CASE_CLASS(" Scenario: " name)

◆ DOCTEST_SCENARIO_TEMPLATE

#define DOCTEST_SCENARIO_TEMPLATE (   name,
  T,
  ... 
)    DOCTEST_TEST_CASE_TEMPLATE(" Scenario: " name, T, __VA_ARGS__)

◆ DOCTEST_SCENARIO_TEMPLATE_DEFINE

#define DOCTEST_SCENARIO_TEMPLATE_DEFINE (   name,
  T,
  id 
)    DOCTEST_TEST_CASE_TEMPLATE_DEFINE(" Scenario: " name, T, id)

◆ DOCTEST_SINGLE_HEADER

#define DOCTEST_SINGLE_HEADER

◆ DOCTEST_STRINGIFY

#define DOCTEST_STRINGIFY (   ...)    toString(__VA_ARGS__)

◆ DOCTEST_SUBCASE

#define DOCTEST_SUBCASE (   name)
Value:
if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED = \
doctest::detail::Subcase(name, __FILE__, __LINE__))
#define DOCTEST_UNUSED
Definition: doctest.h:359
Definition: doctest.h:1337

◆ DOCTEST_SUPPRESS_COMMON_WARNINGS_POP

#define DOCTEST_SUPPRESS_COMMON_WARNINGS_POP
Value:
DOCTEST_CLANG_SUPPRESS_WARNING_POP \
DOCTEST_GCC_SUPPRESS_WARNING_POP \
DOCTEST_MSVC_SUPPRESS_WARNING_POP

◆ DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH

#define DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH

◆ DOCTEST_SYMBOL_EXPORT

#define DOCTEST_SYMBOL_EXPORT   __attribute__((visibility("default")))

◆ DOCTEST_SYMBOL_IMPORT

#define DOCTEST_SYMBOL_IMPORT

◆ DOCTEST_TEST_CASE

#define DOCTEST_TEST_CASE (   decorators)     DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators)

◆ DOCTEST_TEST_CASE_CLASS

#define DOCTEST_TEST_CASE_CLASS (   ...)     TEST_CASES_CAN_BE_REGISTERED_IN_CLASSES_ONLY_IN_CPP17_MODE_OR_WITH_VS_2017_OR_NEWER

◆ DOCTEST_TEST_CASE_FIXTURE

#define DOCTEST_TEST_CASE_FIXTURE (   c,
  decorators 
)
Value:
DOCTEST_IMPLEMENT_FIXTURE(DOCTEST_ANONYMOUS(DOCTEST_ANON_CLASS_), c, \
DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators)
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators)
Definition: doctest.h:2169

◆ DOCTEST_TEST_CASE_TEMPLATE

#define DOCTEST_TEST_CASE_TEMPLATE (   dec,
  T,
  ... 
)     DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__)

◆ DOCTEST_TEST_CASE_TEMPLATE_APPLY

#define DOCTEST_TEST_CASE_TEMPLATE_APPLY (   id,
  ... 
)
Value:
DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__) \
static_assert(true, "")
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon,...)
Definition: doctest.h:2256

◆ DOCTEST_TEST_CASE_TEMPLATE_DEFINE

#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE (   dec,
  T,
  id 
)
Value:
DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_))
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func)
Definition: doctest.h:2225
#define DOCTEST_CAT(s1, s2)
Definition: doctest.h:420

◆ DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL

#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL (   dec,
  T,
  iter,
  func 
)
Value:
template <typename T> \
static void func(); \
namespace { /* NOLINT */ \
template <typename Tuple> \
struct iter; \
template <typename Type, typename... Rest> \
struct iter<std::tuple<Type, Rest...>> \
{ \
iter(const char* file, unsigned line, int index) { \
doctest::toString<Type>(), \
int(line) * 1000 + index) \
* dec); \
iter<std::tuple<Rest...>>(file, line, index + 1); \
} \
}; \
template <> \
struct iter<std::tuple<>> \
{ \
iter(const char*, unsigned, int) {} \
}; \
} \
template <typename T> \
static void func()
Definition: doctest.h:539

◆ DOCTEST_TEST_CASE_TEMPLATE_IMPL

#define DOCTEST_TEST_CASE_TEMPLATE_IMPL (   dec,
  T,
  anon,
  ... 
)
Value:
DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(anon, ITERATOR), anon); \
DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(anon, anon, std::tuple<__VA_ARGS__>) \
template <typename T> \
static void anon()

◆ DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE

#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE (   id,
  ... 
)    DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id,__VA_ARGS__)

◆ DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL

#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL (   id,
  anon,
  ... 
)
Value:
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_CAT(anon, DUMMY), /* NOLINT(cert-err58-cpp, fuchsia-statically-constructed-objects) */ \
DOCTEST_CAT(id, ITERATOR)<__VA_ARGS__>(__FILE__, __LINE__, 0)))
int instantiationHelper(const T &)
Definition: doctest.h:1654

◆ DOCTEST_TEST_CASE_TEMPLATE_INVOKE

#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE (   id,
  ... 
)
Value:

◆ DOCTEST_TEST_SUITE

#define DOCTEST_TEST_SUITE (   decorators)     DOCTEST_TEST_SUITE_IMPL(decorators, DOCTEST_ANONYMOUS(DOCTEST_ANON_SUITE_))

◆ DOCTEST_TEST_SUITE_BEGIN

#define DOCTEST_TEST_SUITE_BEGIN (   decorators)
Value:
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \
static_assert(true, "")
int setTestSuite(const TestSuite &ts)
Definition: doctest.h:1593

◆ DOCTEST_TEST_SUITE_END

#define DOCTEST_TEST_SUITE_END
Value:
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \
using DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_) = int

◆ DOCTEST_TEST_SUITE_IMPL

#define DOCTEST_TEST_SUITE_IMPL (   decorators,
  ns_name 
)
Value:
namespace ns_name { namespace doctest_detail_test_suite_ns { \
DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4640) \
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wexit-time-destructors") \
DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wmissing-field-initializers") \
static doctest::detail::TestSuite data{}; \
static bool inited = false; \
DOCTEST_MSVC_SUPPRESS_WARNING_POP \
DOCTEST_CLANG_SUPPRESS_WARNING_POP \
DOCTEST_GCC_SUPPRESS_WARNING_POP \
if(!inited) { \
data* decorators; \
inited = true; \
} \
return data; \
} \
} \
} \
namespace ns_name
#define DOCTEST_NOINLINE
Definition: doctest.h:358
Definition: doctest.h:1948

◆ DOCTEST_THEN

#define DOCTEST_THEN (   name)    DOCTEST_SUBCASE(" Then: " name)

◆ DOCTEST_TO_LVALUE

#define DOCTEST_TO_LVALUE (   ...)    __VA_ARGS__

◆ DOCTEST_TOSTR

#define DOCTEST_TOSTR (   x)    DOCTEST_TOSTR_IMPL(x)

◆ DOCTEST_TOSTR_IMPL

#define DOCTEST_TOSTR_IMPL (   x)    #x

◆ DOCTEST_TYPE_TO_STRING

#define DOCTEST_TYPE_TO_STRING (   ...)    DOCTEST_TYPE_TO_STRING_AS(#__VA_ARGS__, __VA_ARGS__)

◆ DOCTEST_TYPE_TO_STRING_AS

#define DOCTEST_TYPE_TO_STRING_AS (   str,
  ... 
)
Value:
namespace doctest { \
template <> \
inline String toString<__VA_ARGS__>() { \
return str; \
} \
} \
static_assert(true, "")
Definition: doctest.h:446

◆ DOCTEST_UNARY_ASSERT

#define DOCTEST_UNARY_ASSERT (   assert_type,
  ... 
)
Value:
doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #__VA_ARGS__); \
DOCTEST_WRAP_IN_TRY(DOCTEST_RB.unary_assert(__VA_ARGS__)) \
DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \

◆ DOCTEST_UNUSED

#define DOCTEST_UNUSED   __attribute__((unused))

◆ DOCTEST_VERSION

#define DOCTEST_VERSION    (DOCTEST_VERSION_MAJOR * 10000 + DOCTEST_VERSION_MINOR * 100 + DOCTEST_VERSION_PATCH)

◆ DOCTEST_VERSION_MAJOR

#define DOCTEST_VERSION_MAJOR   2

◆ DOCTEST_VERSION_MINOR

#define DOCTEST_VERSION_MINOR   4

◆ DOCTEST_VERSION_PATCH

#define DOCTEST_VERSION_PATCH   12

◆ DOCTEST_VERSION_STR

#define DOCTEST_VERSION_STR
Value:
DOCTEST_TOSTR(DOCTEST_VERSION_MINOR) "." \
DOCTEST_TOSTR(DOCTEST_VERSION_PATCH)
#define DOCTEST_VERSION_PATCH
Definition: doctest.h:51
#define DOCTEST_VERSION_MINOR
Definition: doctest.h:50
#define DOCTEST_TOSTR(x)
Definition: doctest.h:55
#define DOCTEST_VERSION_MAJOR
Definition: doctest.h:49

◆ DOCTEST_WARN

#define DOCTEST_WARN (   ...)    DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN, __VA_ARGS__)

◆ DOCTEST_WARN_EQ

#define DOCTEST_WARN_EQ (   ...)    DOCTEST_BINARY_ASSERT(DT_WARN_EQ, eq, __VA_ARGS__)

◆ DOCTEST_WARN_FALSE

#define DOCTEST_WARN_FALSE (   ...)    DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN_FALSE, __VA_ARGS__)

◆ DOCTEST_WARN_FALSE_MESSAGE

#define DOCTEST_WARN_FALSE_MESSAGE (   cond,
  ... 
)    DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN_FALSE, cond); } DOCTEST_FUNC_SCOPE_END

◆ DOCTEST_WARN_GE

#define DOCTEST_WARN_GE (   ...)    DOCTEST_BINARY_ASSERT(DT_WARN_GE, ge, __VA_ARGS__)

◆ DOCTEST_WARN_GT

#define DOCTEST_WARN_GT (   ...)    DOCTEST_BINARY_ASSERT(DT_WARN_GT, gt, __VA_ARGS__)

◆ DOCTEST_WARN_LE

#define DOCTEST_WARN_LE (   ...)    DOCTEST_BINARY_ASSERT(DT_WARN_LE, le, __VA_ARGS__)

◆ DOCTEST_WARN_LT

#define DOCTEST_WARN_LT (   ...)    DOCTEST_BINARY_ASSERT(DT_WARN_LT, lt, __VA_ARGS__)

◆ DOCTEST_WARN_MESSAGE

#define DOCTEST_WARN_MESSAGE (   cond,
  ... 
)    DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } DOCTEST_FUNC_SCOPE_END

◆ DOCTEST_WARN_NE

#define DOCTEST_WARN_NE (   ...)    DOCTEST_BINARY_ASSERT(DT_WARN_NE, ne, __VA_ARGS__)

◆ DOCTEST_WARN_NOTHROW

#define DOCTEST_WARN_NOTHROW (   ...)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_NOTHROW_MESSAGE

#define DOCTEST_WARN_NOTHROW_MESSAGE (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS

#define DOCTEST_WARN_THROWS (   ...)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS_AS

#define DOCTEST_WARN_THROWS_AS (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS_AS_MESSAGE

#define DOCTEST_WARN_THROWS_AS_MESSAGE (   expr,
  ex,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS_MESSAGE

#define DOCTEST_WARN_THROWS_MESSAGE (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS_WITH

#define DOCTEST_WARN_THROWS_WITH (   expr,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS_WITH_AS

#define DOCTEST_WARN_THROWS_WITH_AS (   expr,
  with,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS_WITH_AS_MESSAGE

#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_THROWS_WITH_MESSAGE

#define DOCTEST_WARN_THROWS_WITH_MESSAGE (   expr,
  with,
  ... 
)    DOCTEST_EXCEPTION_EMPTY_FUNC

◆ DOCTEST_WARN_UNARY

#define DOCTEST_WARN_UNARY (   ...)    DOCTEST_UNARY_ASSERT(DT_WARN_UNARY, __VA_ARGS__)

◆ DOCTEST_WARN_UNARY_FALSE

#define DOCTEST_WARN_UNARY_FALSE (   ...)    DOCTEST_UNARY_ASSERT(DT_WARN_UNARY_FALSE, __VA_ARGS__)

◆ DOCTEST_WHEN

#define DOCTEST_WHEN (   name)    DOCTEST_SUBCASE(" When: " name)

◆ DOCTEST_WRAP_IN_TRY

#define DOCTEST_WRAP_IN_TRY (   x)    x;

◆ FAIL

#define FAIL (   ...)    DOCTEST_FAIL(__VA_ARGS__)

◆ FAIL_CHECK

#define FAIL_CHECK (   ...)    DOCTEST_FAIL_CHECK(__VA_ARGS__)

◆ FAST_CHECK_EQ

#define FAST_CHECK_EQ (   ...)    DOCTEST_FAST_CHECK_EQ(__VA_ARGS__)

◆ FAST_CHECK_GE

#define FAST_CHECK_GE (   ...)    DOCTEST_FAST_CHECK_GE(__VA_ARGS__)

◆ FAST_CHECK_GT

#define FAST_CHECK_GT (   ...)    DOCTEST_FAST_CHECK_GT(__VA_ARGS__)

◆ FAST_CHECK_LE

#define FAST_CHECK_LE (   ...)    DOCTEST_FAST_CHECK_LE(__VA_ARGS__)

◆ FAST_CHECK_LT

#define FAST_CHECK_LT (   ...)    DOCTEST_FAST_CHECK_LT(__VA_ARGS__)

◆ FAST_CHECK_NE

#define FAST_CHECK_NE (   ...)    DOCTEST_FAST_CHECK_NE(__VA_ARGS__)

◆ FAST_CHECK_UNARY

#define FAST_CHECK_UNARY (   ...)    DOCTEST_FAST_CHECK_UNARY(__VA_ARGS__)

◆ FAST_CHECK_UNARY_FALSE

#define FAST_CHECK_UNARY_FALSE (   ...)    DOCTEST_FAST_CHECK_UNARY_FALSE(__VA_ARGS__)

◆ FAST_REQUIRE_EQ

#define FAST_REQUIRE_EQ (   ...)    DOCTEST_FAST_REQUIRE_EQ(__VA_ARGS__)

◆ FAST_REQUIRE_GE

#define FAST_REQUIRE_GE (   ...)    DOCTEST_FAST_REQUIRE_GE(__VA_ARGS__)

◆ FAST_REQUIRE_GT

#define FAST_REQUIRE_GT (   ...)    DOCTEST_FAST_REQUIRE_GT(__VA_ARGS__)

◆ FAST_REQUIRE_LE

#define FAST_REQUIRE_LE (   ...)    DOCTEST_FAST_REQUIRE_LE(__VA_ARGS__)

◆ FAST_REQUIRE_LT

#define FAST_REQUIRE_LT (   ...)    DOCTEST_FAST_REQUIRE_LT(__VA_ARGS__)

◆ FAST_REQUIRE_NE

#define FAST_REQUIRE_NE (   ...)    DOCTEST_FAST_REQUIRE_NE(__VA_ARGS__)

◆ FAST_REQUIRE_UNARY

#define FAST_REQUIRE_UNARY (   ...)    DOCTEST_FAST_REQUIRE_UNARY(__VA_ARGS__)

◆ FAST_REQUIRE_UNARY_FALSE

#define FAST_REQUIRE_UNARY_FALSE (   ...)    DOCTEST_FAST_REQUIRE_UNARY_FALSE(__VA_ARGS__)

◆ FAST_WARN_EQ

#define FAST_WARN_EQ (   ...)    DOCTEST_FAST_WARN_EQ(__VA_ARGS__)

◆ FAST_WARN_GE

#define FAST_WARN_GE (   ...)    DOCTEST_FAST_WARN_GE(__VA_ARGS__)

◆ FAST_WARN_GT

#define FAST_WARN_GT (   ...)    DOCTEST_FAST_WARN_GT(__VA_ARGS__)

◆ FAST_WARN_LE

#define FAST_WARN_LE (   ...)    DOCTEST_FAST_WARN_LE(__VA_ARGS__)

◆ FAST_WARN_LT

#define FAST_WARN_LT (   ...)    DOCTEST_FAST_WARN_LT(__VA_ARGS__)

◆ FAST_WARN_NE

#define FAST_WARN_NE (   ...)    DOCTEST_FAST_WARN_NE(__VA_ARGS__)

◆ FAST_WARN_UNARY

#define FAST_WARN_UNARY (   ...)    DOCTEST_FAST_WARN_UNARY(__VA_ARGS__)

◆ FAST_WARN_UNARY_FALSE

#define FAST_WARN_UNARY_FALSE (   ...)    DOCTEST_FAST_WARN_UNARY_FALSE(__VA_ARGS__)

◆ GIVEN

#define GIVEN (   name)    DOCTEST_GIVEN(name)

◆ INFO

#define INFO (   ...)    DOCTEST_INFO(__VA_ARGS__)

◆ MESSAGE

#define MESSAGE (   ...)    DOCTEST_MESSAGE(__VA_ARGS__)

◆ REGISTER_EXCEPTION_TRANSLATOR

#define REGISTER_EXCEPTION_TRANSLATOR (   signature)    DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature)

◆ REGISTER_LISTENER

#define REGISTER_LISTENER (   name,
  priority,
  reporter 
)    DOCTEST_REGISTER_LISTENER(name, priority, reporter)

◆ REGISTER_REPORTER

#define REGISTER_REPORTER (   name,
  priority,
  reporter 
)    DOCTEST_REGISTER_REPORTER(name, priority, reporter)

◆ REQUIRE

#define REQUIRE (   ...)    DOCTEST_REQUIRE(__VA_ARGS__)

◆ REQUIRE_EQ

#define REQUIRE_EQ (   ...)    DOCTEST_REQUIRE_EQ(__VA_ARGS__)

◆ REQUIRE_FALSE

#define REQUIRE_FALSE (   ...)    DOCTEST_REQUIRE_FALSE(__VA_ARGS__)

◆ REQUIRE_FALSE_MESSAGE

#define REQUIRE_FALSE_MESSAGE (   cond,
  ... 
)    DOCTEST_REQUIRE_FALSE_MESSAGE(cond, __VA_ARGS__)

◆ REQUIRE_GE

#define REQUIRE_GE (   ...)    DOCTEST_REQUIRE_GE(__VA_ARGS__)

◆ REQUIRE_GT

#define REQUIRE_GT (   ...)    DOCTEST_REQUIRE_GT(__VA_ARGS__)

◆ REQUIRE_LE

#define REQUIRE_LE (   ...)    DOCTEST_REQUIRE_LE(__VA_ARGS__)

◆ REQUIRE_LT

#define REQUIRE_LT (   ...)    DOCTEST_REQUIRE_LT(__VA_ARGS__)

◆ REQUIRE_MESSAGE

#define REQUIRE_MESSAGE (   cond,
  ... 
)    DOCTEST_REQUIRE_MESSAGE(cond, __VA_ARGS__)

◆ REQUIRE_NE

#define REQUIRE_NE (   ...)    DOCTEST_REQUIRE_NE(__VA_ARGS__)

◆ REQUIRE_NOTHROW

#define REQUIRE_NOTHROW (   ...)    DOCTEST_REQUIRE_NOTHROW(__VA_ARGS__)

◆ REQUIRE_NOTHROW_MESSAGE

#define REQUIRE_NOTHROW_MESSAGE (   expr,
  ... 
)    DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, __VA_ARGS__)

◆ REQUIRE_THROWS

#define REQUIRE_THROWS (   ...)    DOCTEST_REQUIRE_THROWS(__VA_ARGS__)

◆ REQUIRE_THROWS_AS

#define REQUIRE_THROWS_AS (   expr,
  ... 
)    DOCTEST_REQUIRE_THROWS_AS(expr, __VA_ARGS__)

◆ REQUIRE_THROWS_AS_MESSAGE

#define REQUIRE_THROWS_AS_MESSAGE (   expr,
  ex,
  ... 
)    DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)

◆ REQUIRE_THROWS_MESSAGE

#define REQUIRE_THROWS_MESSAGE (   expr,
  ... 
)    DOCTEST_REQUIRE_THROWS_MESSAGE(expr, __VA_ARGS__)

◆ REQUIRE_THROWS_WITH

#define REQUIRE_THROWS_WITH (   expr,
  ... 
)    DOCTEST_REQUIRE_THROWS_WITH(expr, __VA_ARGS__)

◆ REQUIRE_THROWS_WITH_AS

#define REQUIRE_THROWS_WITH_AS (   expr,
  with,
  ... 
)    DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, __VA_ARGS__)

◆ REQUIRE_THROWS_WITH_AS_MESSAGE

#define REQUIRE_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  ... 
)    DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)

◆ REQUIRE_THROWS_WITH_MESSAGE

#define REQUIRE_THROWS_WITH_MESSAGE (   expr,
  with,
  ... 
)    DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)

◆ REQUIRE_UNARY

#define REQUIRE_UNARY (   ...)    DOCTEST_REQUIRE_UNARY(__VA_ARGS__)

◆ REQUIRE_UNARY_FALSE

#define REQUIRE_UNARY_FALSE (   ...)    DOCTEST_REQUIRE_UNARY_FALSE(__VA_ARGS__)

◆ SCENARIO

#define SCENARIO (   name)    DOCTEST_SCENARIO(name)

◆ SCENARIO_CLASS

#define SCENARIO_CLASS (   name)    DOCTEST_SCENARIO_CLASS(name)

◆ SCENARIO_TEMPLATE

#define SCENARIO_TEMPLATE (   name,
  T,
  ... 
)    DOCTEST_SCENARIO_TEMPLATE(name, T, __VA_ARGS__)

◆ SCENARIO_TEMPLATE_DEFINE

#define SCENARIO_TEMPLATE_DEFINE (   name,
  T,
  id 
)    DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id)

◆ SFINAE_OP

#define SFINAE_OP (   ret,
  op 
)    decltype((void)(doctest::detail::declval<L>() op doctest::detail::declval<R>()),ret{})

◆ SUBCASE

#define SUBCASE (   name)    DOCTEST_SUBCASE(name)

◆ TEST_CASE

#define TEST_CASE (   name)    DOCTEST_TEST_CASE(name)

◆ TEST_CASE_CLASS

#define TEST_CASE_CLASS (   name)    DOCTEST_TEST_CASE_CLASS(name)

◆ TEST_CASE_FIXTURE

#define TEST_CASE_FIXTURE (   x,
  name 
)    DOCTEST_TEST_CASE_FIXTURE(x, name)

◆ TEST_CASE_TEMPLATE

#define TEST_CASE_TEMPLATE (   name,
  T,
  ... 
)    DOCTEST_TEST_CASE_TEMPLATE(name, T, __VA_ARGS__)

◆ TEST_CASE_TEMPLATE_APPLY

#define TEST_CASE_TEMPLATE_APPLY (   id,
  ... 
)    DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, __VA_ARGS__)

◆ TEST_CASE_TEMPLATE_DEFINE

#define TEST_CASE_TEMPLATE_DEFINE (   name,
  T,
  id 
)    DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, T, id)

◆ TEST_CASE_TEMPLATE_INSTANTIATE

#define TEST_CASE_TEMPLATE_INSTANTIATE (   id,
  ... 
)    DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, __VA_ARGS__)

◆ TEST_CASE_TEMPLATE_INVOKE

#define TEST_CASE_TEMPLATE_INVOKE (   id,
  ... 
)    DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, __VA_ARGS__)

◆ TEST_SUITE

#define TEST_SUITE (   decorators)    DOCTEST_TEST_SUITE(decorators)

◆ TEST_SUITE_BEGIN

#define TEST_SUITE_BEGIN (   name)    DOCTEST_TEST_SUITE_BEGIN(name)

◆ TEST_SUITE_END

#define TEST_SUITE_END   DOCTEST_TEST_SUITE_END

◆ THEN

#define THEN (   name)    DOCTEST_THEN(name)

◆ TO_LVALUE

#define TO_LVALUE (   ...)    DOCTEST_TO_LVALUE(__VA_ARGS__)

◆ TYPE_TO_STRING

#define TYPE_TO_STRING (   ...)    DOCTEST_TYPE_TO_STRING(__VA_ARGS__)

◆ TYPE_TO_STRING_AS

#define TYPE_TO_STRING_AS (   str,
  ... 
)    DOCTEST_TYPE_TO_STRING_AS(str, __VA_ARGS__)

◆ WARN

#define WARN (   ...)    DOCTEST_WARN(__VA_ARGS__)

◆ WARN_EQ

#define WARN_EQ (   ...)    DOCTEST_WARN_EQ(__VA_ARGS__)

◆ WARN_FALSE

#define WARN_FALSE (   ...)    DOCTEST_WARN_FALSE(__VA_ARGS__)

◆ WARN_FALSE_MESSAGE

#define WARN_FALSE_MESSAGE (   cond,
  ... 
)    DOCTEST_WARN_FALSE_MESSAGE(cond, __VA_ARGS__)

◆ WARN_GE

#define WARN_GE (   ...)    DOCTEST_WARN_GE(__VA_ARGS__)

◆ WARN_GT

#define WARN_GT (   ...)    DOCTEST_WARN_GT(__VA_ARGS__)

◆ WARN_LE

#define WARN_LE (   ...)    DOCTEST_WARN_LE(__VA_ARGS__)

◆ WARN_LT

#define WARN_LT (   ...)    DOCTEST_WARN_LT(__VA_ARGS__)

◆ WARN_MESSAGE

#define WARN_MESSAGE (   cond,
  ... 
)    DOCTEST_WARN_MESSAGE(cond, __VA_ARGS__)

◆ WARN_NE

#define WARN_NE (   ...)    DOCTEST_WARN_NE(__VA_ARGS__)

◆ WARN_NOTHROW

#define WARN_NOTHROW (   ...)    DOCTEST_WARN_NOTHROW(__VA_ARGS__)

◆ WARN_NOTHROW_MESSAGE

#define WARN_NOTHROW_MESSAGE (   expr,
  ... 
)    DOCTEST_WARN_NOTHROW_MESSAGE(expr, __VA_ARGS__)

◆ WARN_THROWS

#define WARN_THROWS (   ...)    DOCTEST_WARN_THROWS(__VA_ARGS__)

◆ WARN_THROWS_AS

#define WARN_THROWS_AS (   expr,
  ... 
)    DOCTEST_WARN_THROWS_AS(expr, __VA_ARGS__)

◆ WARN_THROWS_AS_MESSAGE

#define WARN_THROWS_AS_MESSAGE (   expr,
  ex,
  ... 
)    DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)

◆ WARN_THROWS_MESSAGE

#define WARN_THROWS_MESSAGE (   expr,
  ... 
)    DOCTEST_WARN_THROWS_MESSAGE(expr, __VA_ARGS__)

◆ WARN_THROWS_WITH

#define WARN_THROWS_WITH (   expr,
  ... 
)    DOCTEST_WARN_THROWS_WITH(expr, __VA_ARGS__)

◆ WARN_THROWS_WITH_AS

#define WARN_THROWS_WITH_AS (   expr,
  with,
  ... 
)    DOCTEST_WARN_THROWS_WITH_AS(expr, with, __VA_ARGS__)

◆ WARN_THROWS_WITH_AS_MESSAGE

#define WARN_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  ... 
)    DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)

◆ WARN_THROWS_WITH_MESSAGE

#define WARN_THROWS_WITH_MESSAGE (   expr,
  with,
  ... 
)    DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)

◆ WARN_UNARY

#define WARN_UNARY (   ...)    DOCTEST_WARN_UNARY(__VA_ARGS__)

◆ WARN_UNARY_FALSE

#define WARN_UNARY_FALSE (   ...)    DOCTEST_WARN_UNARY_FALSE(__VA_ARGS__)

◆ WHEN

#define WHEN (   name)    DOCTEST_WHEN(name)

Typedef Documentation

◆ DOCTEST_ANON_FOR_SEMICOLON___LINE__

Variable Documentation

◆ DOCTEST_ANON_VAR___LINE__

const int DOCTEST_ANON_VAR___LINE__ = doctest::detail::consume(& DOCTEST_ANON_VAR___LINE__ , doctest::detail::setTestSuite(doctest::detail::TestSuite() * "") )
static