Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
doctest.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  doctest::detail::has_insertion_operator_impl::any_t
 
class  doctest::Approx
 
struct  doctest::AssertData
 
class  basic_ostream< charT, traits >
 
struct  char_traits< charT >
 
class  doctest::Context
 
struct  doctest::ContextOptions
 OCLINT too many fields. More...
 
class  doctest::detail::ContextScope< L >
 
class  doctest::detail::ContextScopeBase
 
struct  doctest::CurrentTestCaseStats
 
struct  doctest::detail::deferred_false< T >
 
class  doctest::detail::ExceptionTranslator< T >
 OCLINT destructor of virtual class. More...
 
struct  doctest::detail::ExpressionDecomposer
 
struct  doctest::detail::has_insertion_operator< T >
 
struct  doctest::detail::has_insertion_operator_impl::has_insertion_operator< T >
 
struct  doctest::IContextScope
 
struct  doctest::detail::IExceptionTranslator
 
struct  doctest::IReporter
 
struct  doctest::detail::MessageBuilder
 
struct  doctest::MessageData
 
struct  doctest::QueryData
 
struct  doctest::detail::RelationalComparator< int, L, R >
 
struct  doctest::detail::remove_const< T >
 
struct  doctest::detail::remove_const< const T >
 
struct  doctest::detail::remove_reference< T >
 
struct  doctest::detail::remove_reference< T & >
 
struct  doctest::detail::remove_reference< T && >
 
struct  doctest::detail::Result
 
struct  doctest::detail::ResultBuilder
 
class  doctest::String
 
struct  doctest::StringMaker< T >
 
struct  doctest::StringMaker< R C::* >
 
struct  doctest::StringMaker< T * >
 
struct  doctest::detail::StringMakerBase< C >
 
struct  doctest::detail::StringMakerBase< true >
 
struct  doctest::detail::StringStream< T >
 
struct  doctest::detail::StringStreamBase< C >
 
struct  doctest::detail::StringStreamBase< true >
 
struct  doctest::detail::Subcase
 
struct  doctest::SubcaseSignature
 
struct  doctest::detail::TestCase
 
struct  doctest::TestCaseData
 
struct  doctest::TestCaseException
 
struct  doctest::detail::TestFailureException
 
struct  doctest::TestRunStats
 
struct  doctest::detail::TestSuite
 
class  tuple< Types >
 
struct  doctest::String::view
 OCLINT avoid private static members. More...
 

Namespaces

 doctest
 
 doctest::assertType
 
 doctest::Color
 
 doctest::detail
 
 doctest::detail::assertAction
 
 doctest::detail::binaryAssertComparison
 
 doctest::detail::has_insertion_operator_impl
 
 doctest::TestCaseFailureReason
 
 doctest_detail_test_suite_ns
 

Macros

#define ADD_FAIL_AT   DOCTEST_ADD_FAIL_AT
 
#define ADD_FAIL_CHECK_AT   DOCTEST_ADD_FAIL_CHECK_AT
 
#define ADD_MESSAGE_AT   DOCTEST_ADD_MESSAGE_AT
 
#define AND_THEN   DOCTEST_AND_THEN
 
#define AND_WHEN   DOCTEST_AND_WHEN
 
#define CAPTURE   DOCTEST_CAPTURE
 
#define CHECK   DOCTEST_CHECK
 
#define CHECK_EQ   DOCTEST_CHECK_EQ
 
#define CHECK_FALSE   DOCTEST_CHECK_FALSE
 
#define CHECK_FALSE_MESSAGE   DOCTEST_CHECK_FALSE_MESSAGE
 
#define CHECK_GE   DOCTEST_CHECK_GE
 
#define CHECK_GT   DOCTEST_CHECK_GT
 
#define CHECK_LE   DOCTEST_CHECK_LE
 
#define CHECK_LT   DOCTEST_CHECK_LT
 
#define CHECK_MESSAGE   DOCTEST_CHECK_MESSAGE
 
#define CHECK_NE   DOCTEST_CHECK_NE
 
#define CHECK_NOTHROW   DOCTEST_CHECK_NOTHROW
 
#define CHECK_NOTHROW_MESSAGE   DOCTEST_CHECK_NOTHROW_MESSAGE
 
#define CHECK_THROWS   DOCTEST_CHECK_THROWS
 
#define CHECK_THROWS_AS   DOCTEST_CHECK_THROWS_AS
 
#define CHECK_THROWS_AS_MESSAGE   DOCTEST_CHECK_THROWS_AS_MESSAGE
 
#define CHECK_THROWS_MESSAGE   DOCTEST_CHECK_THROWS_MESSAGE
 
#define CHECK_THROWS_WITH   DOCTEST_CHECK_THROWS_WITH
 
#define CHECK_THROWS_WITH_AS   DOCTEST_CHECK_THROWS_WITH_AS
 
#define CHECK_THROWS_WITH_AS_MESSAGE   DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE
 
#define CHECK_THROWS_WITH_MESSAGE   DOCTEST_CHECK_THROWS_WITH_MESSAGE
 
#define CHECK_UNARY   DOCTEST_CHECK_UNARY
 
#define CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE
 
#define DOCTEST_ADD_AT_IMPL(type, file, line, mb, x)
 
#define DOCTEST_ADD_FAIL_AT(file, line, x)   DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(_DOCTEST_MESSAGE_), x)
 
#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, x)   DOCTEST_ADD_AT_IMPL(is_check, file, line, DOCTEST_ANONYMOUS(_DOCTEST_MESSAGE_), x)
 
#define DOCTEST_ADD_MESSAGE_AT(file, line, x)   DOCTEST_ADD_AT_IMPL(is_warn, file, line, DOCTEST_ANONYMOUS(_DOCTEST_MESSAGE_), x)
 
#define DOCTEST_ALIGNMENT(x)   __attribute__((aligned(x)))
 
#define DOCTEST_AND_THEN(name)   DOCTEST_SUBCASE(" And: " name)
 
#define DOCTEST_AND_WHEN(name)   DOCTEST_SUBCASE("And when: " name)
 
#define DOCTEST_ANONYMOUS(x)   DOCTEST_CAT(x, __LINE__)
 
#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...)
 
#define DOCTEST_ASSERT_IMPLEMENT_2(assert_type, ...)
 
#define DOCTEST_ASSERT_IN_TESTS(decomp)
 
#define DOCTEST_ASSERT_LOG_AND_REACT(b)
 
#define DOCTEST_ASSERT_NOTHROW(expr, assert_type)
 
#define DOCTEST_ASSERT_OUT_OF_TESTS(decomp)
 
#define DOCTEST_ASSERT_THROWS_AS(expr, assert_type, message, ...)
 
#define DOCTEST_ASSERT_THROWS_WITH(expr, assert_type, ...)
 
#define DOCTEST_BINARY_ASSERT(assert_type, comp, ...)
 
#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_BREAK_INTO_DEBUGGER()   ((void)0)
 
#define DOCTEST_CAPTURE(x)   DOCTEST_INFO(#x " := " << x)
 
#define DOCTEST_CAST_TO_VOID(x)   x;
 
#define DOCTEST_CAT(s1, s2)   DOCTEST_CAT_IMPL(s1, s2)
 
#define DOCTEST_CAT_IMPL(s1, s2)   s1##s2
 
#define DOCTEST_CHECK(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
 
#define DOCTEST_CHECK_EQ(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_CHECK_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__)
 
#define DOCTEST_CHECK_FALSE_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } while((void)0, 0)
 
#define DOCTEST_CHECK_GE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_GE, ge, __VA_ARGS__)
 
#define DOCTEST_CHECK_GT(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_GT, gt, __VA_ARGS__)
 
#define DOCTEST_CHECK_LE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_LE, le, __VA_ARGS__)
 
#define DOCTEST_CHECK_LT(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_LT, lt, __VA_ARGS__)
 
#define DOCTEST_CHECK_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } while((void)0, 0)
 
#define DOCTEST_CHECK_NE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_NE, ne, __VA_ARGS__)
 
#define DOCTEST_CHECK_NOTHROW(expr)   DOCTEST_ASSERT_NOTHROW(expr, DT_CHECK_NOTHROW)
 
#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_CHECK_NOTHROW(expr); } while((void)0, 0)
 
#define DOCTEST_CHECK_THROWS(expr)   DOCTEST_ASSERT_THROWS_WITH(expr, DT_CHECK_THROWS, "")
 
#define DOCTEST_CHECK_THROWS_AS(expr, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_AS, "", __VA_ARGS__)
 
#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, msg)   do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS_AS(expr, ex); } while((void)0, 0)
 
#define DOCTEST_CHECK_THROWS_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS(expr); } while((void)0, 0)
 
#define DOCTEST_CHECK_THROWS_WITH(expr, ...)   DOCTEST_ASSERT_THROWS_WITH(expr, DT_CHECK_THROWS_WITH, __VA_ARGS__)
 
#define DOCTEST_CHECK_THROWS_WITH_AS(expr, message, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_WITH_AS, message, __VA_ARGS__)
 
#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, msg)   do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex); } while((void)0, 0)
 
#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, msg)   do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS_WITH(expr, with); } while((void)0, 0)
 
#define DOCTEST_CHECK_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY, __VA_ARGS__)
 
#define DOCTEST_CHECK_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_CLANG   0
 
#define DOCTEST_CLANG_SUPPRESS_WARNING(w)
 
#define DOCTEST_CLANG_SUPPRESS_WARNING_POP
 
#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH
 
#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w)
 
#define DOCTEST_CMP_EQ(l, r)   l == r
 
#define DOCTEST_CMP_GE(l, r)   l >= r
 
#define DOCTEST_CMP_GT(l, r)   l > r
 
#define DOCTEST_CMP_LE(l, r)   l <= r
 
#define DOCTEST_CMP_LT(l, r)   l < r
 
#define DOCTEST_CMP_NE(l, r)   l != r
 
#define DOCTEST_COMPARISON_RETURN_TYPE   bool
 
#define DOCTEST_COMPILER(MAJOR, MINOR, PATCH)   ((MAJOR)*10000000 + (MINOR)*100000 + (PATCH))
 
#define DOCTEST_CONFIG_NO_EXCEPTIONS
 
#define DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS
 
#define DOCTEST_CONFIG_POSIX_SIGNALS
 
#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, decorators)
 
#define DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(f, proxy, decorators)
 
#define DOCTEST_DEFINE_DECORATOR(name, type, def)
 
#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(op, op_str, op_macro)
 
#define DOCTEST_EMPTY
 
#define DOCTEST_FAIL(x)   DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, x)
 
#define DOCTEST_FAIL_CHECK(x)   DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, x)
 
#define DOCTEST_FAST_CHECK_EQ   DOCTEST_CHECK_EQ
 
#define DOCTEST_FAST_CHECK_GE   DOCTEST_CHECK_GE
 
#define DOCTEST_FAST_CHECK_GT   DOCTEST_CHECK_GT
 
#define DOCTEST_FAST_CHECK_LE   DOCTEST_CHECK_LE
 
#define DOCTEST_FAST_CHECK_LT   DOCTEST_CHECK_LT
 
#define DOCTEST_FAST_CHECK_NE   DOCTEST_CHECK_NE
 
#define DOCTEST_FAST_CHECK_UNARY   DOCTEST_CHECK_UNARY
 
#define DOCTEST_FAST_CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE
 
#define DOCTEST_FAST_REQUIRE_EQ   DOCTEST_REQUIRE_EQ
 
#define DOCTEST_FAST_REQUIRE_GE   DOCTEST_REQUIRE_GE
 
#define DOCTEST_FAST_REQUIRE_GT   DOCTEST_REQUIRE_GT
 
#define DOCTEST_FAST_REQUIRE_LE   DOCTEST_REQUIRE_LE
 
#define DOCTEST_FAST_REQUIRE_LT   DOCTEST_REQUIRE_LT
 
#define DOCTEST_FAST_REQUIRE_NE   DOCTEST_REQUIRE_NE
 
#define DOCTEST_FAST_REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY
 
#define DOCTEST_FAST_REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE
 
#define DOCTEST_FAST_WARN_EQ   DOCTEST_WARN_EQ
 
#define DOCTEST_FAST_WARN_GE   DOCTEST_WARN_GE
 
#define DOCTEST_FAST_WARN_GT   DOCTEST_WARN_GT
 
#define DOCTEST_FAST_WARN_LE   DOCTEST_WARN_LE
 
#define DOCTEST_FAST_WARN_LT   DOCTEST_WARN_LT
 
#define DOCTEST_FAST_WARN_NE   DOCTEST_WARN_NE
 
#define DOCTEST_FAST_WARN_UNARY   DOCTEST_WARN_UNARY
 
#define DOCTEST_FAST_WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE
 
#define DOCTEST_FORBIT_EXPRESSION(rt, op)
 
#define DOCTEST_GCC   0
 
#define DOCTEST_GCC_SUPPRESS_WARNING(w)
 
#define DOCTEST_GCC_SUPPRESS_WARNING_POP
 
#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH
 
#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w)
 
#define DOCTEST_GIVEN(name)   DOCTEST_SUBCASE(" Given: " name)
 
#define DOCTEST_GLOBAL_NO_WARNINGS(var)
 
#define DOCTEST_GLOBAL_NO_WARNINGS_END()   DOCTEST_CLANG_SUPPRESS_WARNING_POP
 
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators)
 
#define DOCTEST_INFO(expression)
 
#define DOCTEST_INFO_IMPL(lambda_name, mb_name, s_name, expression)
 
#define DOCTEST_INTERFACE
 
#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_MESSAGE(x)   DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, x)
 
#define DOCTEST_MSVC   0
 
#define DOCTEST_MSVC_SUPPRESS_WARNING(w)
 
#define DOCTEST_MSVC_SUPPRESS_WARNING_POP
 
#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH
 
#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w)
 
#define DOCTEST_NOINLINE   __attribute__((noinline))
 
#define DOCTEST_PLATFORM_LINUX
 
#define DOCTEST_REF_WRAP(x)   x&
 
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature)
 
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature)
 
#define DOCTEST_REGISTER_FUNCTION(global_prefix, f, decorators)
 
#define DOCTEST_REGISTER_LISTENER(name, priority, reporter)
 
#define DOCTEST_REGISTER_REPORTER(name, priority, reporter)
 
#define DOCTEST_RELATIONAL_OP(name, op)
 
#define DOCTEST_REQUIRE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_EQ(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE_FALSE, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE_FALSE, cond); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_GE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_GE, ge, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_GT(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_GT, gt, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_LE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_LE, le, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_LT(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_LT, lt, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_NE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_NE, ne, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_NOTHROW(expr)   DOCTEST_ASSERT_NOTHROW(expr, DT_REQUIRE_NOTHROW)
 
#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_NOTHROW(expr); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_THROWS(expr)   DOCTEST_ASSERT_THROWS_WITH(expr, DT_REQUIRE_THROWS, "")
 
#define DOCTEST_REQUIRE_THROWS_AS(expr, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_AS, "", __VA_ARGS__)
 
#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, msg)   do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS_AS(expr, ex); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS(expr); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...)   DOCTEST_ASSERT_THROWS_WITH(expr, DT_REQUIRE_THROWS_WITH, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, message, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_WITH_AS, message, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, msg)   do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, msg)   do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS_WITH(expr, with); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY_FALSE, __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_SINGLE_HEADER
 
#define DOCTEST_STD_NAMESPACE_BEGIN   namespace std {
 
#define DOCTEST_STD_NAMESPACE_END   }
 
#define DOCTEST_SUBCASE(name)
 
#define DOCTEST_SYMBOL_EXPORT   __attribute__((visibility("default")))
 
#define DOCTEST_SYMBOL_IMPORT
 
#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_TEST_CASE_TEMPLATE(dec, T, ...)   DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, DOCTEST_ANONYMOUS(_DOCTEST_ANON_TMP_), __VA_ARGS__)
 
#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(dec, T, id)
 
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func)
 
#define DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, anon, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE   DOCTEST_TEST_CASE_TEMPLATE_INVOKE
 
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...)
 
#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_TEST_SUITE_IMPL(decorators, ns_name)
 
#define DOCTEST_THEN(name)   DOCTEST_SUBCASE(" Then: " name)
 
#define DOCTEST_TO_LVALUE(...)   __VA_ARGS__
 
#define DOCTEST_TOSTR(x)   #x
 
#define DOCTEST_TYPE_TO_STRING(...)
 
#define DOCTEST_TYPE_TO_STRING_IMPL(...)
 
#define DOCTEST_UNARY_ASSERT(assert_type, ...)
 
#define DOCTEST_UNUSED   __attribute__((unused))
 
#define DOCTEST_VERSION   (DOCTEST_VERSION_MAJOR * 10000 + DOCTEST_VERSION_MINOR * 100 + DOCTEST_VERSION_PATCH)
 
#define DOCTEST_VERSION_MAJOR   2
 
#define DOCTEST_VERSION_MINOR   3
 
#define DOCTEST_VERSION_PATCH   7
 
#define DOCTEST_VERSION_STR   "2.3.7"
 
#define DOCTEST_WARN(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN, __VA_ARGS__)
 
#define DOCTEST_WARN_EQ(...)   DOCTEST_BINARY_ASSERT(DT_WARN_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_WARN_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN_FALSE, __VA_ARGS__)
 
#define DOCTEST_WARN_FALSE_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN_FALSE, cond); } while((void)0, 0)
 
#define DOCTEST_WARN_GE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_GE, ge, __VA_ARGS__)
 
#define DOCTEST_WARN_GT(...)   DOCTEST_BINARY_ASSERT(DT_WARN_GT, gt, __VA_ARGS__)
 
#define DOCTEST_WARN_LE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_LE, le, __VA_ARGS__)
 
#define DOCTEST_WARN_LT(...)   DOCTEST_BINARY_ASSERT(DT_WARN_LT, lt, __VA_ARGS__)
 
#define DOCTEST_WARN_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } while((void)0, 0)
 
#define DOCTEST_WARN_NE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_NE, ne, __VA_ARGS__)
 
#define DOCTEST_WARN_NOTHROW(expr)   DOCTEST_ASSERT_NOTHROW(expr, DT_WARN_NOTHROW)
 
#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_WARN_NOTHROW(expr); } while((void)0, 0)
 
#define DOCTEST_WARN_THROWS(expr)   DOCTEST_ASSERT_THROWS_WITH(expr, DT_WARN_THROWS, "")
 
#define DOCTEST_WARN_THROWS_AS(expr, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_AS, "", __VA_ARGS__)
 
#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, msg)   do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS_AS(expr, ex); } while((void)0, 0)
 
#define DOCTEST_WARN_THROWS_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS(expr); } while((void)0, 0)
 
#define DOCTEST_WARN_THROWS_WITH(expr, ...)   DOCTEST_ASSERT_THROWS_WITH(expr, DT_WARN_THROWS_WITH, __VA_ARGS__)
 
#define DOCTEST_WARN_THROWS_WITH_AS(expr, message, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_WITH_AS, message, __VA_ARGS__)
 
#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, msg)   do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex); } while((void)0, 0)
 
#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, msg)   do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS_WITH(expr, with); } while((void)0, 0)
 
#define DOCTEST_WARN_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_WARN_UNARY, __VA_ARGS__)
 
#define DOCTEST_WARN_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_WARN_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_WHEN(name)   DOCTEST_SUBCASE(" When: " name)
 
#define DOCTEST_WRAP_IN_TRY(x)   x;
 
#define FAIL   DOCTEST_FAIL
 
#define FAIL_CHECK   DOCTEST_FAIL_CHECK
 
#define FAST_CHECK_EQ   DOCTEST_FAST_CHECK_EQ
 
#define FAST_CHECK_GE   DOCTEST_FAST_CHECK_GE
 
#define FAST_CHECK_GT   DOCTEST_FAST_CHECK_GT
 
#define FAST_CHECK_LE   DOCTEST_FAST_CHECK_LE
 
#define FAST_CHECK_LT   DOCTEST_FAST_CHECK_LT
 
#define FAST_CHECK_NE   DOCTEST_FAST_CHECK_NE
 
#define FAST_CHECK_UNARY   DOCTEST_FAST_CHECK_UNARY
 
#define FAST_CHECK_UNARY_FALSE   DOCTEST_FAST_CHECK_UNARY_FALSE
 
#define FAST_REQUIRE_EQ   DOCTEST_FAST_REQUIRE_EQ
 
#define FAST_REQUIRE_GE   DOCTEST_FAST_REQUIRE_GE
 
#define FAST_REQUIRE_GT   DOCTEST_FAST_REQUIRE_GT
 
#define FAST_REQUIRE_LE   DOCTEST_FAST_REQUIRE_LE
 
#define FAST_REQUIRE_LT   DOCTEST_FAST_REQUIRE_LT
 
#define FAST_REQUIRE_NE   DOCTEST_FAST_REQUIRE_NE
 
#define FAST_REQUIRE_UNARY   DOCTEST_FAST_REQUIRE_UNARY
 
#define FAST_REQUIRE_UNARY_FALSE   DOCTEST_FAST_REQUIRE_UNARY_FALSE
 
#define FAST_WARN_EQ   DOCTEST_FAST_WARN_EQ
 
#define FAST_WARN_GE   DOCTEST_FAST_WARN_GE
 
#define FAST_WARN_GT   DOCTEST_FAST_WARN_GT
 
#define FAST_WARN_LE   DOCTEST_FAST_WARN_LE
 
#define FAST_WARN_LT   DOCTEST_FAST_WARN_LT
 
#define FAST_WARN_NE   DOCTEST_FAST_WARN_NE
 
#define FAST_WARN_UNARY   DOCTEST_FAST_WARN_UNARY
 
#define FAST_WARN_UNARY_FALSE   DOCTEST_FAST_WARN_UNARY_FALSE
 
#define GIVEN   DOCTEST_GIVEN
 
#define INFO   DOCTEST_INFO
 
#define MESSAGE   DOCTEST_MESSAGE
 
#define REGISTER_EXCEPTION_TRANSLATOR   DOCTEST_REGISTER_EXCEPTION_TRANSLATOR
 
#define REGISTER_LISTENER   DOCTEST_REGISTER_LISTENER
 
#define REGISTER_REPORTER   DOCTEST_REGISTER_REPORTER
 
#define REQUIRE   DOCTEST_REQUIRE
 
#define REQUIRE_EQ   DOCTEST_REQUIRE_EQ
 
#define REQUIRE_FALSE   DOCTEST_REQUIRE_FALSE
 
#define REQUIRE_FALSE_MESSAGE   DOCTEST_REQUIRE_FALSE_MESSAGE
 
#define REQUIRE_GE   DOCTEST_REQUIRE_GE
 
#define REQUIRE_GT   DOCTEST_REQUIRE_GT
 
#define REQUIRE_LE   DOCTEST_REQUIRE_LE
 
#define REQUIRE_LT   DOCTEST_REQUIRE_LT
 
#define REQUIRE_MESSAGE   DOCTEST_REQUIRE_MESSAGE
 
#define REQUIRE_NE   DOCTEST_REQUIRE_NE
 
#define REQUIRE_NOTHROW   DOCTEST_REQUIRE_NOTHROW
 
#define REQUIRE_NOTHROW_MESSAGE   DOCTEST_REQUIRE_NOTHROW_MESSAGE
 
#define REQUIRE_THROWS   DOCTEST_REQUIRE_THROWS
 
#define REQUIRE_THROWS_AS   DOCTEST_REQUIRE_THROWS_AS
 
#define REQUIRE_THROWS_AS_MESSAGE   DOCTEST_REQUIRE_THROWS_AS_MESSAGE
 
#define REQUIRE_THROWS_MESSAGE   DOCTEST_REQUIRE_THROWS_MESSAGE
 
#define REQUIRE_THROWS_WITH   DOCTEST_REQUIRE_THROWS_WITH
 
#define REQUIRE_THROWS_WITH_AS   DOCTEST_REQUIRE_THROWS_WITH_AS
 
#define REQUIRE_THROWS_WITH_AS_MESSAGE   DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE
 
#define REQUIRE_THROWS_WITH_MESSAGE   DOCTEST_REQUIRE_THROWS_WITH_MESSAGE
 
#define REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY
 
#define REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE
 
#define SCENARIO   DOCTEST_SCENARIO
 
#define SCENARIO_CLASS   DOCTEST_SCENARIO_CLASS
 
#define SCENARIO_TEMPLATE   DOCTEST_SCENARIO_TEMPLATE
 
#define SCENARIO_TEMPLATE_DEFINE   DOCTEST_SCENARIO_TEMPLATE_DEFINE
 
#define SUBCASE   DOCTEST_SUBCASE
 
#define TEST_CASE   DOCTEST_TEST_CASE
 
#define TEST_CASE_CLASS   DOCTEST_TEST_CASE_CLASS
 
#define TEST_CASE_FIXTURE   DOCTEST_TEST_CASE_FIXTURE
 
#define TEST_CASE_TEMPLATE   DOCTEST_TEST_CASE_TEMPLATE
 
#define TEST_CASE_TEMPLATE_APPLY   DOCTEST_TEST_CASE_TEMPLATE_APPLY
 
#define TEST_CASE_TEMPLATE_DEFINE   DOCTEST_TEST_CASE_TEMPLATE_DEFINE
 
#define TEST_CASE_TEMPLATE_INSTANTIATE   DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE
 
#define TEST_CASE_TEMPLATE_INVOKE   DOCTEST_TEST_CASE_TEMPLATE_INVOKE
 
#define TEST_SUITE   DOCTEST_TEST_SUITE
 
#define TEST_SUITE_BEGIN   DOCTEST_TEST_SUITE_BEGIN
 
#define TEST_SUITE_END   DOCTEST_TEST_SUITE_END
 
#define THEN   DOCTEST_THEN
 
#define TO_LVALUE   DOCTEST_TO_LVALUE
 
#define TYPE_TO_STRING   DOCTEST_TYPE_TO_STRING
 
#define WARN   DOCTEST_WARN
 
#define WARN_EQ   DOCTEST_WARN_EQ
 
#define WARN_FALSE   DOCTEST_WARN_FALSE
 
#define WARN_FALSE_MESSAGE   DOCTEST_WARN_FALSE_MESSAGE
 
#define WARN_GE   DOCTEST_WARN_GE
 
#define WARN_GT   DOCTEST_WARN_GT
 
#define WARN_LE   DOCTEST_WARN_LE
 
#define WARN_LT   DOCTEST_WARN_LT
 
#define WARN_MESSAGE   DOCTEST_WARN_MESSAGE
 
#define WARN_NE   DOCTEST_WARN_NE
 
#define WARN_NOTHROW   DOCTEST_WARN_NOTHROW
 
#define WARN_NOTHROW_MESSAGE   DOCTEST_WARN_NOTHROW_MESSAGE
 
#define WARN_THROWS   DOCTEST_WARN_THROWS
 
#define WARN_THROWS_AS   DOCTEST_WARN_THROWS_AS
 
#define WARN_THROWS_AS_MESSAGE   DOCTEST_WARN_THROWS_AS_MESSAGE
 
#define WARN_THROWS_MESSAGE   DOCTEST_WARN_THROWS_MESSAGE
 
#define WARN_THROWS_WITH   DOCTEST_WARN_THROWS_WITH
 
#define WARN_THROWS_WITH_AS   DOCTEST_WARN_THROWS_WITH_AS
 
#define WARN_THROWS_WITH_AS_MESSAGE   DOCTEST_WARN_THROWS_WITH_AS_MESSAGE
 
#define WARN_THROWS_WITH_MESSAGE   DOCTEST_WARN_THROWS_WITH_MESSAGE
 
#define WARN_UNARY   DOCTEST_WARN_UNARY
 
#define WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE
 
#define WHEN   DOCTEST_WHEN
 

Typedefs

typedef void(* doctest::detail::assert_handler) (const AssertData &)
 
typedef void(* doctest::detail::funcType) ()
 
typedef char doctest::detail::has_insertion_operator_impl::no
 
typedef basic_ostream< char, char_traits< char > > ostream
 
typedef IReporter *(* doctest::detail::reporterCreatorFunc) (const ContextOptions &)
 
typedef char doctest::detail::has_insertion_operator_impl::yes[2]
 

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

DOCTEST_INTERFACE const char * doctest::assertString (assertType::Enum at)
 
template<int comparison, typename L , typename R >
DOCTEST_NOINLINE void doctest::detail::binary_assert (assertType::Enum at, const char *file, int line, const char *expr, const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs)
 
DOCTEST_INTERFACE bool doctest::detail::checkIfShouldThrow (assertType::Enum at)
 
DOCTEST_INTERFACE void doctest::detail::decomp_assert (assertType::Enum at, const char *file, int line, const char *expr, Result result)
 
 doctest::DOCTEST_DEFINE_DECORATOR (test_suite, const char *, "")
 
 doctest::DOCTEST_DEFINE_DECORATOR (description, const char *, "")
 
 doctest::DOCTEST_DEFINE_DECORATOR (skip, bool, true)
 
 doctest::DOCTEST_DEFINE_DECORATOR (timeout, double, 0)
 
 doctest::DOCTEST_DEFINE_DECORATOR (may_fail, bool, true)
 
 doctest::DOCTEST_DEFINE_DECORATOR (should_fail, bool, true)
 
 doctest::DOCTEST_DEFINE_DECORATOR (expected_failures, int, 0)
 
DOCTEST_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_MSVC_SUPPRESS_WARNING_PUSH DOCTEST_MSVC_SUPPRESS_WARNING (4616) DOCTEST_MSVC_SUPPRESS_WARNING(4619) DOCTEST_MSVC_SUPPRESS_WARNING(4996) DOCTEST_MSVC_SUPPRESS_WARNING(4706) DOCTEST_MSVC_SUPPRESS_WARNING(4512) DOCTEST_MSVC_SUPPRESS_WARNING(4127) DOCTEST_MSVC_SUPPRESS_WARNING(4820) DOCTEST_MSVC_SUPPRESS_WARNING(4625) DOCTEST_MSVC_SUPPRESS_WARNING(4626) DOCTEST_MSVC_SUPPRESS_WARNING(5027) DOCTEST_MSVC_SUPPRESS_WARNING(5026) DOCTEST_MSVC_SUPPRESS_WARNING(4623) DOCTEST_MSVC_SUPPRESS_WARNING(4640) DOCTEST_MSVC_SUPPRESS_WARNING(26439) DOCTEST_MSVC_SUPPRESS_WARNING(26495) DOCTEST_MSVC_SUPPRESS_WARNING(26451) DOCTEST_MSVC_SUPPRESS_WARNING(26444) DOCTEST_MSVC_SUPPRESS_WARNING(26812) DOCTEST_STD_NAMESPACE_BEGIN typedef decltype(nullptr) nullptr_t
 
DOCTEST_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_MSVC_SUPPRESS_WARNING_PUSH doctest::detail::DOCTEST_MSVC_SUPPRESS_WARNING (4388) DOCTEST_MSVC_SUPPRESS_WARNING(4389) DOCTEST_MSVC_SUPPRESS_WARNING(4018) template< typename L > struct Expression_lhs
 
 DOCTEST_TEST_SUITE_END ()
 
DOCTEST_INTERFACE void doctest::detail::failed_out_of_a_testing_context (const AssertData &ad)
 
DOCTEST_INTERFACE const char * doctest::failureString (assertType::Enum at)
 
DOCTEST_INTERFACE const ContextOptions * doctest::getContextOptions ()
 
DOCTEST_INTERFACE doctest::detail::TestSuitedoctest_detail_test_suite_ns::getCurrentTestSuite ()
 
DOCTEST_INTERFACE std::ostreamdoctest::detail::getTlsOss ()
 
DOCTEST_INTERFACE String doctest::detail::getTlsOssResult ()
 
template<typename T >
int doctest::detail::instantiationHelper (const T &)
 
DOCTEST_INTERFACE bool doctest::detail::isDebuggerActive ()
 
template<typename L >
ContextScope< L > doctest::detail::MakeContextScope (const L &lambda)
 
DOCTEST_INTERFACE void doctest::detail::my_memcpy (void *dest, const void *src, unsigned num)
 
DOCTEST_INTERFACE bool doctest::operator!= (const String &lhs, const String &rhs)
 
DOCTEST_INTERFACE bool doctest::operator< (const String &lhs, const String &rhs)
 
DOCTEST_INTERFACE std::ostreamdoctest::operator<< (std::ostream &s, const String &in)
 
DOCTEST_INTERFACE std::ostreamdoctest::Color::operator<< (std::ostream &s, Color::Enum code)
 
no doctest::detail::has_insertion_operator_impl::operator<< (const std::ostream &, const any_t &)
 
DOCTEST_INTERFACE bool doctest::operator<= (const String &lhs, const String &rhs)
 
DOCTEST_INTERFACE bool doctest::operator== (const String &lhs, const String &rhs)
 
DOCTEST_INTERFACE bool doctest::operator> (const String &lhs, const String &rhs)
 
DOCTEST_INTERFACE bool doctest::operator>= (const String &lhs, const String &rhs)
 
DOCTEST_INTERFACE String doctest::detail::rawMemoryToString (const void *object, unsigned size)
 
template<typename T >
String doctest::detail::rawMemoryToString (const DOCTEST_REF_WRAP(T) object)
 
template<typename T >
int doctest::registerExceptionTranslator (String(*translateFunction)(T))
 
DOCTEST_INTERFACE void doctest::detail::registerExceptionTranslatorImpl (const IExceptionTranslator *et)
 
template<typename Reporter >
int doctest::registerReporter (const char *name, int priority, bool isReporter)
 
DOCTEST_INTERFACE void doctest::detail::registerReporterImpl (const char *name, int prio, reporterCreatorFunc c, bool isReporter)
 
DOCTEST_INTERFACE int doctest::detail::regTest (const TestCase &tc)
 
template<typename Reporter >
IReporter * doctest::detail::reporterCreator (const ContextOptions &o)
 
DOCTEST_INTERFACE int doctest::detail::setTestSuite (const TestSuite &ts)
 
DOCTEST_INTERFACE const char * doctest::skipPathFromFilename (const char *file)
 
template<typename L , typename R >
String doctest::detail::stringifyBinaryExpr (const DOCTEST_REF_WRAP(L) lhs, const char *op, const DOCTEST_REF_WRAP(R) rhs)
 
yes & doctest::detail::has_insertion_operator_impl::testStreamable (std::ostream &)
 
no doctest::detail::has_insertion_operator_impl::testStreamable (no)
 
DOCTEST_INTERFACE void doctest::detail::throwException ()
 
template<typename T >
void doctest::detail::toStream (std::ostream *s, const T &value)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, bool in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, float in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, double in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, double long in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, char in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, char signed in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, char unsigned in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int short in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int short unsigned in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int unsigned in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int long in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int long unsigned in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int long long in)
 
DOCTEST_INTERFACE void doctest::detail::toStream (std::ostream *s, int long long unsigned in)
 
template<typename T >
String doctest::toString (const DOCTEST_REF_WRAP(T) value)
 
DOCTEST_INTERFACE String doctest::toString (bool in)
 
DOCTEST_INTERFACE String doctest::toString (float in)
 
DOCTEST_INTERFACE String doctest::toString (double in)
 
DOCTEST_INTERFACE String doctest::toString (double long in)
 
DOCTEST_INTERFACE String doctest::toString (char in)
 
DOCTEST_INTERFACE String doctest::toString (char signed in)
 
DOCTEST_INTERFACE String doctest::toString (char unsigned in)
 
DOCTEST_INTERFACE String doctest::toString (int short in)
 
DOCTEST_INTERFACE String doctest::toString (int short unsigned in)
 
DOCTEST_INTERFACE String doctest::toString (int in)
 
DOCTEST_INTERFACE String doctest::toString (int unsigned in)
 
DOCTEST_INTERFACE String doctest::toString (int long in)
 
DOCTEST_INTERFACE String doctest::toString (int long unsigned in)
 
DOCTEST_INTERFACE String doctest::toString (int long long in)
 
DOCTEST_INTERFACE String doctest::toString (int long long unsigned in)
 
DOCTEST_INTERFACE String doctest::toString (std::nullptr_t in)
 
DOCTEST_INTERFACE String doctest::toString (const Approx &in)
 
template<typename T >
const char * doctest::detail::type_to_string ()
 
template<typename L >
DOCTEST_NOINLINE void doctest::detail::unary_assert (assertType::Enum at, const char *file, int line, const char *expr, const DOCTEST_REF_WRAP(L) val)
 

Variables

DOCTEST_INTERFACE bool doctest::is_running_in_test
 

Macro Definition Documentation

◆ ADD_FAIL_AT

#define ADD_FAIL_AT   DOCTEST_ADD_FAIL_AT

Definition at line 2458 of file doctest.h.

◆ ADD_FAIL_CHECK_AT

#define ADD_FAIL_CHECK_AT   DOCTEST_ADD_FAIL_CHECK_AT

Definition at line 2457 of file doctest.h.

◆ ADD_MESSAGE_AT

#define ADD_MESSAGE_AT   DOCTEST_ADD_MESSAGE_AT

Definition at line 2456 of file doctest.h.

◆ AND_THEN

#define AND_THEN   DOCTEST_AND_THEN

Definition at line 2516 of file doctest.h.

◆ AND_WHEN

#define AND_WHEN   DOCTEST_AND_WHEN

Definition at line 2514 of file doctest.h.

◆ CAPTURE

#define CAPTURE   DOCTEST_CAPTURE

Definition at line 2455 of file doctest.h.

◆ CHECK

#define CHECK   DOCTEST_CHECK

Definition at line 2471 of file doctest.h.

◆ CHECK_EQ

#define CHECK_EQ   DOCTEST_CHECK_EQ

Definition at line 2519 of file doctest.h.

◆ CHECK_FALSE

#define CHECK_FALSE   DOCTEST_CHECK_FALSE

Definition at line 2472 of file doctest.h.

◆ CHECK_FALSE_MESSAGE

#define CHECK_FALSE_MESSAGE   DOCTEST_CHECK_FALSE_MESSAGE

Definition at line 2494 of file doctest.h.

◆ CHECK_GE

#define CHECK_GE   DOCTEST_CHECK_GE

Definition at line 2531 of file doctest.h.

◆ CHECK_GT

#define CHECK_GT   DOCTEST_CHECK_GT

Definition at line 2525 of file doctest.h.

◆ CHECK_LE

#define CHECK_LE   DOCTEST_CHECK_LE

Definition at line 2534 of file doctest.h.

◆ CHECK_LT

#define CHECK_LT   DOCTEST_CHECK_LT

Definition at line 2528 of file doctest.h.

◆ CHECK_MESSAGE

#define CHECK_MESSAGE   DOCTEST_CHECK_MESSAGE

Definition at line 2493 of file doctest.h.

◆ CHECK_NE

#define CHECK_NE   DOCTEST_CHECK_NE

Definition at line 2522 of file doctest.h.

◆ CHECK_NOTHROW

#define CHECK_NOTHROW   DOCTEST_CHECK_NOTHROW

Definition at line 2477 of file doctest.h.

◆ CHECK_NOTHROW_MESSAGE

#define CHECK_NOTHROW_MESSAGE   DOCTEST_CHECK_NOTHROW_MESSAGE

Definition at line 2499 of file doctest.h.

◆ CHECK_THROWS

#define CHECK_THROWS   DOCTEST_CHECK_THROWS

Definition at line 2473 of file doctest.h.

◆ CHECK_THROWS_AS

#define CHECK_THROWS_AS   DOCTEST_CHECK_THROWS_AS

Definition at line 2474 of file doctest.h.

◆ CHECK_THROWS_AS_MESSAGE

#define CHECK_THROWS_AS_MESSAGE   DOCTEST_CHECK_THROWS_AS_MESSAGE

Definition at line 2496 of file doctest.h.

◆ CHECK_THROWS_MESSAGE

#define CHECK_THROWS_MESSAGE   DOCTEST_CHECK_THROWS_MESSAGE

Definition at line 2495 of file doctest.h.

◆ CHECK_THROWS_WITH

#define CHECK_THROWS_WITH   DOCTEST_CHECK_THROWS_WITH

Definition at line 2475 of file doctest.h.

◆ CHECK_THROWS_WITH_AS

#define CHECK_THROWS_WITH_AS   DOCTEST_CHECK_THROWS_WITH_AS

Definition at line 2476 of file doctest.h.

◆ CHECK_THROWS_WITH_AS_MESSAGE

#define CHECK_THROWS_WITH_AS_MESSAGE   DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE

Definition at line 2498 of file doctest.h.

◆ CHECK_THROWS_WITH_MESSAGE

#define CHECK_THROWS_WITH_MESSAGE   DOCTEST_CHECK_THROWS_WITH_MESSAGE

Definition at line 2497 of file doctest.h.

◆ CHECK_UNARY

#define CHECK_UNARY   DOCTEST_CHECK_UNARY

Definition at line 2537 of file doctest.h.

◆ CHECK_UNARY_FALSE

#define CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE

Definition at line 2540 of file doctest.h.

◆ DOCTEST_ADD_AT_IMPL

#define DOCTEST_ADD_AT_IMPL (   type,
  file,
  line,
  mb,
 
)
Value:
do { \
doctest::detail::MessageBuilder mb(file, line, doctest::assertType::type); \
mb << x; \
DOCTEST_ASSERT_LOG_AND_REACT(mb); \
} while((void)0, 0)
GLenum type
Definition: gl.h:1033

Definition at line 1951 of file doctest.h.

◆ DOCTEST_ADD_FAIL_AT

#define DOCTEST_ADD_FAIL_AT (   file,
  line,
 
)    DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(_DOCTEST_MESSAGE_), x)

Definition at line 1961 of file doctest.h.

◆ 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_), x)

Definition at line 1960 of file doctest.h.

◆ DOCTEST_ADD_MESSAGE_AT

#define DOCTEST_ADD_MESSAGE_AT (   file,
  line,
 
)    DOCTEST_ADD_AT_IMPL(is_warn, file, line, DOCTEST_ANONYMOUS(_DOCTEST_MESSAGE_), x)

Definition at line 1959 of file doctest.h.

◆ DOCTEST_ALIGNMENT

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

◆ DOCTEST_AND_THEN

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

Definition at line 2433 of file doctest.h.

◆ DOCTEST_AND_WHEN

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

Definition at line 2431 of file doctest.h.

◆ DOCTEST_ANONYMOUS

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

◆ DOCTEST_ASSERT_IMPLEMENT_1

#define DOCTEST_ASSERT_IMPLEMENT_1 (   assert_type,
  ... 
)
Value:
do { \
DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__); \
} while((void)0, 0)

Definition at line 1982 of file doctest.h.

◆ DOCTEST_ASSERT_IMPLEMENT_2

#define DOCTEST_ASSERT_IMPLEMENT_2 (   assert_type,
  ... 
)
Value:
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses") \
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__)) \
DOCTEST_CLANG_SUPPRESS_WARNING_POP
#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w)
Definition: doctest.h:106
#define DOCTEST_ASSERT_LOG_AND_REACT(b)
Definition: doctest.h:1725

Definition at line 1972 of file doctest.h.

◆ 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()) \
if(rb.m_failed && checkIfShouldThrow(at)) \
throwException()
DOCTEST_INTERFACE const ContextOptions * getContextOptions()
DOCTEST_INTERFACE bool checkIfShouldThrow(assertType::Enum at)
#define DOCTEST_BREAK_INTO_DEBUGGER()

Definition at line 1357 of file doctest.h.

◆ DOCTEST_ASSERT_LOG_AND_REACT

#define DOCTEST_ASSERT_LOG_AND_REACT (   b)
Value:
if(b.log()) \
b.react()
#define DOCTEST_BREAK_INTO_DEBUGGER()

Definition at line 1725 of file doctest.h.

◆ DOCTEST_ASSERT_NOTHROW

#define DOCTEST_ASSERT_NOTHROW (   expr,
  assert_type 
)
Value:
do { \
doctest::detail::ResultBuilder _DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #expr); \
try { \
DOCTEST_CAST_TO_VOID(expr) \
} catch(...) { _DOCTEST_RB.translateException(); } \
DOCTEST_ASSERT_LOG_AND_REACT(_DOCTEST_RB); \
} while((void)0, 0)

Definition at line 2045 of file doctest.h.

◆ 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; \
} \
} while(false)
DOCTEST_INTERFACE const ContextOptions * getContextOptions()
DOCTEST_INTERFACE bool isDebuggerActive()
DOCTEST_INTERFACE bool checkIfShouldThrow(assertType::Enum at)
DOCTEST_INTERFACE bool is_running_in_test

Definition at line 1340 of file doctest.h.

◆ DOCTEST_ASSERT_THROWS_AS

#define DOCTEST_ASSERT_THROWS_AS (   expr,
  assert_type,
  message,
  ... 
)
Value:
do { \
if(!doctest::getContextOptions()->no_throw) { \
doctest::detail::ResultBuilder _DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #expr, #__VA_ARGS__, message); \
try { \
DOCTEST_CAST_TO_VOID(expr) \
_DOCTEST_RB.translateException(); \
_DOCTEST_RB.m_threw_as = true; \
} catch(...) { _DOCTEST_RB.translateException(); } \
DOCTEST_ASSERT_LOG_AND_REACT(_DOCTEST_RB); \
} \
} while((void)0, 0)
DOCTEST_INTERFACE const ContextOptions * getContextOptions()
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: gl.h:1033
GLenum type
Definition: gl.h:1033

Definition at line 2017 of file doctest.h.

◆ DOCTEST_ASSERT_THROWS_WITH

#define DOCTEST_ASSERT_THROWS_WITH (   expr,
  assert_type,
  ... 
)
Value:
do { \
if(!doctest::getContextOptions()->no_throw) { \
doctest::detail::ResultBuilder _DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #expr, "", __VA_ARGS__); \
try { \
DOCTEST_CAST_TO_VOID(expr) \
} catch(...) { _DOCTEST_RB.translateException(); } \
DOCTEST_ASSERT_LOG_AND_REACT(_DOCTEST_RB); \
} \
} while((void)0, 0)
DOCTEST_INTERFACE const ContextOptions * getContextOptions()

Definition at line 2033 of file doctest.h.

◆ DOCTEST_BINARY_ASSERT

#define DOCTEST_BINARY_ASSERT (   assert_type,
  comp,
  ... 
)
Value:
do { \
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_AND_REACT(_DOCTEST_RB); \
} while((void)0, 0)

Definition at line 2095 of file doctest.h.

◆ 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); } };

Definition at line 1283 of file doctest.h.

◆ DOCTEST_BREAK_INTO_DEBUGGER

#define DOCTEST_BREAK_INTO_DEBUGGER ( )    ((void)0)

◆ DOCTEST_CAPTURE

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

Definition at line 1949 of file doctest.h.

◆ DOCTEST_CAST_TO_VOID

#define DOCTEST_CAST_TO_VOID (   x)    x;

Definition at line 1745 of file doctest.h.

◆ 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__)

Definition at line 2002 of file doctest.h.

◆ DOCTEST_CHECK_EQ

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

Definition at line 2126 of file doctest.h.

◆ DOCTEST_CHECK_FALSE

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

Definition at line 2005 of file doctest.h.

◆ DOCTEST_CHECK_FALSE_MESSAGE

#define DOCTEST_CHECK_FALSE_MESSAGE (   cond,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } while((void)0, 0)

Definition at line 2013 of file doctest.h.

◆ DOCTEST_CHECK_GE

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

Definition at line 2138 of file doctest.h.

◆ DOCTEST_CHECK_GT

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

Definition at line 2132 of file doctest.h.

◆ DOCTEST_CHECK_LE

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

Definition at line 2141 of file doctest.h.

◆ DOCTEST_CHECK_LT

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

Definition at line 2135 of file doctest.h.

◆ DOCTEST_CHECK_MESSAGE

#define DOCTEST_CHECK_MESSAGE (   cond,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } while((void)0, 0)

Definition at line 2010 of file doctest.h.

◆ DOCTEST_CHECK_NE

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

Definition at line 2129 of file doctest.h.

◆ DOCTEST_CHECK_NOTHROW

#define DOCTEST_CHECK_NOTHROW (   expr)    DOCTEST_ASSERT_NOTHROW(expr, DT_CHECK_NOTHROW)

Definition at line 2073 of file doctest.h.

◆ DOCTEST_CHECK_NOTHROW_MESSAGE

#define DOCTEST_CHECK_NOTHROW_MESSAGE (   expr,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_CHECK_NOTHROW(expr); } while((void)0, 0)

Definition at line 2089 of file doctest.h.

◆ DOCTEST_CHECK_THROWS

#define DOCTEST_CHECK_THROWS (   expr)    DOCTEST_ASSERT_THROWS_WITH(expr, DT_CHECK_THROWS, "")

Definition at line 2057 of file doctest.h.

◆ DOCTEST_CHECK_THROWS_AS

#define DOCTEST_CHECK_THROWS_AS (   expr,
  ... 
)    DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_AS, "", __VA_ARGS__)

Definition at line 2061 of file doctest.h.

◆ DOCTEST_CHECK_THROWS_AS_MESSAGE

#define DOCTEST_CHECK_THROWS_AS_MESSAGE (   expr,
  ex,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS_AS(expr, ex); } while((void)0, 0)

Definition at line 2080 of file doctest.h.

◆ DOCTEST_CHECK_THROWS_MESSAGE

#define DOCTEST_CHECK_THROWS_MESSAGE (   expr,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS(expr); } while((void)0, 0)

Definition at line 2077 of file doctest.h.

◆ DOCTEST_CHECK_THROWS_WITH

#define DOCTEST_CHECK_THROWS_WITH (   expr,
  ... 
)    DOCTEST_ASSERT_THROWS_WITH(expr, DT_CHECK_THROWS_WITH, __VA_ARGS__)

Definition at line 2065 of file doctest.h.

◆ DOCTEST_CHECK_THROWS_WITH_AS

#define DOCTEST_CHECK_THROWS_WITH_AS (   expr,
  message,
  ... 
)    DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_WITH_AS, message, __VA_ARGS__)

Definition at line 2069 of file doctest.h.

◆ DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE

#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex); } while((void)0, 0)

Definition at line 2086 of file doctest.h.

◆ DOCTEST_CHECK_THROWS_WITH_MESSAGE

#define DOCTEST_CHECK_THROWS_WITH_MESSAGE (   expr,
  with,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS_WITH(expr, with); } while((void)0, 0)

Definition at line 2083 of file doctest.h.

◆ DOCTEST_CHECK_UNARY

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

Definition at line 2145 of file doctest.h.

◆ DOCTEST_CHECK_UNARY_FALSE

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

Definition at line 2148 of file doctest.h.

◆ DOCTEST_CLANG

#define DOCTEST_CLANG   0

Definition at line 85 of file doctest.h.

◆ DOCTEST_CLANG_SUPPRESS_WARNING

#define DOCTEST_CLANG_SUPPRESS_WARNING (   w)

Definition at line 104 of file doctest.h.

◆ DOCTEST_CLANG_SUPPRESS_WARNING_POP

#define DOCTEST_CLANG_SUPPRESS_WARNING_POP

Definition at line 105 of file doctest.h.

◆ DOCTEST_CLANG_SUPPRESS_WARNING_PUSH

#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH

Definition at line 103 of file doctest.h.

◆ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH

#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH (   w)

Definition at line 106 of file doctest.h.

◆ 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))

Definition at line 63 of file doctest.h.

◆ 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_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
f

Definition at line 1772 of file doctest.h.

◆ 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 const, proxy(), decorators) \
static void f()
f
void(* funcType)()
Definition: doctest.h:1230

Definition at line 1777 of file doctest.h.

◆ 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; } \
}
GLenum type
Definition: gl.h:1033

Definition at line 1530 of file doctest.h.

◆ DOCTEST_DO_BINARY_EXPRESSION_COMPARISON

#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON (   op,
  op_str,
  op_macro 
)
Value:
template <typename R> \
DOCTEST_NOINLINE Result operator op(const DOCTEST_REF_WRAP(R) rhs) { \
bool res = op_macro(lhs, 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); \
}
DOCTEST_INTERFACE const ContextOptions * getContextOptions()
String stringifyBinaryExpr(const DOCTEST_REF_WRAP(L) lhs, const char *op, const DOCTEST_REF_WRAP(R) rhs)
Definition: doctest.h:1006
#define DOCTEST_REF_WRAP(x)

Definition at line 1011 of file doctest.h.

◆ DOCTEST_EMPTY

#define DOCTEST_EMPTY

◆ DOCTEST_FAIL

#define DOCTEST_FAIL (   x)    DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, x)

Definition at line 1966 of file doctest.h.

◆ DOCTEST_FAIL_CHECK

#define DOCTEST_FAIL_CHECK (   x)    DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, x)

Definition at line 1965 of file doctest.h.

◆ DOCTEST_FAST_CHECK_EQ

#define DOCTEST_FAST_CHECK_EQ   DOCTEST_CHECK_EQ

Definition at line 2394 of file doctest.h.

◆ DOCTEST_FAST_CHECK_GE

#define DOCTEST_FAST_CHECK_GE   DOCTEST_CHECK_GE

Definition at line 2406 of file doctest.h.

◆ DOCTEST_FAST_CHECK_GT

#define DOCTEST_FAST_CHECK_GT   DOCTEST_CHECK_GT

Definition at line 2400 of file doctest.h.

◆ DOCTEST_FAST_CHECK_LE

#define DOCTEST_FAST_CHECK_LE   DOCTEST_CHECK_LE

Definition at line 2409 of file doctest.h.

◆ DOCTEST_FAST_CHECK_LT

#define DOCTEST_FAST_CHECK_LT   DOCTEST_CHECK_LT

Definition at line 2403 of file doctest.h.

◆ DOCTEST_FAST_CHECK_NE

#define DOCTEST_FAST_CHECK_NE   DOCTEST_CHECK_NE

Definition at line 2397 of file doctest.h.

◆ DOCTEST_FAST_CHECK_UNARY

#define DOCTEST_FAST_CHECK_UNARY   DOCTEST_CHECK_UNARY

Definition at line 2413 of file doctest.h.

◆ DOCTEST_FAST_CHECK_UNARY_FALSE

#define DOCTEST_FAST_CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE

Definition at line 2416 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_EQ

#define DOCTEST_FAST_REQUIRE_EQ   DOCTEST_REQUIRE_EQ

Definition at line 2395 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_GE

#define DOCTEST_FAST_REQUIRE_GE   DOCTEST_REQUIRE_GE

Definition at line 2407 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_GT

#define DOCTEST_FAST_REQUIRE_GT   DOCTEST_REQUIRE_GT

Definition at line 2401 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_LE

#define DOCTEST_FAST_REQUIRE_LE   DOCTEST_REQUIRE_LE

Definition at line 2410 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_LT

#define DOCTEST_FAST_REQUIRE_LT   DOCTEST_REQUIRE_LT

Definition at line 2404 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_NE

#define DOCTEST_FAST_REQUIRE_NE   DOCTEST_REQUIRE_NE

Definition at line 2398 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_UNARY

#define DOCTEST_FAST_REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY

Definition at line 2414 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_UNARY_FALSE

#define DOCTEST_FAST_REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE

Definition at line 2417 of file doctest.h.

◆ DOCTEST_FAST_WARN_EQ

#define DOCTEST_FAST_WARN_EQ   DOCTEST_WARN_EQ

Definition at line 2393 of file doctest.h.

◆ DOCTEST_FAST_WARN_GE

#define DOCTEST_FAST_WARN_GE   DOCTEST_WARN_GE

Definition at line 2405 of file doctest.h.

◆ DOCTEST_FAST_WARN_GT

#define DOCTEST_FAST_WARN_GT   DOCTEST_WARN_GT

Definition at line 2399 of file doctest.h.

◆ DOCTEST_FAST_WARN_LE

#define DOCTEST_FAST_WARN_LE   DOCTEST_WARN_LE

Definition at line 2408 of file doctest.h.

◆ DOCTEST_FAST_WARN_LT

#define DOCTEST_FAST_WARN_LT   DOCTEST_WARN_LT

Definition at line 2402 of file doctest.h.

◆ DOCTEST_FAST_WARN_NE

#define DOCTEST_FAST_WARN_NE   DOCTEST_WARN_NE

Definition at line 2396 of file doctest.h.

◆ DOCTEST_FAST_WARN_UNARY

#define DOCTEST_FAST_WARN_UNARY   DOCTEST_WARN_UNARY

Definition at line 2412 of file doctest.h.

◆ DOCTEST_FAST_WARN_UNARY_FALSE

#define DOCTEST_FAST_WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE

Definition at line 2415 of file doctest.h.

◆ 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; \
}

Definition at line 1025 of file doctest.h.

◆ DOCTEST_GCC

#define DOCTEST_GCC   0

Definition at line 88 of file doctest.h.

◆ DOCTEST_GCC_SUPPRESS_WARNING

#define DOCTEST_GCC_SUPPRESS_WARNING (   w)

Definition at line 118 of file doctest.h.

◆ DOCTEST_GCC_SUPPRESS_WARNING_POP

#define DOCTEST_GCC_SUPPRESS_WARNING_POP

Definition at line 119 of file doctest.h.

◆ DOCTEST_GCC_SUPPRESS_WARNING_PUSH

#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH

Definition at line 117 of file doctest.h.

◆ DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH

#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH (   w)

Definition at line 120 of file doctest.h.

◆ DOCTEST_GIVEN

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

Definition at line 2429 of file doctest.h.

◆ DOCTEST_GLOBAL_NO_WARNINGS

#define DOCTEST_GLOBAL_NO_WARNINGS (   var)
Value:
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") \
DOCTEST_CLANG_SUPPRESS_WARNING("-Wunused-variable") \
static int var DOCTEST_UNUSED
#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w)
Definition: doctest.h:106
#define DOCTEST_UNUSED

◆ DOCTEST_GLOBAL_NO_WARNINGS_END

#define DOCTEST_GLOBAL_NO_WARNINGS_END ( )    DOCTEST_CLANG_SUPPRESS_WARNING_POP

◆ DOCTEST_IMPLEMENT_FIXTURE

#define DOCTEST_IMPLEMENT_FIXTURE (   der,
  base,
  func,
  decorators 
)
Value:
namespace { \
struct der : public base \
{ \
void f(); \
}; \
static void func() { \
der v; \
v.f(); \
} \
DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, func, decorators) \
} \
inline DOCTEST_NOINLINE void der::f()
#define DOCTEST_EMPTY
f
#define DOCTEST_NOINLINE

Definition at line 1758 of file doctest.h.

◆ DOCTEST_INFO

#define DOCTEST_INFO (   expression)
Value:
DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(_DOCTEST_CAPTURE_), DOCTEST_ANONYMOUS(_DOCTEST_CAPTURE_), \
DOCTEST_ANONYMOUS(_DOCTEST_CAPTURE_), expression)
#define DOCTEST_ANONYMOUS(x)
#define DOCTEST_INFO_IMPL(lambda_name, mb_name, s_name, expression)
Definition: doctest.h:1939

Definition at line 1935 of file doctest.h.

◆ DOCTEST_INFO_IMPL

#define DOCTEST_INFO_IMPL (   lambda_name,
  mb_name,
  s_name,
  expression 
)
Value:
auto lambda_name = [&](std::ostream* s_name) { \
doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \
mb_name.m_stream = s_name; \
mb_name << expression; \
}; \
DOCTEST_MSVC_SUPPRESS_WARNING_POP \
auto DOCTEST_ANONYMOUS(_DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope(lambda_name)
#define DOCTEST_ANONYMOUS(x)
basic_ostream< char, char_traits< char > > ostream
Definition: doctest.h:398
ContextScope< L > MakeContextScope(const L &lambda)
Definition: doctest.h:1525
#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w)
Definition: doctest.h:133

Definition at line 1939 of file doctest.h.

◆ DOCTEST_INTERFACE

#define DOCTEST_INTERFACE

◆ 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(4265) \
DOCTEST_MSVC_SUPPRESS_WARNING(4986) \
DOCTEST_MSVC_SUPPRESS_WARNING(4350) \
DOCTEST_MSVC_SUPPRESS_WARNING(4668) \
DOCTEST_MSVC_SUPPRESS_WARNING(4365) \
DOCTEST_MSVC_SUPPRESS_WARNING(4774) \
DOCTEST_MSVC_SUPPRESS_WARNING(4820) \
DOCTEST_MSVC_SUPPRESS_WARNING(4625) \
DOCTEST_MSVC_SUPPRESS_WARNING(4626) \
DOCTEST_MSVC_SUPPRESS_WARNING(5027) \
DOCTEST_MSVC_SUPPRESS_WARNING(5026) \
DOCTEST_MSVC_SUPPRESS_WARNING(4623) \
DOCTEST_MSVC_SUPPRESS_WARNING(5039) \
DOCTEST_MSVC_SUPPRESS_WARNING(5045) \
DOCTEST_MSVC_SUPPRESS_WARNING(5105)
#define DOCTEST_MSVC_SUPPRESS_WARNING(w)
Definition: doctest.h:131

◆ 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 (   x)    DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, x)

Definition at line 1964 of file doctest.h.

◆ DOCTEST_MSVC

#define DOCTEST_MSVC   0

Definition at line 82 of file doctest.h.

◆ DOCTEST_MSVC_SUPPRESS_WARNING

#define DOCTEST_MSVC_SUPPRESS_WARNING (   w)

Definition at line 131 of file doctest.h.

◆ DOCTEST_MSVC_SUPPRESS_WARNING_POP

#define DOCTEST_MSVC_SUPPRESS_WARNING_POP

Definition at line 132 of file doctest.h.

◆ DOCTEST_MSVC_SUPPRESS_WARNING_PUSH

#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH

Definition at line 130 of file doctest.h.

◆ DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH

#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH (   w)

Definition at line 133 of file doctest.h.

◆ DOCTEST_NOINLINE

#define DOCTEST_NOINLINE   __attribute__((noinline))

◆ 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_ANONYMOUS(x)
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature)
Definition: doctest.h:1911

Definition at line 1918 of file doctest.h.

◆ 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_)) = \
DOCTEST_GLOBAL_NO_WARNINGS_END() \
doctest::String translatorName(signature)
#define DOCTEST_ANONYMOUS(x)
int registerExceptionTranslator(String(*translateFunction)(T))
Definition: doctest.h:1549

Definition at line 1911 of file doctest.h.

◆ DOCTEST_REGISTER_FUNCTION

#define DOCTEST_REGISTER_FUNCTION (   global_prefix,
  f,
  decorators 
)
Value:
global_prefix DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(_DOCTEST_ANON_VAR_)) = \
f, __FILE__, __LINE__, \
decorators); \
DOCTEST_GLOBAL_NO_WARNINGS_END()
#define DOCTEST_ANONYMOUS(x)
#define DOCTEST_GLOBAL_NO_WARNINGS(var)
DOCTEST_INTERFACE doctest::detail::TestSuite & getCurrentTestSuite()
DOCTEST_INTERFACE int regTest(const TestCase &tc)

Definition at line 1749 of file doctest.h.

◆ DOCTEST_REGISTER_LISTENER

#define DOCTEST_REGISTER_LISTENER (   name,
  priority,
  reporter 
)
Value:
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(_DOCTEST_ANON_REPORTER_)) = \
doctest::registerReporter<reporter>(name, priority, false); \
DOCTEST_GLOBAL_NO_WARNINGS_END() typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_ANONYMOUS(x)
#define DOCTEST_GLOBAL_NO_WARNINGS(var)

Definition at line 1929 of file doctest.h.

◆ DOCTEST_REGISTER_REPORTER

#define DOCTEST_REGISTER_REPORTER (   name,
  priority,
  reporter 
)
Value:
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(_DOCTEST_ANON_REPORTER_)) = \
doctest::registerReporter<reporter>(name, priority, true); \
DOCTEST_GLOBAL_NO_WARNINGS_END() typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_ANONYMOUS(x)
#define DOCTEST_GLOBAL_NO_WARNINGS(var)

Definition at line 1923 of file doctest.h.

◆ 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)

◆ DOCTEST_REQUIRE

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

Definition at line 2003 of file doctest.h.

◆ DOCTEST_REQUIRE_EQ

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

Definition at line 2127 of file doctest.h.

◆ DOCTEST_REQUIRE_FALSE

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

Definition at line 2006 of file doctest.h.

◆ DOCTEST_REQUIRE_FALSE_MESSAGE

#define DOCTEST_REQUIRE_FALSE_MESSAGE (   cond,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE_FALSE, cond); } while((void)0, 0)

Definition at line 2014 of file doctest.h.

◆ DOCTEST_REQUIRE_GE

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

Definition at line 2139 of file doctest.h.

◆ DOCTEST_REQUIRE_GT

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

Definition at line 2133 of file doctest.h.

◆ DOCTEST_REQUIRE_LE

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

Definition at line 2142 of file doctest.h.

◆ DOCTEST_REQUIRE_LT

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

Definition at line 2136 of file doctest.h.

◆ DOCTEST_REQUIRE_MESSAGE

#define DOCTEST_REQUIRE_MESSAGE (   cond,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } while((void)0, 0)

Definition at line 2011 of file doctest.h.

◆ DOCTEST_REQUIRE_NE

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

Definition at line 2130 of file doctest.h.

◆ DOCTEST_REQUIRE_NOTHROW

#define DOCTEST_REQUIRE_NOTHROW (   expr)    DOCTEST_ASSERT_NOTHROW(expr, DT_REQUIRE_NOTHROW)

Definition at line 2074 of file doctest.h.

◆ DOCTEST_REQUIRE_NOTHROW_MESSAGE

#define DOCTEST_REQUIRE_NOTHROW_MESSAGE (   expr,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_NOTHROW(expr); } while((void)0, 0)

Definition at line 2090 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS

#define DOCTEST_REQUIRE_THROWS (   expr)    DOCTEST_ASSERT_THROWS_WITH(expr, DT_REQUIRE_THROWS, "")

Definition at line 2058 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS_AS

#define DOCTEST_REQUIRE_THROWS_AS (   expr,
  ... 
)    DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_AS, "", __VA_ARGS__)

Definition at line 2062 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS_AS_MESSAGE

#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE (   expr,
  ex,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS_AS(expr, ex); } while((void)0, 0)

Definition at line 2081 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS_MESSAGE

#define DOCTEST_REQUIRE_THROWS_MESSAGE (   expr,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS(expr); } while((void)0, 0)

Definition at line 2078 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS_WITH

#define DOCTEST_REQUIRE_THROWS_WITH (   expr,
  ... 
)    DOCTEST_ASSERT_THROWS_WITH(expr, DT_REQUIRE_THROWS_WITH, __VA_ARGS__)

Definition at line 2066 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS_WITH_AS

#define DOCTEST_REQUIRE_THROWS_WITH_AS (   expr,
  message,
  ... 
)    DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_WITH_AS, message, __VA_ARGS__)

Definition at line 2070 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE

#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex); } while((void)0, 0)

Definition at line 2087 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS_WITH_MESSAGE

#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE (   expr,
  with,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS_WITH(expr, with); } while((void)0, 0)

Definition at line 2084 of file doctest.h.

◆ DOCTEST_REQUIRE_UNARY

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

Definition at line 2146 of file doctest.h.

◆ DOCTEST_REQUIRE_UNARY_FALSE

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

Definition at line 2149 of file doctest.h.

◆ DOCTEST_SCENARIO

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

Definition at line 2424 of file doctest.h.

◆ DOCTEST_SCENARIO_CLASS

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

Definition at line 2425 of file doctest.h.

◆ DOCTEST_SCENARIO_TEMPLATE

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

Definition at line 2426 of file doctest.h.

◆ DOCTEST_SCENARIO_TEMPLATE_DEFINE

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

Definition at line 2427 of file doctest.h.

◆ DOCTEST_SINGLE_HEADER

#define DOCTEST_SINGLE_HEADER

Definition at line 2610 of file doctest.h.

◆ DOCTEST_STD_NAMESPACE_BEGIN

#define DOCTEST_STD_NAMESPACE_BEGIN   namespace std {

◆ DOCTEST_STD_NAMESPACE_END

#define DOCTEST_STD_NAMESPACE_END   }

◆ 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_ANONYMOUS(x)
#define DOCTEST_UNUSED

Definition at line 1869 of file doctest.h.

◆ 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)

Definition at line 1783 of file doctest.h.

◆ 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

Definition at line 1793 of file doctest.h.

◆ 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_ANONYMOUS(x)
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators)
Definition: doctest.h:1758

Definition at line 1798 of file doctest.h.

◆ 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__)

Definition at line 1865 of file doctest.h.

◆ 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__) \
typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_ANONYMOUS(x)
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon,...)
Definition: doctest.h:1846

Definition at line 1855 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_DEFINE

#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE (   dec,
  T,
  id 
)
Value:
DOCTEST_ANONYMOUS(_DOCTEST_ANON_TMP_))
#define DOCTEST_ANONYMOUS(x)
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func)
Definition: doctest.h:1815
#define DOCTEST_CAT(s1, s2)

Definition at line 1842 of file doctest.h.

◆ 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 { \
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::detail::type_to_string<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()
DOCTEST_INTERFACE doctest::detail::TestSuite & getCurrentTestSuite()
DOCTEST_INTERFACE int regTest(const TestCase &tc)

Definition at line 1815 of file doctest.h.

◆ 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()
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func)
Definition: doctest.h:1815
#define DOCTEST_CAT(s1, s2)

Definition at line 1859 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE

#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE   DOCTEST_TEST_CASE_TEMPLATE_INVOKE

Definition at line 2419 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL

#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL (   id,
  anon,
  ... 
)
Value:
doctest::detail::instantiationHelper(DOCTEST_CAT(id, ITERATOR)<__VA_ARGS__>(__FILE__, __LINE__, 0));\
DOCTEST_GLOBAL_NO_WARNINGS_END()
int instantiationHelper(const T &)
Definition: doctest.h:1266
#define DOCTEST_GLOBAL_NO_WARNINGS(var)
#define DOCTEST_CAT(s1, s2)

Definition at line 1846 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_INVOKE

#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE (   id,
  ... 
)
Value:
DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(_DOCTEST_ANON_TMP_), std::tuple<__VA_ARGS__>) \
typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_ANONYMOUS(x)
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon,...)
Definition: doctest.h:1846

Definition at line 1851 of file doctest.h.

◆ DOCTEST_TEST_SUITE

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

Definition at line 1893 of file doctest.h.

◆ DOCTEST_TEST_SUITE_BEGIN

#define DOCTEST_TEST_SUITE_BEGIN (   decorators)
Value:
DOCTEST_GLOBAL_NO_WARNINGS_END() \
typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_ANONYMOUS(x)
DOCTEST_INTERFACE int setTestSuite(const TestSuite &ts)
#define DOCTEST_GLOBAL_NO_WARNINGS(var)

Definition at line 1897 of file doctest.h.

◆ DOCTEST_TEST_SUITE_END

#define DOCTEST_TEST_SUITE_END
Value:
DOCTEST_GLOBAL_NO_WARNINGS_END() \
typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_ANONYMOUS(x)
DOCTEST_INTERFACE int setTestSuite(const TestSuite &ts)
#define DOCTEST_GLOBAL_NO_WARNINGS(var)

Definition at line 1904 of file doctest.h.

◆ 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") \
static bool inited = false; \
DOCTEST_MSVC_SUPPRESS_WARNING_POP \
DOCTEST_CLANG_SUPPRESS_WARNING_POP \
if(!inited) { \
data* decorators; \
inited = true; \
} \
return data; \
} \
} \
} \
namespace ns_name
#define DOCTEST_NOINLINE
DOCTEST_INTERFACE doctest::detail::TestSuite & getCurrentTestSuite()

Definition at line 1874 of file doctest.h.

◆ DOCTEST_THEN

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

Definition at line 2432 of file doctest.h.

◆ DOCTEST_TO_LVALUE

#define DOCTEST_TO_LVALUE (   ...)    __VA_ARGS__

Definition at line 1968 of file doctest.h.

◆ DOCTEST_TOSTR

#define DOCTEST_TOSTR (   x)    #x

◆ DOCTEST_TYPE_TO_STRING

#define DOCTEST_TYPE_TO_STRING (   ...)
Value:
namespace doctest { namespace detail { \
DOCTEST_TYPE_TO_STRING_IMPL(__VA_ARGS__) \
} \
} \
typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_ANONYMOUS(x)

Definition at line 1808 of file doctest.h.

◆ DOCTEST_TYPE_TO_STRING_IMPL

#define DOCTEST_TYPE_TO_STRING_IMPL (   ...)
Value:
template <> \
inline const char* type_to_string<__VA_ARGS__>() { \
return "<" #__VA_ARGS__ ">"; \
}

Definition at line 1803 of file doctest.h.

◆ DOCTEST_UNARY_ASSERT

#define DOCTEST_UNARY_ASSERT (   assert_type,
  ... 
)
Value:
do { \
doctest::detail::ResultBuilder _DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #__VA_ARGS__); \
DOCTEST_WRAP_IN_TRY(_DOCTEST_RB.unary_assert(__VA_ARGS__)) \
} while((void)0, 0)
#define DOCTEST_ASSERT_LOG_AND_REACT(b)
Definition: doctest.h:1725

Definition at line 2105 of file doctest.h.

◆ DOCTEST_UNUSED

#define DOCTEST_UNUSED   __attribute__((unused))

◆ DOCTEST_VERSION

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

Definition at line 54 of file doctest.h.

◆ DOCTEST_VERSION_MAJOR

#define DOCTEST_VERSION_MAJOR   2

Definition at line 49 of file doctest.h.

◆ DOCTEST_VERSION_MINOR

#define DOCTEST_VERSION_MINOR   3

Definition at line 50 of file doctest.h.

◆ DOCTEST_VERSION_PATCH

#define DOCTEST_VERSION_PATCH   7

Definition at line 51 of file doctest.h.

◆ DOCTEST_VERSION_STR

#define DOCTEST_VERSION_STR   "2.3.7"

Definition at line 52 of file doctest.h.

◆ DOCTEST_WARN

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

Definition at line 2001 of file doctest.h.

◆ DOCTEST_WARN_EQ

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

Definition at line 2125 of file doctest.h.

◆ DOCTEST_WARN_FALSE

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

Definition at line 2004 of file doctest.h.

◆ DOCTEST_WARN_FALSE_MESSAGE

#define DOCTEST_WARN_FALSE_MESSAGE (   cond,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN_FALSE, cond); } while((void)0, 0)

Definition at line 2012 of file doctest.h.

◆ DOCTEST_WARN_GE

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

Definition at line 2137 of file doctest.h.

◆ DOCTEST_WARN_GT

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

Definition at line 2131 of file doctest.h.

◆ DOCTEST_WARN_LE

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

Definition at line 2140 of file doctest.h.

◆ DOCTEST_WARN_LT

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

Definition at line 2134 of file doctest.h.

◆ DOCTEST_WARN_MESSAGE

#define DOCTEST_WARN_MESSAGE (   cond,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } while((void)0, 0)

Definition at line 2009 of file doctest.h.

◆ DOCTEST_WARN_NE

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

Definition at line 2128 of file doctest.h.

◆ DOCTEST_WARN_NOTHROW

#define DOCTEST_WARN_NOTHROW (   expr)    DOCTEST_ASSERT_NOTHROW(expr, DT_WARN_NOTHROW)

Definition at line 2072 of file doctest.h.

◆ DOCTEST_WARN_NOTHROW_MESSAGE

#define DOCTEST_WARN_NOTHROW_MESSAGE (   expr,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_WARN_NOTHROW(expr); } while((void)0, 0)

Definition at line 2088 of file doctest.h.

◆ DOCTEST_WARN_THROWS

#define DOCTEST_WARN_THROWS (   expr)    DOCTEST_ASSERT_THROWS_WITH(expr, DT_WARN_THROWS, "")

Definition at line 2056 of file doctest.h.

◆ DOCTEST_WARN_THROWS_AS

#define DOCTEST_WARN_THROWS_AS (   expr,
  ... 
)    DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_AS, "", __VA_ARGS__)

Definition at line 2060 of file doctest.h.

◆ DOCTEST_WARN_THROWS_AS_MESSAGE

#define DOCTEST_WARN_THROWS_AS_MESSAGE (   expr,
  ex,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS_AS(expr, ex); } while((void)0, 0)

Definition at line 2079 of file doctest.h.

◆ DOCTEST_WARN_THROWS_MESSAGE

#define DOCTEST_WARN_THROWS_MESSAGE (   expr,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS(expr); } while((void)0, 0)

Definition at line 2076 of file doctest.h.

◆ DOCTEST_WARN_THROWS_WITH

#define DOCTEST_WARN_THROWS_WITH (   expr,
  ... 
)    DOCTEST_ASSERT_THROWS_WITH(expr, DT_WARN_THROWS_WITH, __VA_ARGS__)

Definition at line 2064 of file doctest.h.

◆ DOCTEST_WARN_THROWS_WITH_AS

#define DOCTEST_WARN_THROWS_WITH_AS (   expr,
  message,
  ... 
)    DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_WITH_AS, message, __VA_ARGS__)

Definition at line 2068 of file doctest.h.

◆ DOCTEST_WARN_THROWS_WITH_AS_MESSAGE

#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE (   expr,
  with,
  ex,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex); } while((void)0, 0)

Definition at line 2085 of file doctest.h.

◆ DOCTEST_WARN_THROWS_WITH_MESSAGE

#define DOCTEST_WARN_THROWS_WITH_MESSAGE (   expr,
  with,
  msg 
)    do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS_WITH(expr, with); } while((void)0, 0)

Definition at line 2082 of file doctest.h.

◆ DOCTEST_WARN_UNARY

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

Definition at line 2144 of file doctest.h.

◆ DOCTEST_WARN_UNARY_FALSE

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

Definition at line 2147 of file doctest.h.

◆ DOCTEST_WHEN

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

Definition at line 2430 of file doctest.h.

◆ DOCTEST_WRAP_IN_TRY

#define DOCTEST_WRAP_IN_TRY (   x)    x;

Definition at line 1731 of file doctest.h.

◆ FAIL

#define FAIL   DOCTEST_FAIL

Definition at line 2461 of file doctest.h.

◆ FAIL_CHECK

#define FAIL_CHECK   DOCTEST_FAIL_CHECK

Definition at line 2460 of file doctest.h.

◆ FAST_CHECK_EQ

#define FAST_CHECK_EQ   DOCTEST_FAST_CHECK_EQ

Definition at line 2545 of file doctest.h.

◆ FAST_CHECK_GE

#define FAST_CHECK_GE   DOCTEST_FAST_CHECK_GE

Definition at line 2557 of file doctest.h.

◆ FAST_CHECK_GT

#define FAST_CHECK_GT   DOCTEST_FAST_CHECK_GT

Definition at line 2551 of file doctest.h.

◆ FAST_CHECK_LE

#define FAST_CHECK_LE   DOCTEST_FAST_CHECK_LE

Definition at line 2560 of file doctest.h.

◆ FAST_CHECK_LT

#define FAST_CHECK_LT   DOCTEST_FAST_CHECK_LT

Definition at line 2554 of file doctest.h.

◆ FAST_CHECK_NE

#define FAST_CHECK_NE   DOCTEST_FAST_CHECK_NE

Definition at line 2548 of file doctest.h.

◆ FAST_CHECK_UNARY

#define FAST_CHECK_UNARY   DOCTEST_FAST_CHECK_UNARY

Definition at line 2564 of file doctest.h.

◆ FAST_CHECK_UNARY_FALSE

#define FAST_CHECK_UNARY_FALSE   DOCTEST_FAST_CHECK_UNARY_FALSE

Definition at line 2567 of file doctest.h.

◆ FAST_REQUIRE_EQ

#define FAST_REQUIRE_EQ   DOCTEST_FAST_REQUIRE_EQ

Definition at line 2546 of file doctest.h.

◆ FAST_REQUIRE_GE

#define FAST_REQUIRE_GE   DOCTEST_FAST_REQUIRE_GE

Definition at line 2558 of file doctest.h.

◆ FAST_REQUIRE_GT

#define FAST_REQUIRE_GT   DOCTEST_FAST_REQUIRE_GT

Definition at line 2552 of file doctest.h.

◆ FAST_REQUIRE_LE

#define FAST_REQUIRE_LE   DOCTEST_FAST_REQUIRE_LE

Definition at line 2561 of file doctest.h.

◆ FAST_REQUIRE_LT

#define FAST_REQUIRE_LT   DOCTEST_FAST_REQUIRE_LT

Definition at line 2555 of file doctest.h.

◆ FAST_REQUIRE_NE

#define FAST_REQUIRE_NE   DOCTEST_FAST_REQUIRE_NE

Definition at line 2549 of file doctest.h.

◆ FAST_REQUIRE_UNARY

#define FAST_REQUIRE_UNARY   DOCTEST_FAST_REQUIRE_UNARY

Definition at line 2565 of file doctest.h.

◆ FAST_REQUIRE_UNARY_FALSE

#define FAST_REQUIRE_UNARY_FALSE   DOCTEST_FAST_REQUIRE_UNARY_FALSE

Definition at line 2568 of file doctest.h.

◆ FAST_WARN_EQ

#define FAST_WARN_EQ   DOCTEST_FAST_WARN_EQ

Definition at line 2544 of file doctest.h.

◆ FAST_WARN_GE

#define FAST_WARN_GE   DOCTEST_FAST_WARN_GE

Definition at line 2556 of file doctest.h.

◆ FAST_WARN_GT

#define FAST_WARN_GT   DOCTEST_FAST_WARN_GT

Definition at line 2550 of file doctest.h.

◆ FAST_WARN_LE

#define FAST_WARN_LE   DOCTEST_FAST_WARN_LE

Definition at line 2559 of file doctest.h.

◆ FAST_WARN_LT

#define FAST_WARN_LT   DOCTEST_FAST_WARN_LT

Definition at line 2553 of file doctest.h.

◆ FAST_WARN_NE

#define FAST_WARN_NE   DOCTEST_FAST_WARN_NE

Definition at line 2547 of file doctest.h.

◆ FAST_WARN_UNARY

#define FAST_WARN_UNARY   DOCTEST_FAST_WARN_UNARY

Definition at line 2563 of file doctest.h.

◆ FAST_WARN_UNARY_FALSE

#define FAST_WARN_UNARY_FALSE   DOCTEST_FAST_WARN_UNARY_FALSE

Definition at line 2566 of file doctest.h.

◆ GIVEN

#define GIVEN   DOCTEST_GIVEN

Definition at line 2512 of file doctest.h.

◆ INFO

#define INFO   DOCTEST_INFO

Definition at line 2454 of file doctest.h.

◆ MESSAGE

#define MESSAGE   DOCTEST_MESSAGE

Definition at line 2459 of file doctest.h.

◆ REGISTER_EXCEPTION_TRANSLATOR

#define REGISTER_EXCEPTION_TRANSLATOR   DOCTEST_REGISTER_EXCEPTION_TRANSLATOR

Definition at line 2451 of file doctest.h.

◆ REGISTER_LISTENER

#define REGISTER_LISTENER   DOCTEST_REGISTER_LISTENER

Definition at line 2453 of file doctest.h.

◆ REGISTER_REPORTER

#define REGISTER_REPORTER   DOCTEST_REGISTER_REPORTER

Definition at line 2452 of file doctest.h.

◆ REQUIRE

#define REQUIRE   DOCTEST_REQUIRE

Definition at line 2478 of file doctest.h.

◆ REQUIRE_EQ

#define REQUIRE_EQ   DOCTEST_REQUIRE_EQ

Definition at line 2520 of file doctest.h.

◆ REQUIRE_FALSE

#define REQUIRE_FALSE   DOCTEST_REQUIRE_FALSE

Definition at line 2479 of file doctest.h.

◆ REQUIRE_FALSE_MESSAGE

#define REQUIRE_FALSE_MESSAGE   DOCTEST_REQUIRE_FALSE_MESSAGE

Definition at line 2501 of file doctest.h.

◆ REQUIRE_GE

#define REQUIRE_GE   DOCTEST_REQUIRE_GE

Definition at line 2532 of file doctest.h.

◆ REQUIRE_GT

#define REQUIRE_GT   DOCTEST_REQUIRE_GT

Definition at line 2526 of file doctest.h.

◆ REQUIRE_LE

#define REQUIRE_LE   DOCTEST_REQUIRE_LE

Definition at line 2535 of file doctest.h.

◆ REQUIRE_LT

#define REQUIRE_LT   DOCTEST_REQUIRE_LT

Definition at line 2529 of file doctest.h.

◆ REQUIRE_MESSAGE

#define REQUIRE_MESSAGE   DOCTEST_REQUIRE_MESSAGE

Definition at line 2500 of file doctest.h.

◆ REQUIRE_NE

#define REQUIRE_NE   DOCTEST_REQUIRE_NE

Definition at line 2523 of file doctest.h.

◆ REQUIRE_NOTHROW

#define REQUIRE_NOTHROW   DOCTEST_REQUIRE_NOTHROW

Definition at line 2484 of file doctest.h.

◆ REQUIRE_NOTHROW_MESSAGE

#define REQUIRE_NOTHROW_MESSAGE   DOCTEST_REQUIRE_NOTHROW_MESSAGE

Definition at line 2506 of file doctest.h.

◆ REQUIRE_THROWS

#define REQUIRE_THROWS   DOCTEST_REQUIRE_THROWS

Definition at line 2480 of file doctest.h.

◆ REQUIRE_THROWS_AS

#define REQUIRE_THROWS_AS   DOCTEST_REQUIRE_THROWS_AS

Definition at line 2481 of file doctest.h.

◆ REQUIRE_THROWS_AS_MESSAGE

#define REQUIRE_THROWS_AS_MESSAGE   DOCTEST_REQUIRE_THROWS_AS_MESSAGE

Definition at line 2503 of file doctest.h.

◆ REQUIRE_THROWS_MESSAGE

#define REQUIRE_THROWS_MESSAGE   DOCTEST_REQUIRE_THROWS_MESSAGE

Definition at line 2502 of file doctest.h.

◆ REQUIRE_THROWS_WITH

#define REQUIRE_THROWS_WITH   DOCTEST_REQUIRE_THROWS_WITH

Definition at line 2482 of file doctest.h.

◆ REQUIRE_THROWS_WITH_AS

#define REQUIRE_THROWS_WITH_AS   DOCTEST_REQUIRE_THROWS_WITH_AS

Definition at line 2483 of file doctest.h.

◆ REQUIRE_THROWS_WITH_AS_MESSAGE

#define REQUIRE_THROWS_WITH_AS_MESSAGE   DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE

Definition at line 2505 of file doctest.h.

◆ REQUIRE_THROWS_WITH_MESSAGE

#define REQUIRE_THROWS_WITH_MESSAGE   DOCTEST_REQUIRE_THROWS_WITH_MESSAGE

Definition at line 2504 of file doctest.h.

◆ REQUIRE_UNARY

#define REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY

Definition at line 2538 of file doctest.h.

◆ REQUIRE_UNARY_FALSE

#define REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE

Definition at line 2541 of file doctest.h.

◆ SCENARIO

#define SCENARIO   DOCTEST_SCENARIO

Definition at line 2508 of file doctest.h.

◆ SCENARIO_CLASS

#define SCENARIO_CLASS   DOCTEST_SCENARIO_CLASS

Definition at line 2509 of file doctest.h.

◆ SCENARIO_TEMPLATE

#define SCENARIO_TEMPLATE   DOCTEST_SCENARIO_TEMPLATE

Definition at line 2510 of file doctest.h.

◆ SCENARIO_TEMPLATE_DEFINE

#define SCENARIO_TEMPLATE_DEFINE   DOCTEST_SCENARIO_TEMPLATE_DEFINE

Definition at line 2511 of file doctest.h.

◆ SUBCASE

#define SUBCASE   DOCTEST_SUBCASE

Definition at line 2447 of file doctest.h.

◆ TEST_CASE

#define TEST_CASE   DOCTEST_TEST_CASE

Definition at line 2439 of file doctest.h.

◆ TEST_CASE_CLASS

#define TEST_CASE_CLASS   DOCTEST_TEST_CASE_CLASS

Definition at line 2440 of file doctest.h.

◆ TEST_CASE_FIXTURE

#define TEST_CASE_FIXTURE   DOCTEST_TEST_CASE_FIXTURE

Definition at line 2441 of file doctest.h.

◆ TEST_CASE_TEMPLATE

#define TEST_CASE_TEMPLATE   DOCTEST_TEST_CASE_TEMPLATE

Definition at line 2443 of file doctest.h.

◆ TEST_CASE_TEMPLATE_APPLY

#define TEST_CASE_TEMPLATE_APPLY   DOCTEST_TEST_CASE_TEMPLATE_APPLY

Definition at line 2446 of file doctest.h.

◆ TEST_CASE_TEMPLATE_DEFINE

#define TEST_CASE_TEMPLATE_DEFINE   DOCTEST_TEST_CASE_TEMPLATE_DEFINE

Definition at line 2444 of file doctest.h.

◆ TEST_CASE_TEMPLATE_INSTANTIATE

#define TEST_CASE_TEMPLATE_INSTANTIATE   DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE

Definition at line 2570 of file doctest.h.

◆ TEST_CASE_TEMPLATE_INVOKE

#define TEST_CASE_TEMPLATE_INVOKE   DOCTEST_TEST_CASE_TEMPLATE_INVOKE

Definition at line 2445 of file doctest.h.

◆ TEST_SUITE

#define TEST_SUITE   DOCTEST_TEST_SUITE

Definition at line 2448 of file doctest.h.

◆ TEST_SUITE_BEGIN

#define TEST_SUITE_BEGIN   DOCTEST_TEST_SUITE_BEGIN

Definition at line 2449 of file doctest.h.

◆ TEST_SUITE_END

#define TEST_SUITE_END   DOCTEST_TEST_SUITE_END

Definition at line 2450 of file doctest.h.

◆ THEN

#define THEN   DOCTEST_THEN

Definition at line 2515 of file doctest.h.

◆ TO_LVALUE

#define TO_LVALUE   DOCTEST_TO_LVALUE

Definition at line 2462 of file doctest.h.

◆ TYPE_TO_STRING

#define TYPE_TO_STRING   DOCTEST_TYPE_TO_STRING

Definition at line 2442 of file doctest.h.

◆ WARN

#define WARN   DOCTEST_WARN

Definition at line 2464 of file doctest.h.

◆ WARN_EQ

#define WARN_EQ   DOCTEST_WARN_EQ

Definition at line 2518 of file doctest.h.

◆ WARN_FALSE

#define WARN_FALSE   DOCTEST_WARN_FALSE

Definition at line 2465 of file doctest.h.

◆ WARN_FALSE_MESSAGE

#define WARN_FALSE_MESSAGE   DOCTEST_WARN_FALSE_MESSAGE

Definition at line 2487 of file doctest.h.

◆ WARN_GE

#define WARN_GE   DOCTEST_WARN_GE

Definition at line 2530 of file doctest.h.

◆ WARN_GT

#define WARN_GT   DOCTEST_WARN_GT

Definition at line 2524 of file doctest.h.

◆ WARN_LE

#define WARN_LE   DOCTEST_WARN_LE

Definition at line 2533 of file doctest.h.

◆ WARN_LT

#define WARN_LT   DOCTEST_WARN_LT

Definition at line 2527 of file doctest.h.

◆ WARN_MESSAGE

#define WARN_MESSAGE   DOCTEST_WARN_MESSAGE

Definition at line 2486 of file doctest.h.

◆ WARN_NE

#define WARN_NE   DOCTEST_WARN_NE

Definition at line 2521 of file doctest.h.

◆ WARN_NOTHROW

#define WARN_NOTHROW   DOCTEST_WARN_NOTHROW

Definition at line 2470 of file doctest.h.

◆ WARN_NOTHROW_MESSAGE

#define WARN_NOTHROW_MESSAGE   DOCTEST_WARN_NOTHROW_MESSAGE

Definition at line 2492 of file doctest.h.

◆ WARN_THROWS

#define WARN_THROWS   DOCTEST_WARN_THROWS

Definition at line 2466 of file doctest.h.

◆ WARN_THROWS_AS

#define WARN_THROWS_AS   DOCTEST_WARN_THROWS_AS

Definition at line 2467 of file doctest.h.

◆ WARN_THROWS_AS_MESSAGE

#define WARN_THROWS_AS_MESSAGE   DOCTEST_WARN_THROWS_AS_MESSAGE

Definition at line 2489 of file doctest.h.

◆ WARN_THROWS_MESSAGE

#define WARN_THROWS_MESSAGE   DOCTEST_WARN_THROWS_MESSAGE

Definition at line 2488 of file doctest.h.

◆ WARN_THROWS_WITH

#define WARN_THROWS_WITH   DOCTEST_WARN_THROWS_WITH

Definition at line 2468 of file doctest.h.

◆ WARN_THROWS_WITH_AS

#define WARN_THROWS_WITH_AS   DOCTEST_WARN_THROWS_WITH_AS

Definition at line 2469 of file doctest.h.

◆ WARN_THROWS_WITH_AS_MESSAGE

#define WARN_THROWS_WITH_AS_MESSAGE   DOCTEST_WARN_THROWS_WITH_AS_MESSAGE

Definition at line 2491 of file doctest.h.

◆ WARN_THROWS_WITH_MESSAGE

#define WARN_THROWS_WITH_MESSAGE   DOCTEST_WARN_THROWS_WITH_MESSAGE

Definition at line 2490 of file doctest.h.

◆ WARN_UNARY

#define WARN_UNARY   DOCTEST_WARN_UNARY

Definition at line 2536 of file doctest.h.

◆ WARN_UNARY_FALSE

#define WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE

Definition at line 2539 of file doctest.h.

◆ WHEN

#define WHEN   DOCTEST_WHEN

Definition at line 2513 of file doctest.h.

Typedef Documentation

◆ ostream

typedef basic_ostream<char, char_traits<char> > ostream

Definition at line 398 of file doctest.h.

Function Documentation

◆ DOCTEST_MSVC_SUPPRESS_WARNING()

◆ DOCTEST_TEST_SUITE_END()

DOCTEST_TEST_SUITE_END ( )


mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:22