ManaPlus
Data Structures | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
doctest.h File Reference

(986a3bf)

Go to the source code of this file.

Data Structures

class  doctest::String
 
struct  doctest::String::view
 OCLINT avoid private static members. More...
 
struct  doctest::TestCaseData
 
struct  doctest::AssertData
 
struct  doctest::MessageData
 
struct  doctest::SubcaseSignature
 
struct  doctest::IContextScope
 
struct  doctest::ContextOptions
 OCLINT too many fields. More...
 
struct  doctest::detail::deferred_false< T >
 
struct  doctest::detail::has_insertion_operator_impl::any_t
 
struct  doctest::detail::has_insertion_operator_impl::has_insertion_operator< T >
 
struct  doctest::detail::has_insertion_operator< T >
 
struct  doctest::detail::StringMakerBase< C >
 
struct  doctest::detail::StringMakerBase< true >
 
struct  doctest::StringMaker< T >
 
struct  doctest::StringMaker< T * >
 
struct  doctest::StringMaker< R C::* >
 
class  doctest::Approx
 
struct  doctest::detail::TestFailureException
 
struct  doctest::detail::Subcase
 
struct  doctest::detail::Result
 
struct  doctest::detail::Expression_lhs< L >
 
struct  doctest::detail::ExpressionDecomposer
 
struct  doctest::detail::TestSuite
 
struct  doctest::detail::TestCase
 
struct  doctest::detail::RelationalComparator< int, L, R >
 
struct  doctest::detail::RelationalComparator< 0, L, R >
 
struct  doctest::detail::RelationalComparator< 1, L, R >
 
struct  doctest::detail::RelationalComparator< 2, L, R >
 
struct  doctest::detail::RelationalComparator< 3, L, R >
 
struct  doctest::detail::RelationalComparator< 4, L, R >
 
struct  doctest::detail::RelationalComparator< 5, L, R >
 
struct  doctest::detail::ResultBuilder
 
struct  doctest::detail::IExceptionTranslator
 
class  doctest::detail::ExceptionTranslator< T >
 OCLINT destructor of virtual class. More...
 
struct  doctest::detail::StringStreamBase< C >
 
struct  doctest::detail::StringStreamBase< true >
 
struct  doctest::detail::StringStream< T >
 
class  doctest::detail::ContextBuilder
 
struct  doctest::detail::ContextBuilder::ICapture
 
struct  doctest::detail::ContextBuilder::Capture< T >
 OCLINT destructor of virtual class. More...
 
struct  doctest::detail::ContextBuilder::Chunk
 
struct  doctest::detail::ContextBuilder::Node
 
class  doctest::detail::ContextScope
 
struct  doctest::detail::MessageBuilder
 
struct  doctest::test_suite
 
struct  doctest::description
 
struct  doctest::skip
 
struct  doctest::timeout
 
struct  doctest::may_fail
 
struct  doctest::should_fail
 
struct  doctest::expected_failures
 
class  doctest::Context
 
struct  doctest::CurrentTestCaseStats
 
struct  doctest::TestRunStats
 
struct  doctest::IReporter
 

Namespaces

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

Macros

#define DOCTEST_VERSION_MAJOR   1
 
#define DOCTEST_VERSION_MINOR   2
 
#define DOCTEST_VERSION_PATCH   9
 
#define DOCTEST_VERSION_STR   "1.2.9"
 
#define DOCTEST_VERSION    (DOCTEST_VERSION_MAJOR * 10000 + DOCTEST_VERSION_MINOR * 100 + DOCTEST_VERSION_PATCH)
 
#define DOCTEST_COMPILER(MAJOR, MINOR, PATCH)   ((MAJOR)*10000000 + (MINOR)*100000 + (PATCH))
 
#define DOCTEST_MSVC   0
 
#define DOCTEST_CLANG   0
 
#define DOCTEST_GCC   0
 
#define DOCTEST_CLANG_HAS_WARNING(x)   1
 
#define DOCTEST_CLANG_HAS_FEATURE(x)   0
 
#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN
 
#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END   DOCTEST_MSVC_SUPPRESS_WARNING_POP
 
#define DOCTEST_CONFIG_POSIX_SIGNALS
 
#define DOCTEST_SYMBOL_EXPORT   __attribute__((visibility("default")))
 
#define DOCTEST_SYMBOL_IMPORT
 
#define DOCTEST_INTERFACE
 
#define DOCTEST_NOINLINE   __attribute__((noinline))
 
#define DOCTEST_UNUSED   __attribute__((unused))
 
#define DOCTEST_ALIGNMENT(x)   __attribute__((aligned(x)))
 
#define DOCTEST_CONFIG_NUM_CAPTURES_ON_STACK   5
 
#define DOCTEST_CAT_IMPL(s1, s2)   s1##s2
 
#define DOCTEST_CAT(s1, s2)   DOCTEST_CAT_IMPL(s1, s2)
 
#define DOCTEST_ANONYMOUS(x)   DOCTEST_CAT(x, __LINE__)
 
#define DOCTEST_TOSTR_IMPL(...)   #__VA_ARGS__
 
#define DOCTEST_TOSTR(...)   DOCTEST_TOSTR_IMPL(__VA_ARGS__)
 
#define DOCTEST_REF_WRAP(x)   x&
 
#define DOCTEST_PLATFORM_LINUX
 
#define DOCTEST_DELETE_COPIES(type)   type(const type&) = delete; type& operator=(const type&) = delete
 
#define DOCTEST_DECLARE_COPIES(type)   type(const type&); type& operator=(const type&)
 
#define DOCTEST_DEFINE_COPIES(type)   type::type(const type&) = default; type& type::operator=(const type&) = default
 
#define DOCTEST_DECLARE_DEFAULTS(type)   type(); ~type()
 
#define DOCTEST_DEFINE_DEFAULTS(type)   type::type() = default; type::~type() = default
 
#define DOCTEST_GLOBAL_NO_WARNINGS(var)    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") static int var DOCTEST_UNUSED
 
#define DOCTEST_GLOBAL_NO_WARNINGS_END()   DOCTEST_CLANG_SUPPRESS_WARNING_POP
 
#define DOCTEST_BREAK_INTO_DEBUGGER()   ((void)0)
 
#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(op, op_str, op_macro)
 
#define DOCTEST_FORBIT_EXPRESSION(rt, op)
 
#define DOCTEST_COMPARISON_RETURN_TYPE   bool
 
#define DOCTEST_RELATIONAL_OP(name, op)
 
#define DOCTEST_CMP_EQ(l, r)   l == r
 
#define DOCTEST_CMP_NE(l, r)   l != r
 
#define DOCTEST_CMP_GT(l, r)   l > r
 
#define DOCTEST_CMP_LT(l, r)   l < r
 
#define DOCTEST_CMP_GE(l, r)   l >= r
 
#define DOCTEST_CMP_LE(l, r)   l <= r
 
#define DOCTEST_BINARY_RELATIONAL_OP(n, op)    template <class L, class R> struct RelationalComparator<n, L, R> { bool operator()(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) const { return op(lhs, rhs); } };
 
#define DOCTEST_DEFINE_DECORATOR(name, type, def)
 
#define DOCTEST_EXPAND_VA_ARGS(...)   __VA_ARGS__
 
#define DOCTEST_ASSERT_LOG_AND_REACT(b)
 
#define DOCTEST_WRAP_IN_TRY(x)
 
#define DOCTEST_REGISTER_FUNCTION(f, decorators)
 
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators)
 
#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, decorators)
 
#define DOCTEST_TEST_CASE(decorators)    DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(_DOCTEST_ANON_FUNC_), decorators)
 
#define DOCTEST_TEST_CASE_FIXTURE(c, decorators)
 
#define DOCTEST_TYPE_TO_STRING_IMPL(...)
 
#define DOCTEST_TYPE_TO_STRING(...)
 
#define DOCTEST_REGISTER_TYPED_TEST_CASE_IMPL(func, type, decorators, idx)
 
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, id, anon)
 
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL_PROXY(dec, T, id, anon)
 
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(dec, T, id)    DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL_PROXY(dec, T, id, DOCTEST_ANONYMOUS(_DOCTEST_ANON_TMP_))
 
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, anon, ...)
 
#define DOCTEST_TEST_CASE_TEMPLATE(dec, T, ...)    DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, DOCTEST_ANONYMOUS(_DOCTEST_ANON_TMP_), __VA_ARGS__)
 
#define DOCTEST_SUBCASE(name)
 
#define DOCTEST_TEST_SUITE_IMPL(decorators, ns_name)
 
#define DOCTEST_TEST_SUITE(decorators)    DOCTEST_TEST_SUITE_IMPL(decorators, DOCTEST_ANONYMOUS(_DOCTEST_ANON_SUITE_))
 
#define DOCTEST_TEST_SUITE_BEGIN(decorators)
 
#define DOCTEST_TEST_SUITE_END
 
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature)
 
#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature)
 
#define DOCTEST_REGISTER_REPORTER(name, priority, reporter)
 
#define DOCTEST_INFO(x)
 
#define DOCTEST_CAPTURE(x)   DOCTEST_INFO(#x " := " << x)
 
#define DOCTEST_ADD_AT_IMPL(type, file, line, mb, x)
 
#define DOCTEST_ADD_MESSAGE_AT(file, line, x)   DOCTEST_ADD_AT_IMPL(is_warn, 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_FAIL_AT(file, line, x)   DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(_DOCTEST_MESSAGE_), x)
 
#define DOCTEST_MESSAGE(x)   DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, x)
 
#define DOCTEST_FAIL_CHECK(x)   DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, x)
 
#define DOCTEST_FAIL(x)   DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, x)
 
#define DOCTEST_TO_LVALUE(...)   TO_LVALUE_CAN_BE_USED_ONLY_IN_CPP14_MODE_OR_WITH_VS_2017_OR_NEWER
 
#define DOCTEST_ASSERT_IMPLEMENT_2(assert_type, ...)
 
#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...)
 
#define DOCTEST_WARN(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN, __VA_ARGS__)
 
#define DOCTEST_CHECK(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
 
#define DOCTEST_REQUIRE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
 
#define DOCTEST_WARN_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN_FALSE, __VA_ARGS__)
 
#define DOCTEST_CHECK_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_FALSE(...)   DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE_FALSE, __VA_ARGS__)
 
#define DOCTEST_WARN_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } while((void)0, 0)
 
#define DOCTEST_CHECK_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } while((void)0, 0)
 
#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_CHECK_FALSE_MESSAGE(cond, msg)   do { DOCTEST_INFO(msg); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } while((void)0, 0)
 
#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_ASSERT_THROWS(expr, assert_type)
 
#define DOCTEST_ASSERT_THROWS_AS(expr, assert_type, ...)
 
#define DOCTEST_ASSERT_NOTHROW(expr, assert_type)
 
#define DOCTEST_WARN_THROWS(expr)   DOCTEST_ASSERT_THROWS(expr, DT_WARN_THROWS)
 
#define DOCTEST_CHECK_THROWS(expr)   DOCTEST_ASSERT_THROWS(expr, DT_CHECK_THROWS)
 
#define DOCTEST_REQUIRE_THROWS(expr)   DOCTEST_ASSERT_THROWS(expr, DT_REQUIRE_THROWS)
 
#define DOCTEST_WARN_THROWS_AS(expr, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_AS, __VA_ARGS__)
 
#define DOCTEST_CHECK_THROWS_AS(expr, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_AS, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_THROWS_AS(expr, ...)   DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_AS, __VA_ARGS__)
 
#define DOCTEST_WARN_NOTHROW(expr)   DOCTEST_ASSERT_NOTHROW(expr, DT_WARN_NOTHROW)
 
#define DOCTEST_CHECK_NOTHROW(expr)   DOCTEST_ASSERT_NOTHROW(expr, DT_CHECK_NOTHROW)
 
#define DOCTEST_REQUIRE_NOTHROW(expr)   DOCTEST_ASSERT_NOTHROW(expr, DT_REQUIRE_NOTHROW)
 
#define DOCTEST_WARN_THROWS_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_WARN_THROWS(expr); } 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_REQUIRE_THROWS_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_THROWS(expr); } while((void)0, 0)
 
#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_CHECK_THROWS_AS_MESSAGE(expr, ex, msg)   do { DOCTEST_INFO(msg); DOCTEST_CHECK_THROWS_AS(expr, ex); } while((void)0, 0)
 
#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_WARN_NOTHROW_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_WARN_NOTHROW(expr); } while((void)0, 0)
 
#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_CHECK_NOTHROW(expr); } while((void)0, 0)
 
#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, msg)   do { DOCTEST_INFO(msg); DOCTEST_REQUIRE_NOTHROW(expr); } while((void)0, 0)
 
#define DOCTEST_BINARY_ASSERT(assert_type, comp, ...)
 
#define DOCTEST_UNARY_ASSERT(assert_type, ...)
 
#define DOCTEST_WARN_EQ(...)   DOCTEST_BINARY_ASSERT(DT_WARN_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_CHECK_EQ(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_EQ(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_WARN_NE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_NE, ne, __VA_ARGS__)
 
#define DOCTEST_CHECK_NE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_NE, ne, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_NE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_NE, ne, __VA_ARGS__)
 
#define DOCTEST_WARN_GT(...)   DOCTEST_BINARY_ASSERT(DT_WARN_GT, gt, __VA_ARGS__)
 
#define DOCTEST_CHECK_GT(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_GT, gt, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_GT(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_GT, gt, __VA_ARGS__)
 
#define DOCTEST_WARN_LT(...)   DOCTEST_BINARY_ASSERT(DT_WARN_LT, lt, __VA_ARGS__)
 
#define DOCTEST_CHECK_LT(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_LT, lt, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_LT(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_LT, lt, __VA_ARGS__)
 
#define DOCTEST_WARN_GE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_GE, ge, __VA_ARGS__)
 
#define DOCTEST_CHECK_GE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_GE, ge, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_GE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_GE, ge, __VA_ARGS__)
 
#define DOCTEST_WARN_LE(...)   DOCTEST_BINARY_ASSERT(DT_WARN_LE, le, __VA_ARGS__)
 
#define DOCTEST_CHECK_LE(...)   DOCTEST_BINARY_ASSERT(DT_CHECK_LE, le, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_LE(...)   DOCTEST_BINARY_ASSERT(DT_REQUIRE_LE, le, __VA_ARGS__)
 
#define DOCTEST_WARN_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_WARN_UNARY, __VA_ARGS__)
 
#define DOCTEST_CHECK_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_UNARY(...)   DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY, __VA_ARGS__)
 
#define DOCTEST_WARN_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_WARN_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_CHECK_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_REQUIRE_UNARY_FALSE(...)   DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_FAST_BINARY_ASSERT(assert_type, comparison, ...)
 
#define DOCTEST_FAST_UNARY_ASSERT(assert_type, ...)
 
#define DOCTEST_FAST_WARN_EQ(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_EQ(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_EQ(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_EQ, eq, __VA_ARGS__)
 
#define DOCTEST_FAST_WARN_NE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_NE, ne, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_NE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_NE, ne, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_NE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_NE, ne, __VA_ARGS__)
 
#define DOCTEST_FAST_WARN_GT(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_GT, gt, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_GT(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_GT, gt, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_GT(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_GT, gt, __VA_ARGS__)
 
#define DOCTEST_FAST_WARN_LT(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_LT, lt, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_LT(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_LT, lt, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_LT(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_LT, lt, __VA_ARGS__)
 
#define DOCTEST_FAST_WARN_GE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_GE, ge, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_GE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_GE, ge, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_GE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_GE, ge, __VA_ARGS__)
 
#define DOCTEST_FAST_WARN_LE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_LE, le, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_LE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_LE, le, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_LE(...)   DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_LE, le, __VA_ARGS__)
 
#define DOCTEST_FAST_WARN_UNARY(...)   DOCTEST_FAST_UNARY_ASSERT(DT_FAST_WARN_UNARY, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_UNARY(...)   DOCTEST_FAST_UNARY_ASSERT(DT_FAST_CHECK_UNARY, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_UNARY(...)   DOCTEST_FAST_UNARY_ASSERT(DT_FAST_REQUIRE_UNARY, __VA_ARGS__)
 
#define DOCTEST_FAST_WARN_UNARY_FALSE(...)   DOCTEST_FAST_UNARY_ASSERT(DT_FAST_WARN_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_FAST_CHECK_UNARY_FALSE(...)   DOCTEST_FAST_UNARY_ASSERT(DT_FAST_CHECK_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_FAST_REQUIRE_UNARY_FALSE(...)   DOCTEST_FAST_UNARY_ASSERT(DT_FAST_REQUIRE_UNARY_FALSE, __VA_ARGS__)
 
#define DOCTEST_SCENARIO(name)   DOCTEST_TEST_CASE(" Scenario: " name)
 
#define DOCTEST_SCENARIO_TEMPLATE(name, T, ...)   DOCTEST_TEST_CASE_TEMPLATE(" Scenario: " name, T, __VA_ARGS__)
 
#define DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id)   DOCTEST_TEST_CASE_TEMPLATE_DEFINE(" Scenario: " name, T, id)
 
#define DOCTEST_GIVEN(name)   SUBCASE(" Given: " name)
 
#define DOCTEST_WHEN(name)   SUBCASE(" When: " name)
 
#define DOCTEST_AND_WHEN(name)   SUBCASE("And when: " name)
 
#define DOCTEST_THEN(name)   SUBCASE(" Then: " name)
 
#define DOCTEST_AND_THEN(name)   SUBCASE(" And: " name)
 
#define TEST_CASE   DOCTEST_TEST_CASE
 
#define TEST_CASE_FIXTURE   DOCTEST_TEST_CASE_FIXTURE
 
#define TYPE_TO_STRING   DOCTEST_TYPE_TO_STRING
 
#define TEST_CASE_TEMPLATE   DOCTEST_TEST_CASE_TEMPLATE
 
#define TEST_CASE_TEMPLATE_DEFINE   DOCTEST_TEST_CASE_TEMPLATE_DEFINE
 
#define TEST_CASE_TEMPLATE_INSTANTIATE   DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE
 
#define SUBCASE   DOCTEST_SUBCASE
 
#define TEST_SUITE   DOCTEST_TEST_SUITE
 
#define TEST_SUITE_BEGIN   DOCTEST_TEST_SUITE_BEGIN
 
#define TEST_SUITE_END   DOCTEST_TEST_SUITE_END
 
#define REGISTER_EXCEPTION_TRANSLATOR   DOCTEST_REGISTER_EXCEPTION_TRANSLATOR
 
#define REGISTER_REPORTER   DOCTEST_REGISTER_REPORTER
 
#define INFO   DOCTEST_INFO
 
#define CAPTURE   DOCTEST_CAPTURE
 
#define ADD_MESSAGE_AT   DOCTEST_ADD_MESSAGE_AT
 
#define ADD_FAIL_CHECK_AT   DOCTEST_ADD_FAIL_CHECK_AT
 
#define ADD_FAIL_AT   DOCTEST_ADD_FAIL_AT
 
#define MESSAGE   DOCTEST_MESSAGE
 
#define FAIL_CHECK   DOCTEST_FAIL_CHECK
 
#define FAIL   DOCTEST_FAIL
 
#define TO_LVALUE   DOCTEST_TO_LVALUE
 
#define WARN   DOCTEST_WARN
 
#define WARN_FALSE   DOCTEST_WARN_FALSE
 
#define WARN_THROWS   DOCTEST_WARN_THROWS
 
#define WARN_THROWS_AS   DOCTEST_WARN_THROWS_AS
 
#define WARN_NOTHROW   DOCTEST_WARN_NOTHROW
 
#define CHECK   DOCTEST_CHECK
 
#define CHECK_FALSE   DOCTEST_CHECK_FALSE
 
#define CHECK_THROWS   DOCTEST_CHECK_THROWS
 
#define CHECK_THROWS_AS   DOCTEST_CHECK_THROWS_AS
 
#define CHECK_NOTHROW   DOCTEST_CHECK_NOTHROW
 
#define REQUIRE   DOCTEST_REQUIRE
 
#define REQUIRE_FALSE   DOCTEST_REQUIRE_FALSE
 
#define REQUIRE_THROWS   DOCTEST_REQUIRE_THROWS
 
#define REQUIRE_THROWS_AS   DOCTEST_REQUIRE_THROWS_AS
 
#define REQUIRE_NOTHROW   DOCTEST_REQUIRE_NOTHROW
 
#define WARN_MESSAGE   DOCTEST_WARN_MESSAGE
 
#define WARN_FALSE_MESSAGE   DOCTEST_WARN_FALSE_MESSAGE
 
#define WARN_THROWS_MESSAGE   DOCTEST_WARN_THROWS_MESSAGE
 
#define WARN_THROWS_AS_MESSAGE   DOCTEST_WARN_THROWS_AS_MESSAGE
 
#define WARN_NOTHROW_MESSAGE   DOCTEST_WARN_NOTHROW_MESSAGE
 
#define CHECK_MESSAGE   DOCTEST_CHECK_MESSAGE
 
#define CHECK_FALSE_MESSAGE   DOCTEST_CHECK_FALSE_MESSAGE
 
#define CHECK_THROWS_MESSAGE   DOCTEST_CHECK_THROWS_MESSAGE
 
#define CHECK_THROWS_AS_MESSAGE   DOCTEST_CHECK_THROWS_AS_MESSAGE
 
#define CHECK_NOTHROW_MESSAGE   DOCTEST_CHECK_NOTHROW_MESSAGE
 
#define REQUIRE_MESSAGE   DOCTEST_REQUIRE_MESSAGE
 
#define REQUIRE_FALSE_MESSAGE   DOCTEST_REQUIRE_FALSE_MESSAGE
 
#define REQUIRE_THROWS_MESSAGE   DOCTEST_REQUIRE_THROWS_MESSAGE
 
#define REQUIRE_THROWS_AS_MESSAGE   DOCTEST_REQUIRE_THROWS_AS_MESSAGE
 
#define REQUIRE_NOTHROW_MESSAGE   DOCTEST_REQUIRE_NOTHROW_MESSAGE
 
#define SCENARIO   DOCTEST_SCENARIO
 
#define SCENARIO_TEMPLATE   DOCTEST_SCENARIO_TEMPLATE
 
#define SCENARIO_TEMPLATE_DEFINE   DOCTEST_SCENARIO_TEMPLATE_DEFINE
 
#define GIVEN   DOCTEST_GIVEN
 
#define WHEN   DOCTEST_WHEN
 
#define AND_WHEN   DOCTEST_AND_WHEN
 
#define THEN   DOCTEST_THEN
 
#define AND_THEN   DOCTEST_AND_THEN
 
#define WARN_EQ   DOCTEST_WARN_EQ
 
#define CHECK_EQ   DOCTEST_CHECK_EQ
 
#define REQUIRE_EQ   DOCTEST_REQUIRE_EQ
 
#define WARN_NE   DOCTEST_WARN_NE
 
#define CHECK_NE   DOCTEST_CHECK_NE
 
#define REQUIRE_NE   DOCTEST_REQUIRE_NE
 
#define WARN_GT   DOCTEST_WARN_GT
 
#define CHECK_GT   DOCTEST_CHECK_GT
 
#define REQUIRE_GT   DOCTEST_REQUIRE_GT
 
#define WARN_LT   DOCTEST_WARN_LT
 
#define CHECK_LT   DOCTEST_CHECK_LT
 
#define REQUIRE_LT   DOCTEST_REQUIRE_LT
 
#define WARN_GE   DOCTEST_WARN_GE
 
#define CHECK_GE   DOCTEST_CHECK_GE
 
#define REQUIRE_GE   DOCTEST_REQUIRE_GE
 
#define WARN_LE   DOCTEST_WARN_LE
 
#define CHECK_LE   DOCTEST_CHECK_LE
 
#define REQUIRE_LE   DOCTEST_REQUIRE_LE
 
#define WARN_UNARY   DOCTEST_WARN_UNARY
 
#define CHECK_UNARY   DOCTEST_CHECK_UNARY
 
#define REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY
 
#define WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE
 
#define CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE
 
#define REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE
 
#define FAST_WARN_EQ   DOCTEST_FAST_WARN_EQ
 
#define FAST_CHECK_EQ   DOCTEST_FAST_CHECK_EQ
 
#define FAST_REQUIRE_EQ   DOCTEST_FAST_REQUIRE_EQ
 
#define FAST_WARN_NE   DOCTEST_FAST_WARN_NE
 
#define FAST_CHECK_NE   DOCTEST_FAST_CHECK_NE
 
#define FAST_REQUIRE_NE   DOCTEST_FAST_REQUIRE_NE
 
#define FAST_WARN_GT   DOCTEST_FAST_WARN_GT
 
#define FAST_CHECK_GT   DOCTEST_FAST_CHECK_GT
 
#define FAST_REQUIRE_GT   DOCTEST_FAST_REQUIRE_GT
 
#define FAST_WARN_LT   DOCTEST_FAST_WARN_LT
 
#define FAST_CHECK_LT   DOCTEST_FAST_CHECK_LT
 
#define FAST_REQUIRE_LT   DOCTEST_FAST_REQUIRE_LT
 
#define FAST_WARN_GE   DOCTEST_FAST_WARN_GE
 
#define FAST_CHECK_GE   DOCTEST_FAST_CHECK_GE
 
#define FAST_REQUIRE_GE   DOCTEST_FAST_REQUIRE_GE
 
#define FAST_WARN_LE   DOCTEST_FAST_WARN_LE
 
#define FAST_CHECK_LE   DOCTEST_FAST_CHECK_LE
 
#define FAST_REQUIRE_LE   DOCTEST_FAST_REQUIRE_LE
 
#define FAST_WARN_UNARY   DOCTEST_FAST_WARN_UNARY
 
#define FAST_CHECK_UNARY   DOCTEST_FAST_CHECK_UNARY
 
#define FAST_REQUIRE_UNARY   DOCTEST_FAST_REQUIRE_UNARY
 
#define FAST_WARN_UNARY_FALSE   DOCTEST_FAST_WARN_UNARY_FALSE
 
#define FAST_CHECK_UNARY_FALSE   DOCTEST_FAST_CHECK_UNARY_FALSE
 
#define FAST_REQUIRE_UNARY_FALSE   DOCTEST_FAST_REQUIRE_UNARY_FALSE
 
#define DOCTEST_SINGLE_HEADER
 

Typedefs

typedef void(* doctest::detail::funcType) ()
 
typedef char doctest::detail::has_insertion_operator_impl::no
 
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 , doctest::assertType::is_require = 4 , doctest::assertType::is_throws = 8 ,
  doctest::assertType::is_throws_as = 16 , doctest::assertType::is_nothrow = 32 , doctest::assertType::is_fast = 64 , doctest::assertType::is_false = 128 ,
  doctest::assertType::is_unary = 256 , doctest::assertType::is_eq = 512 , doctest::assertType::is_ne = 1024 , doctest::assertType::is_lt = 2048 ,
  doctest::assertType::is_gt = 4096 , doctest::assertType::is_ge = 8192 , doctest::assertType::is_le = 16384 , doctest::assertType::DT_WARN = is_warn ,
  doctest::assertType::DT_CHECK = is_check , doctest::assertType::DT_REQUIRE = is_require , doctest::assertType::DT_WARN_FALSE = is_false | is_warn , doctest::assertType::DT_CHECK_FALSE = is_false | is_check ,
  doctest::assertType::DT_REQUIRE_FALSE = 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_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_eq | is_warn , doctest::assertType::DT_CHECK_EQ = is_eq | is_check ,
  doctest::assertType::DT_REQUIRE_EQ = is_eq | is_require , doctest::assertType::DT_WARN_NE = is_ne | is_warn , doctest::assertType::DT_CHECK_NE = is_ne | is_check , doctest::assertType::DT_REQUIRE_NE = is_ne | is_require ,
  doctest::assertType::DT_WARN_GT = is_gt | is_warn , doctest::assertType::DT_CHECK_GT = is_gt | is_check , doctest::assertType::DT_REQUIRE_GT = is_gt | is_require , doctest::assertType::DT_WARN_LT = is_lt | is_warn ,
  doctest::assertType::DT_CHECK_LT = is_lt | is_check , doctest::assertType::DT_REQUIRE_LT = is_lt | is_require , doctest::assertType::DT_WARN_GE = is_ge | is_warn , doctest::assertType::DT_CHECK_GE = is_ge | is_check ,
  doctest::assertType::DT_REQUIRE_GE = is_ge | is_require , doctest::assertType::DT_WARN_LE = is_le | is_warn , doctest::assertType::DT_CHECK_LE = is_le | is_check , doctest::assertType::DT_REQUIRE_LE = is_le | is_require ,
  doctest::assertType::DT_WARN_UNARY = is_unary | is_warn , doctest::assertType::DT_CHECK_UNARY = is_unary | is_check , doctest::assertType::DT_REQUIRE_UNARY = is_unary | is_require , doctest::assertType::DT_WARN_UNARY_FALSE = is_false | is_unary | is_warn ,
  doctest::assertType::DT_CHECK_UNARY_FALSE = is_false | is_unary | is_check , doctest::assertType::DT_REQUIRE_UNARY_FALSE = is_false | is_unary | is_require , doctest::assertType::DT_FAST_WARN_EQ = is_fast | is_eq | is_warn , doctest::assertType::DT_FAST_CHECK_EQ = is_fast | is_eq | is_check ,
  doctest::assertType::DT_FAST_REQUIRE_EQ = is_fast | is_eq | is_require , doctest::assertType::DT_FAST_WARN_NE = is_fast | is_ne | is_warn , doctest::assertType::DT_FAST_CHECK_NE = is_fast | is_ne | is_check , doctest::assertType::DT_FAST_REQUIRE_NE = is_fast | is_ne | is_require ,
  doctest::assertType::DT_FAST_WARN_GT = is_fast | is_gt | is_warn , doctest::assertType::DT_FAST_CHECK_GT = is_fast | is_gt | is_check , doctest::assertType::DT_FAST_REQUIRE_GT = is_fast | is_gt | is_require , doctest::assertType::DT_FAST_WARN_LT = is_fast | is_lt | is_warn ,
  doctest::assertType::DT_FAST_CHECK_LT = is_fast | is_lt | is_check , doctest::assertType::DT_FAST_REQUIRE_LT = is_fast | is_lt | is_require , doctest::assertType::DT_FAST_WARN_GE = is_fast | is_ge | is_warn , doctest::assertType::DT_FAST_CHECK_GE = is_fast | is_ge | is_check ,
  doctest::assertType::DT_FAST_REQUIRE_GE = is_fast | is_ge | is_require , doctest::assertType::DT_FAST_WARN_LE = is_fast | is_le | is_warn , doctest::assertType::DT_FAST_CHECK_LE = is_fast | is_le | is_check , doctest::assertType::DT_FAST_REQUIRE_LE = is_fast | is_le | is_require ,
  doctest::assertType::DT_FAST_WARN_UNARY = is_fast | is_unary | is_warn , doctest::assertType::DT_FAST_CHECK_UNARY = is_fast | is_unary | is_check , doctest::assertType::DT_FAST_REQUIRE_UNARY = is_fast | is_unary | is_require , doctest::assertType::DT_FAST_WARN_UNARY_FALSE = is_fast | is_false | is_unary | is_warn ,
  doctest::assertType::DT_FAST_CHECK_UNARY_FALSE = is_fast | is_false | is_unary | is_check , doctest::assertType::DT_FAST_REQUIRE_UNARY_FALSE = is_fast | 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_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_CLANG_SUPPRESS_WARNING ("-Wunknown-pragmas") DOCTEST_CLANG_SUPPRESS_WARNING("-Wnon-virtual-dtor") DOCTEST_CLANG_SUPPRESS_WARNING("-Wweak-vtables") DOCTEST_CLANG_SUPPRESS_WARNING("-Wpadded") DOCTEST_CLANG_SUPPRESS_WARNING("-Wdeprecated") DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-prototypes") DOCTEST_CLANG_SUPPRESS_WARNING("-Wunused-local-typedef") DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++11-long-long") DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat") DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat-pedantic") DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING("-Wunknown-pragmas") DOCTEST_GCC_SUPPRESS_WARNING("-Wpragmas") DOCTEST_GCC_SUPPRESS_WARNING("-Weffc++") DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-overflow") DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-aliasing") DOCTEST_GCC_SUPPRESS_WARNING("-Wctor-dtor-privacy") DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-declarations") DOCTEST_GCC_SUPPRESS_WARNING("-Wnon-virtual-dtor") DOCTEST_GCC_SUPPRESS_WARNING("-Winline") DOCTEST_GCC_SUPPRESS_WARNING("-Wlong-long") DOCTEST_GCC_SUPPRESS_WARNING("-Wzero-as-null-pointer-constant") DOCTEST_GCC_SUPPRESS_WARNING("-Wunused-local-typedefs") DOCTEST_GCC_SUPPRESS_WARNING("-Wuseless-cast") 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) namespace std
 
bool doctest::operator== (const String &lhs, const String &rhs)
 
bool doctest::operator!= (const String &lhs, const String &rhs)
 
bool doctest::operator< (const String &lhs, const String &rhs)
 
bool doctest::operator> (const String &lhs, const String &rhs)
 
bool doctest::operator<= (const String &lhs, const String &rhs)
 
bool doctest::operator>= (const String &lhs, const String &rhs)
 
std::ostream & doctest::operator<< (std::ostream &s, const String &in)
 
std::ostream & doctest::Color::operator<< (std::ostream &s, Color::Enum code)
 
const char * doctest::assertString (assertType::Enum at)
 
void * doctest::detail::getNull ()
 
yes & doctest::detail::has_insertion_operator_impl::testStreamable (std::ostream &)
 
no doctest::detail::has_insertion_operator_impl::testStreamable (no)
 
no doctest::detail::has_insertion_operator_impl::operator<< (const std::ostream &, const any_t &)
 
void doctest::detail::my_memcpy (void *dest, const void *src, unsigned num)
 
std::ostream * doctest::detail::createStream ()
 
String doctest::detail::getStreamResult (std::ostream *)
 
void doctest::detail::freeStream (std::ostream *)
 
String doctest::detail::rawMemoryToString (const void *object, unsigned size)
 
template<typename T >
String doctest::detail::rawMemoryToString (const T &object)
 
template<typename T >
const char * doctest::detail::type_to_string ()
 
template<typename T >
String doctest::toString (const T &value)
 
String doctest::toString (bool in)
 
String doctest::toString (float in)
 
String doctest::toString (double in)
 
String doctest::toString (double long in)
 
String doctest::toString (char in)
 
String doctest::toString (char signed in)
 
String doctest::toString (char unsigned in)
 
String doctest::toString (int short in)
 
String doctest::toString (int short unsigned in)
 
String doctest::toString (int in)
 
String doctest::toString (int unsigned in)
 
String doctest::toString (int long in)
 
String doctest::toString (int long unsigned in)
 
String doctest::toString (int long long in)
 
String doctest::toString (int long long unsigned in)
 
String doctest::toString (std::nullptr_t in)
 
String doctest::toString (const Approx &in)
 
bool doctest::detail::checkIfShouldThrow (assertType::Enum at)
 
void doctest::detail::fastAssertThrowIfFlagSet (int flags)
 
const ContextOptions * doctest::detail::getContextOptions ()
 
template<typename L , typename R >
String doctest::detail::stringifyBinaryExpr (const L &lhs, const char *op, const R &rhs)
 
DOCTEST_CLANG_SUPPRESS_WARNING_PUSH doctest::detail::DOCTEST_CLANG_SUPPRESS_WARNING ("-Wsign-conversion") DOCTEST_CLANG_SUPPRESS_WARNING("-Wsign-compare") DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-conversion") DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-compare") DOCTEST_MSVC_SUPPRESS_WARNING_PUSH DOCTEST_MSVC_SUPPRESS_WARNING(4388) DOCTEST_MSVC_SUPPRESS_WARNING(4389) DOCTEST_MSVC_SUPPRESS_WARNING(4018) template< typename L
 
DOCTEST_CLANG_SUPPRESS_WARNING_PUSH R bool doctest::detail::eq (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::ne (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::lt (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::gt (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::le (const L &lhs, const R &rhs)
 
template<typename L , typename R >
bool doctest::detail::ge (const L &lhs, const R &rhs)
 
int doctest::detail::regTest (const TestCase &tc)
 
int doctest::detail::setTestSuite (const TestSuite &ts)
 
template<int comparison, typename L , typename R >
 doctest::detail::__attribute__ ((noinline)) int fast_binary_assert(assertType
 
template<typename L >
 doctest::detail::__attribute__ ((noinline)) int fast_unary_assert(assertType
 
void doctest::detail::registerExceptionTranslatorImpl (const IExceptionTranslator *translateFunction)
 
void doctest::detail::writeStringToStream (std::ostream *s, const String &str)
 
template<typename T >
void doctest::detail::toStream (std::ostream *s, const T &value)
 
void doctest::detail::toStream (std::ostream *s, bool in)
 
void doctest::detail::toStream (std::ostream *s, float in)
 
void doctest::detail::toStream (std::ostream *s, double in)
 
void doctest::detail::toStream (std::ostream *s, double long in)
 
void doctest::detail::toStream (std::ostream *s, char in)
 
void doctest::detail::toStream (std::ostream *s, char signed in)
 
void doctest::detail::toStream (std::ostream *s, char unsigned in)
 
void doctest::detail::toStream (std::ostream *s, int short in)
 
void doctest::detail::toStream (std::ostream *s, int short unsigned in)
 
void doctest::detail::toStream (std::ostream *s, int in)
 
void doctest::detail::toStream (std::ostream *s, int unsigned in)
 
void doctest::detail::toStream (std::ostream *s, int long in)
 
void doctest::detail::toStream (std::ostream *s, int long unsigned in)
 
void doctest::detail::toStream (std::ostream *s, int long long in)
 
void doctest::detail::toStream (std::ostream *s, int long long unsigned in)
 
template<typename T >
int doctest::registerExceptionTranslator (String(*translateFunction)(T))
 
doctest::detail::TestSuitedoctest_detail_test_suite_ns::getCurrentTestSuite ()
 
bool doctest::isRunningInTest ()
 
int doctest::registerReporter (const char *name, int priority, IReporter *r)
 
 DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH ("-Wglobal-constructors") static int _DOCTEST_ANON_VAR___LINE__ __attribute__((unused))
 
DOCTEST_CLANG_SUPPRESS_WARNING_POP typedef int _DOCTEST_ANON_FOR_SEMICOLON___LINE__ ()
 
template<>
const char * doctest::detail::type_to_string< bool > ()
 
template<>
const char * doctest::detail::type_to_string< float > ()
 
template<>
const char * doctest::detail::type_to_string< double > ()
 
template<>
const char * doctest::detail::type_to_string< long double > ()
 
template<>
const char * doctest::detail::type_to_string< char > ()
 
template<>
const char * doctest::detail::type_to_string< signed char > ()
 
template<>
const char * doctest::detail::type_to_string< unsigned char > ()
 
template<>
const char * doctest::detail::type_to_string< wchar_t > ()
 
template<>
const char * doctest::detail::type_to_string< short int > ()
 
template<>
const char * doctest::detail::type_to_string< unsigned short int > ()
 
template<>
const char * doctest::detail::type_to_string< int > ()
 
template<>
const char * doctest::detail::type_to_string< unsigned int > ()
 
template<>
const char * doctest::detail::type_to_string< long int > ()
 
template<>
const char * doctest::detail::type_to_string< unsigned long int > ()
 
template<>
const char * doctest::detail::type_to_string< long long int > ()
 
template<>
const char * doctest::detail::type_to_string< unsigned long long int > ()
 

Variables

decltype(nullptr) typedef std::nullptr_t
 

Macro Definition Documentation

◆ ADD_FAIL_AT

#define ADD_FAIL_AT   DOCTEST_ADD_FAIL_AT

Definition at line 2507 of file doctest.h.

◆ ADD_FAIL_CHECK_AT

#define ADD_FAIL_CHECK_AT   DOCTEST_ADD_FAIL_CHECK_AT

Definition at line 2506 of file doctest.h.

◆ ADD_MESSAGE_AT

#define ADD_MESSAGE_AT   DOCTEST_ADD_MESSAGE_AT

Definition at line 2505 of file doctest.h.

◆ AND_THEN

#define AND_THEN   DOCTEST_AND_THEN

Definition at line 2552 of file doctest.h.

◆ AND_WHEN

#define AND_WHEN   DOCTEST_AND_WHEN

Definition at line 2550 of file doctest.h.

◆ CAPTURE

#define CAPTURE   DOCTEST_CAPTURE

Definition at line 2504 of file doctest.h.

◆ CHECK

#define CHECK   DOCTEST_CHECK

Definition at line 2518 of file doctest.h.

◆ CHECK_EQ

#define CHECK_EQ   DOCTEST_CHECK_EQ

Definition at line 2555 of file doctest.h.

◆ CHECK_FALSE

#define CHECK_FALSE   DOCTEST_CHECK_FALSE

Definition at line 2519 of file doctest.h.

◆ CHECK_FALSE_MESSAGE

#define CHECK_FALSE_MESSAGE   DOCTEST_CHECK_FALSE_MESSAGE

Definition at line 2535 of file doctest.h.

◆ CHECK_GE

#define CHECK_GE   DOCTEST_CHECK_GE

Definition at line 2567 of file doctest.h.

◆ CHECK_GT

#define CHECK_GT   DOCTEST_CHECK_GT

Definition at line 2561 of file doctest.h.

◆ CHECK_LE

#define CHECK_LE   DOCTEST_CHECK_LE

Definition at line 2570 of file doctest.h.

◆ CHECK_LT

#define CHECK_LT   DOCTEST_CHECK_LT

Definition at line 2564 of file doctest.h.

◆ CHECK_MESSAGE

#define CHECK_MESSAGE   DOCTEST_CHECK_MESSAGE

Definition at line 2534 of file doctest.h.

◆ CHECK_NE

#define CHECK_NE   DOCTEST_CHECK_NE

Definition at line 2558 of file doctest.h.

◆ CHECK_NOTHROW

#define CHECK_NOTHROW   DOCTEST_CHECK_NOTHROW

Definition at line 2522 of file doctest.h.

◆ CHECK_NOTHROW_MESSAGE

#define CHECK_NOTHROW_MESSAGE   DOCTEST_CHECK_NOTHROW_MESSAGE

Definition at line 2538 of file doctest.h.

◆ CHECK_THROWS

#define CHECK_THROWS   DOCTEST_CHECK_THROWS

Definition at line 2520 of file doctest.h.

◆ CHECK_THROWS_AS

#define CHECK_THROWS_AS   DOCTEST_CHECK_THROWS_AS

Definition at line 2521 of file doctest.h.

◆ CHECK_THROWS_AS_MESSAGE

#define CHECK_THROWS_AS_MESSAGE   DOCTEST_CHECK_THROWS_AS_MESSAGE

Definition at line 2537 of file doctest.h.

◆ CHECK_THROWS_MESSAGE

#define CHECK_THROWS_MESSAGE   DOCTEST_CHECK_THROWS_MESSAGE

Definition at line 2536 of file doctest.h.

◆ CHECK_UNARY

#define CHECK_UNARY   DOCTEST_CHECK_UNARY

Definition at line 2573 of file doctest.h.

◆ CHECK_UNARY_FALSE

#define CHECK_UNARY_FALSE   DOCTEST_CHECK_UNARY_FALSE

Definition at line 2576 of file doctest.h.

◆ DOCTEST_ADD_AT_IMPL

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

Definition at line 2017 of file doctest.h.

◆ DOCTEST_ADD_FAIL_AT

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

Definition at line 2027 of file doctest.h.

◆ DOCTEST_ADD_FAIL_CHECK_AT

#define DOCTEST_ADD_FAIL_CHECK_AT (   file,
  line,
  x 
)    DOCTEST_ADD_AT_IMPL(is_check, file, line, DOCTEST_ANONYMOUS(_DOCTEST_MESSAGE_), x)

Definition at line 2026 of file doctest.h.

◆ DOCTEST_ADD_MESSAGE_AT

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

Definition at line 2025 of file doctest.h.

◆ DOCTEST_ALIGNMENT

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

◆ DOCTEST_AND_THEN

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

Definition at line 2485 of file doctest.h.

◆ DOCTEST_AND_WHEN

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

Definition at line 2483 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 2052 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__, DOCTEST_TOSTR(__VA_ARGS__)); \
DOCTEST_WRAP_IN_TRY(_DOCTEST_RB.setResult( \
doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \
<< __VA_ARGS__)) \
DOCTEST_ASSERT_LOG_AND_REACT(_DOCTEST_RB) \
DOCTEST_CLANG_SUPPRESS_WARNING_POP
DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") static int _DOCTEST_ANON_VAR___LINE__ __attribute__((unused))
#define DOCTEST_TOSTR(...)

Definition at line 2042 of file doctest.h.

◆ DOCTEST_ASSERT_LOG_AND_REACT

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

Definition at line 1820 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 { \
expr; \
} catch(...) { _DOCTEST_RB.unexpectedExceptionOccurred(); } \
DOCTEST_ASSERT_LOG_AND_REACT(_DOCTEST_RB); \
} \
} while((void)0, 0)
const ContextOptions * getContextOptions()

Definition at line 2101 of file doctest.h.

◆ DOCTEST_ASSERT_THROWS

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

Definition at line 2073 of file doctest.h.

◆ DOCTEST_ASSERT_THROWS_AS

#define DOCTEST_ASSERT_THROWS_AS (   expr,
  assert_type,
  ... 
)
Value:
do { \
doctest::detail::ResultBuilder _DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \
__LINE__, #expr, \
DOCTEST_TOSTR(__VA_ARGS__)); \
try { \
expr; \
} catch(const __VA_ARGS__&) { \
_DOCTEST_RB.m_threw = true; \
_DOCTEST_RB.m_threw_as = true; \
} catch(...) { _DOCTEST_RB.unexpectedExceptionOccurred(); } \
DOCTEST_ASSERT_LOG_AND_REACT(_DOCTEST_RB); \
} \
} while((void)0, 0)

Definition at line 2085 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__, DOCTEST_TOSTR(__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 2137 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 1315 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 2015 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 2058 of file doctest.h.

◆ DOCTEST_CHECK_EQ

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

Definition at line 2156 of file doctest.h.

◆ DOCTEST_CHECK_FALSE

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

Definition at line 2061 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 2069 of file doctest.h.

◆ DOCTEST_CHECK_GE

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

Definition at line 2168 of file doctest.h.

◆ DOCTEST_CHECK_GT

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

Definition at line 2162 of file doctest.h.

◆ DOCTEST_CHECK_LE

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

Definition at line 2171 of file doctest.h.

◆ DOCTEST_CHECK_LT

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

Definition at line 2165 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 2066 of file doctest.h.

◆ DOCTEST_CHECK_NE

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

Definition at line 2159 of file doctest.h.

◆ DOCTEST_CHECK_NOTHROW

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

Definition at line 2123 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 2133 of file doctest.h.

◆ DOCTEST_CHECK_THROWS

#define DOCTEST_CHECK_THROWS (   expr)    DOCTEST_ASSERT_THROWS(expr, DT_CHECK_THROWS)

Definition at line 2115 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 2119 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 2130 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 2127 of file doctest.h.

◆ DOCTEST_CHECK_UNARY

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

Definition at line 2175 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 2178 of file doctest.h.

◆ DOCTEST_CLANG

#define DOCTEST_CLANG   0

Definition at line 82 of file doctest.h.

◆ DOCTEST_CLANG_HAS_FEATURE

#define DOCTEST_CLANG_HAS_FEATURE (   x)    0

Definition at line 150 of file doctest.h.

◆ DOCTEST_CLANG_HAS_WARNING

#define DOCTEST_CLANG_HAS_WARNING (   x)    1

Definition at line 146 of file doctest.h.

◆ DOCTEST_CMP_EQ

#define DOCTEST_CMP_EQ (   l,
 
)    l == r

Definition at line 1149 of file doctest.h.

◆ DOCTEST_CMP_GE

#define DOCTEST_CMP_GE (   l,
 
)    l >= r

Definition at line 1153 of file doctest.h.

◆ DOCTEST_CMP_GT

#define DOCTEST_CMP_GT (   l,
 
)    l > r

Definition at line 1151 of file doctest.h.

◆ DOCTEST_CMP_LE

#define DOCTEST_CMP_LE (   l,
 
)    l <= r

Definition at line 1154 of file doctest.h.

◆ DOCTEST_CMP_LT

#define DOCTEST_CMP_LT (   l,
 
)    l < r

Definition at line 1152 of file doctest.h.

◆ DOCTEST_CMP_NE

#define DOCTEST_CMP_NE (   l,
 
)    l != r

Definition at line 1150 of file doctest.h.

◆ 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 62 of file doctest.h.

◆ DOCTEST_CONFIG_NUM_CAPTURES_ON_STACK

#define DOCTEST_CONFIG_NUM_CAPTURES_ON_STACK   5

◆ 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(f, decorators) \
static void f()

Definition at line 1856 of file doctest.h.

◆ DOCTEST_DECLARE_COPIES

#define DOCTEST_DECLARE_COPIES (   type)    type(const type&); type& operator=(const type&)

◆ DOCTEST_DECLARE_DEFAULTS

#define DOCTEST_DECLARE_DEFAULTS (   type)    type(); ~type()

◆ DOCTEST_DEFINE_COPIES

#define DOCTEST_DEFINE_COPIES (   type)    type::type(const type&) = default; type& type::operator=(const type&) = default

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

Definition at line 1653 of file doctest.h.

◆ DOCTEST_DEFINE_DEFAULTS

#define DOCTEST_DEFINE_DEFAULTS (   type)    type::type() = default; type::~type() = default

◆ DOCTEST_DELETE_COPIES

#define DOCTEST_DELETE_COPIES (   type)    type(const type&) = delete; type& operator=(const type&) = delete

◆ 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::detail::getContextOptions()->success) \
return Result(res, stringifyBinaryExpr(lhs, op_str, rhs)); \
return Result(res); \
}
#define DOCTEST_REF_WRAP(x)
String stringifyBinaryExpr(const L &lhs, const char *op, const R &rhs)
Definition: doctest.h:1036

Definition at line 1041 of file doctest.h.

◆ DOCTEST_EXPAND_VA_ARGS

#define DOCTEST_EXPAND_VA_ARGS (   ...)    __VA_ARGS__

Definition at line 1817 of file doctest.h.

◆ DOCTEST_FAIL

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

Definition at line 2032 of file doctest.h.

◆ DOCTEST_FAIL_CHECK

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

Definition at line 2031 of file doctest.h.

◆ DOCTEST_FAST_BINARY_ASSERT

#define DOCTEST_FAST_BINARY_ASSERT (   assert_type,
  comparison,
  ... 
)
Value:
do { \
int _DOCTEST_FAST_RES = doctest::detail::fast_binary_assert< \
doctest::detail::binaryAssertComparison::comparison>( \
doctest::assertType::assert_type, __FILE__, __LINE__, DOCTEST_TOSTR(__VA_ARGS__), \
__VA_ARGS__); \
if(_DOCTEST_FAST_RES & doctest::detail::assertAction::dbgbreak) \
DOCTEST_BREAK_INTO_DEBUGGER(); \
} while((void)0, 0)
void fastAssertThrowIfFlagSet(int flags)

Definition at line 2183 of file doctest.h.

◆ DOCTEST_FAST_CHECK_EQ

#define DOCTEST_FAST_CHECK_EQ (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_EQ, eq, __VA_ARGS__)

Definition at line 2219 of file doctest.h.

◆ DOCTEST_FAST_CHECK_GE

#define DOCTEST_FAST_CHECK_GE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_GE, ge, __VA_ARGS__)

Definition at line 2231 of file doctest.h.

◆ DOCTEST_FAST_CHECK_GT

#define DOCTEST_FAST_CHECK_GT (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_GT, gt, __VA_ARGS__)

Definition at line 2225 of file doctest.h.

◆ DOCTEST_FAST_CHECK_LE

#define DOCTEST_FAST_CHECK_LE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_LE, le, __VA_ARGS__)

Definition at line 2234 of file doctest.h.

◆ DOCTEST_FAST_CHECK_LT

#define DOCTEST_FAST_CHECK_LT (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_LT, lt, __VA_ARGS__)

Definition at line 2228 of file doctest.h.

◆ DOCTEST_FAST_CHECK_NE

#define DOCTEST_FAST_CHECK_NE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_CHECK_NE, ne, __VA_ARGS__)

Definition at line 2222 of file doctest.h.

◆ DOCTEST_FAST_CHECK_UNARY

#define DOCTEST_FAST_CHECK_UNARY (   ...)    DOCTEST_FAST_UNARY_ASSERT(DT_FAST_CHECK_UNARY, __VA_ARGS__)

Definition at line 2238 of file doctest.h.

◆ DOCTEST_FAST_CHECK_UNARY_FALSE

#define DOCTEST_FAST_CHECK_UNARY_FALSE (   ...)    DOCTEST_FAST_UNARY_ASSERT(DT_FAST_CHECK_UNARY_FALSE, __VA_ARGS__)

Definition at line 2241 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_EQ

#define DOCTEST_FAST_REQUIRE_EQ (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_EQ, eq, __VA_ARGS__)

Definition at line 2220 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_GE

#define DOCTEST_FAST_REQUIRE_GE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_GE, ge, __VA_ARGS__)

Definition at line 2232 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_GT

#define DOCTEST_FAST_REQUIRE_GT (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_GT, gt, __VA_ARGS__)

Definition at line 2226 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_LE

#define DOCTEST_FAST_REQUIRE_LE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_LE, le, __VA_ARGS__)

Definition at line 2235 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_LT

#define DOCTEST_FAST_REQUIRE_LT (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_LT, lt, __VA_ARGS__)

Definition at line 2229 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_NE

#define DOCTEST_FAST_REQUIRE_NE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_REQUIRE_NE, ne, __VA_ARGS__)

Definition at line 2223 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_UNARY

#define DOCTEST_FAST_REQUIRE_UNARY (   ...)    DOCTEST_FAST_UNARY_ASSERT(DT_FAST_REQUIRE_UNARY, __VA_ARGS__)

Definition at line 2239 of file doctest.h.

◆ DOCTEST_FAST_REQUIRE_UNARY_FALSE

#define DOCTEST_FAST_REQUIRE_UNARY_FALSE (   ...)    DOCTEST_FAST_UNARY_ASSERT(DT_FAST_REQUIRE_UNARY_FALSE, __VA_ARGS__)

Definition at line 2242 of file doctest.h.

◆ DOCTEST_FAST_UNARY_ASSERT

#define DOCTEST_FAST_UNARY_ASSERT (   assert_type,
  ... 
)
Value:
do { \
int _DOCTEST_FAST_RES = doctest::detail::fast_unary_assert( \
doctest::assertType::assert_type, __FILE__, __LINE__, DOCTEST_TOSTR(__VA_ARGS__), \
__VA_ARGS__); \
if(_DOCTEST_FAST_RES & doctest::detail::assertAction::dbgbreak) \
DOCTEST_BREAK_INTO_DEBUGGER(); \
} while((void)0, 0)

Definition at line 2194 of file doctest.h.

◆ DOCTEST_FAST_WARN_EQ

#define DOCTEST_FAST_WARN_EQ (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_EQ, eq, __VA_ARGS__)

Definition at line 2218 of file doctest.h.

◆ DOCTEST_FAST_WARN_GE

#define DOCTEST_FAST_WARN_GE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_GE, ge, __VA_ARGS__)

Definition at line 2230 of file doctest.h.

◆ DOCTEST_FAST_WARN_GT

#define DOCTEST_FAST_WARN_GT (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_GT, gt, __VA_ARGS__)

Definition at line 2224 of file doctest.h.

◆ DOCTEST_FAST_WARN_LE

#define DOCTEST_FAST_WARN_LE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_LE, le, __VA_ARGS__)

Definition at line 2233 of file doctest.h.

◆ DOCTEST_FAST_WARN_LT

#define DOCTEST_FAST_WARN_LT (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_LT, lt, __VA_ARGS__)

Definition at line 2227 of file doctest.h.

◆ DOCTEST_FAST_WARN_NE

#define DOCTEST_FAST_WARN_NE (   ...)    DOCTEST_FAST_BINARY_ASSERT(DT_FAST_WARN_NE, ne, __VA_ARGS__)

Definition at line 2221 of file doctest.h.

◆ DOCTEST_FAST_WARN_UNARY

#define DOCTEST_FAST_WARN_UNARY (   ...)    DOCTEST_FAST_UNARY_ASSERT(DT_FAST_WARN_UNARY, __VA_ARGS__)

Definition at line 2237 of file doctest.h.

◆ DOCTEST_FAST_WARN_UNARY_FALSE

#define DOCTEST_FAST_WARN_UNARY_FALSE (   ...)    DOCTEST_FAST_UNARY_ASSERT(DT_FAST_WARN_UNARY_FALSE, __VA_ARGS__)

Definition at line 2240 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 1052 of file doctest.h.

◆ DOCTEST_GCC

#define DOCTEST_GCC   0

Definition at line 85 of file doctest.h.

◆ DOCTEST_GIVEN

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

Definition at line 2481 of file doctest.h.

◆ DOCTEST_GLOBAL_NO_WARNINGS

#define DOCTEST_GLOBAL_NO_WARNINGS (   var)     DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") static int var 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(func, decorators) \
} \
inline DOCTEST_NOINLINE void der::f()
#define DOCTEST_NOINLINE

Definition at line 1842 of file doctest.h.

◆ DOCTEST_INFO

#define DOCTEST_INFO (   x)
Value:
doctest::detail::ContextBuilder() << x)
#define DOCTEST_ANONYMOUS(x)

Definition at line 2012 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_PUSH \
DOCTEST_MSVC_SUPPRESS_WARNING(4548) \
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_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 2030 of file doctest.h.

◆ DOCTEST_MSVC

#define DOCTEST_MSVC   0

Definition at line 79 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_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature)
Definition: doctest.h:1994

Definition at line 2001 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)
int registerExceptionTranslator(String(*translateFunction)(T))
Definition: doctest.h:1672

Definition at line 1994 of file doctest.h.

◆ DOCTEST_REGISTER_FUNCTION

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

Definition at line 1835 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(name, priority, reporter); \
DOCTEST_GLOBAL_NO_WARNINGS_END() typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
int registerReporter(const char *name, int priority, IReporter *r)

Definition at line 2006 of file doctest.h.

◆ DOCTEST_REGISTER_TYPED_TEST_CASE_IMPL

#define DOCTEST_REGISTER_TYPED_TEST_CASE_IMPL (   func,
  type,
  decorators,
  idx 
)
Value:
doctest::detail::TestCase(func, __FILE__, __LINE__, \
doctest::detail::type_to_string<type>(), idx) * \
decorators)

Definition at line 1884 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; \
}

◆ DOCTEST_REQUIRE

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

Definition at line 2059 of file doctest.h.

◆ DOCTEST_REQUIRE_EQ

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

Definition at line 2157 of file doctest.h.

◆ DOCTEST_REQUIRE_FALSE

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

Definition at line 2062 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 2070 of file doctest.h.

◆ DOCTEST_REQUIRE_GE

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

Definition at line 2169 of file doctest.h.

◆ DOCTEST_REQUIRE_GT

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

Definition at line 2163 of file doctest.h.

◆ DOCTEST_REQUIRE_LE

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

Definition at line 2172 of file doctest.h.

◆ DOCTEST_REQUIRE_LT

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

Definition at line 2166 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 2067 of file doctest.h.

◆ DOCTEST_REQUIRE_NE

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

Definition at line 2160 of file doctest.h.

◆ DOCTEST_REQUIRE_NOTHROW

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

Definition at line 2124 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 2134 of file doctest.h.

◆ DOCTEST_REQUIRE_THROWS

#define DOCTEST_REQUIRE_THROWS (   expr)    DOCTEST_ASSERT_THROWS(expr, DT_REQUIRE_THROWS)

Definition at line 2116 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 2120 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 2131 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 2128 of file doctest.h.

◆ DOCTEST_REQUIRE_UNARY

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

Definition at line 2176 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 2179 of file doctest.h.

◆ DOCTEST_SCENARIO

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

Definition at line 2477 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 2478 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 2479 of file doctest.h.

◆ DOCTEST_SINGLE_HEADER

#define DOCTEST_SINGLE_HEADER

Definition at line 2640 of file doctest.h.

◆ DOCTEST_SUBCASE

#define DOCTEST_SUBCASE (   name)
Value:
if(DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wc++98-compat-bind-to-temporary-copy") \
DOCTEST_ANONYMOUS(_DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED = \
doctest::detail::Subcase(name, __FILE__, __LINE__) \
DOCTEST_CLANG_SUPPRESS_WARNING_POP)
#define DOCTEST_UNUSED

Definition at line 1949 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 1862 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_IMPLEMENT_FIXTURE(der, base, func, decorators)
Definition: doctest.h:1842

Definition at line 1866 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 1945 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_DEFINE

#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE (   dec,
  T,
  id 
)     DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL_PROXY(dec, T, id, DOCTEST_ANONYMOUS(_DOCTEST_ANON_TMP_))

Definition at line 1919 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL

#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL (   dec,
  T,
  id,
  anon 
)
Value:
template <typename T> \
inline void anon(); \
DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat-pedantic") \
template <typename Type, typename... Rest> \
struct DOCTEST_CAT(id, ITERATOR) \
{ \
DOCTEST_CAT(id, ITERATOR)(int line, int index) { \
DOCTEST_REGISTER_TYPED_TEST_CASE_IMPL(anon<Type>, Type, dec, line * 1000 + index); \
DOCTEST_CAT(id, ITERATOR)<Rest...>(line, index + 1); \
} \
}; \
DOCTEST_CLANG_SUPPRESS_WARNING_POP \
template <typename Type> \
struct DOCTEST_CAT(id, ITERATOR)<Type> \
{ \
DOCTEST_CAT(id, ITERATOR)(int line, int index) { \
DOCTEST_REGISTER_TYPED_TEST_CASE_IMPL(anon<Type>, Type, dec, line * 1000 + index); \
} \
}
DOCTEST_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_CLANG_SUPPRESS_WARNING("-Wunknown-pragmas") DOCTEST_CLANG_SUPPRESS_WARNING("-Wnon-virtual-dtor") DOCTEST_CLANG_SUPPRESS_WARNING("-Wweak-vtables") DOCTEST_CLANG_SUPPRESS_WARNING("-Wpadded") DOCTEST_CLANG_SUPPRESS_WARNING("-Wdeprecated") DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-prototypes") DOCTEST_CLANG_SUPPRESS_WARNING("-Wunused-local-typedef") DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++11-long-long") DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat") DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat-pedantic") DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING("-Wunknown-pragmas") DOCTEST_GCC_SUPPRESS_WARNING("-Wpragmas") DOCTEST_GCC_SUPPRESS_WARNING("-Weffc++") DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-overflow") DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-aliasing") DOCTEST_GCC_SUPPRESS_WARNING("-Wctor-dtor-privacy") DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-declarations") DOCTEST_GCC_SUPPRESS_WARNING("-Wnon-virtual-dtor") DOCTEST_GCC_SUPPRESS_WARNING("-Winline") DOCTEST_GCC_SUPPRESS_WARNING("-Wlong-long") DOCTEST_GCC_SUPPRESS_WARNING("-Wzero-as-null-pointer-constant") DOCTEST_GCC_SUPPRESS_WARNING("-Wunused-local-typedefs") DOCTEST_GCC_SUPPRESS_WARNING("-Wuseless-cast") 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) namespace std
Definition: doctest.h:158
#define DOCTEST_CAT(s1, s2)

Definition at line 1891 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL_PROXY

#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL_PROXY (   dec,
  T,
  id,
  anon 
)
Value:
template <typename T> \
inline void anon()
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, id, anon)
Definition: doctest.h:1891

Definition at line 1914 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_IMPL

#define DOCTEST_TEST_CASE_TEMPLATE_IMPL (   dec,
  T,
  anon,
  ... 
)
Value:
DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(anon, anon, __VA_ARGS__) \
template <typename T> \
inline void anon()
#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL_PROXY(dec, T, id, anon)
Definition: doctest.h:1914

Definition at line 1939 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE

#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE (   id,
  ... 
)
Value:
__VA_ARGS__) \
typedef int DOCTEST_ANONYMOUS(_DOCTEST_ANON_FOR_SEMICOLON_)
#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon,...)
Definition: doctest.h:1922

Definition at line 1934 of file doctest.h.

◆ DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL

#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL (   id,
  anon,
  ... 
)
Value:
DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat-pedantic") \
DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_CAT(anon, DUMMY)) = []() { \
DOCTEST_CAT(id, ITERATOR)<__VA_ARGS__> DOCTEST_UNUSED DOCTEST_CAT(anon, inner_dummy)( \
__LINE__, 0); \
return 0; \
}(); \
DOCTEST_GLOBAL_NO_WARNINGS_END() \
DOCTEST_CLANG_SUPPRESS_WARNING_POP

Definition at line 1922 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 1976 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_)
int setTestSuite(const TestSuite &ts)

Definition at line 1980 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_)

Definition at line 1987 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; \
if(!inited) { \
data* decorators; \
inited = true; \
} \
return data; \
} \
} \
} \
namespace ns_name
if(!vert) return

Definition at line 1957 of file doctest.h.

◆ DOCTEST_THEN

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

Definition at line 2484 of file doctest.h.

◆ DOCTEST_TO_LVALUE

#define DOCTEST_TO_LVALUE (   ...)    TO_LVALUE_CAN_BE_USED_ONLY_IN_CPP14_MODE_OR_WITH_VS_2017_OR_NEWER

Definition at line 2039 of file doctest.h.

◆ DOCTEST_TOSTR

#define DOCTEST_TOSTR (   ...)    DOCTEST_TOSTR_IMPL(__VA_ARGS__)

◆ DOCTEST_TOSTR_IMPL

#define DOCTEST_TOSTR_IMPL (   ...)    #__VA_ARGS__

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

Definition at line 1876 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 1871 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__, DOCTEST_TOSTR(__VA_ARGS__)); \
DOCTEST_WRAP_IN_TRY(_DOCTEST_RB.unary_assert(__VA_ARGS__)) \
DOCTEST_ASSERT_LOG_AND_REACT(_DOCTEST_RB); \
} while((void)0, 0)

Definition at line 2147 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 53 of file doctest.h.

◆ DOCTEST_VERSION_MAJOR

#define DOCTEST_VERSION_MAJOR   1

Definition at line 48 of file doctest.h.

◆ DOCTEST_VERSION_MINOR

#define DOCTEST_VERSION_MINOR   2

Definition at line 49 of file doctest.h.

◆ DOCTEST_VERSION_PATCH

#define DOCTEST_VERSION_PATCH   9

Definition at line 50 of file doctest.h.

◆ DOCTEST_VERSION_STR

#define DOCTEST_VERSION_STR   "1.2.9"

Definition at line 51 of file doctest.h.

◆ DOCTEST_WARN

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

Definition at line 2057 of file doctest.h.

◆ DOCTEST_WARN_EQ

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

Definition at line 2155 of file doctest.h.

◆ DOCTEST_WARN_FALSE

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

Definition at line 2060 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 2068 of file doctest.h.

◆ DOCTEST_WARN_GE

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

Definition at line 2167 of file doctest.h.

◆ DOCTEST_WARN_GT

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

Definition at line 2161 of file doctest.h.

◆ DOCTEST_WARN_LE

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

Definition at line 2170 of file doctest.h.

◆ DOCTEST_WARN_LT

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

Definition at line 2164 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 2065 of file doctest.h.

◆ DOCTEST_WARN_NE

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

Definition at line 2158 of file doctest.h.

◆ DOCTEST_WARN_NOTHROW

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

Definition at line 2122 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 2132 of file doctest.h.

◆ DOCTEST_WARN_THROWS

#define DOCTEST_WARN_THROWS (   expr)    DOCTEST_ASSERT_THROWS(expr, DT_WARN_THROWS)

Definition at line 2114 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 2118 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 2129 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 2126 of file doctest.h.

◆ DOCTEST_WARN_UNARY

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

Definition at line 2174 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 2177 of file doctest.h.

◆ DOCTEST_WHEN

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

Definition at line 2482 of file doctest.h.

◆ DOCTEST_WRAP_IN_TRY

#define DOCTEST_WRAP_IN_TRY (   x)
Value:
try { \
x; \
} catch(...) { _DOCTEST_RB.unexpectedExceptionOccurred(); }

Definition at line 1828 of file doctest.h.

◆ FAIL

#define FAIL   DOCTEST_FAIL

Definition at line 2510 of file doctest.h.

◆ FAIL_CHECK

#define FAIL_CHECK   DOCTEST_FAIL_CHECK

Definition at line 2509 of file doctest.h.

◆ FAST_CHECK_EQ

#define FAST_CHECK_EQ   DOCTEST_FAST_CHECK_EQ

Definition at line 2580 of file doctest.h.

◆ FAST_CHECK_GE

#define FAST_CHECK_GE   DOCTEST_FAST_CHECK_GE

Definition at line 2592 of file doctest.h.

◆ FAST_CHECK_GT

#define FAST_CHECK_GT   DOCTEST_FAST_CHECK_GT

Definition at line 2586 of file doctest.h.

◆ FAST_CHECK_LE

#define FAST_CHECK_LE   DOCTEST_FAST_CHECK_LE

Definition at line 2595 of file doctest.h.

◆ FAST_CHECK_LT

#define FAST_CHECK_LT   DOCTEST_FAST_CHECK_LT

Definition at line 2589 of file doctest.h.

◆ FAST_CHECK_NE

#define FAST_CHECK_NE   DOCTEST_FAST_CHECK_NE

Definition at line 2583 of file doctest.h.

◆ FAST_CHECK_UNARY

#define FAST_CHECK_UNARY   DOCTEST_FAST_CHECK_UNARY

Definition at line 2598 of file doctest.h.

◆ FAST_CHECK_UNARY_FALSE

#define FAST_CHECK_UNARY_FALSE   DOCTEST_FAST_CHECK_UNARY_FALSE

Definition at line 2601 of file doctest.h.

◆ FAST_REQUIRE_EQ

#define FAST_REQUIRE_EQ   DOCTEST_FAST_REQUIRE_EQ

Definition at line 2581 of file doctest.h.

◆ FAST_REQUIRE_GE

#define FAST_REQUIRE_GE   DOCTEST_FAST_REQUIRE_GE

Definition at line 2593 of file doctest.h.

◆ FAST_REQUIRE_GT

#define FAST_REQUIRE_GT   DOCTEST_FAST_REQUIRE_GT

Definition at line 2587 of file doctest.h.

◆ FAST_REQUIRE_LE

#define FAST_REQUIRE_LE   DOCTEST_FAST_REQUIRE_LE

Definition at line 2596 of file doctest.h.

◆ FAST_REQUIRE_LT

#define FAST_REQUIRE_LT   DOCTEST_FAST_REQUIRE_LT

Definition at line 2590 of file doctest.h.

◆ FAST_REQUIRE_NE

#define FAST_REQUIRE_NE   DOCTEST_FAST_REQUIRE_NE

Definition at line 2584 of file doctest.h.

◆ FAST_REQUIRE_UNARY

#define FAST_REQUIRE_UNARY   DOCTEST_FAST_REQUIRE_UNARY

Definition at line 2599 of file doctest.h.

◆ FAST_REQUIRE_UNARY_FALSE

#define FAST_REQUIRE_UNARY_FALSE   DOCTEST_FAST_REQUIRE_UNARY_FALSE

Definition at line 2602 of file doctest.h.

◆ FAST_WARN_EQ

#define FAST_WARN_EQ   DOCTEST_FAST_WARN_EQ

Definition at line 2579 of file doctest.h.

◆ FAST_WARN_GE

#define FAST_WARN_GE   DOCTEST_FAST_WARN_GE

Definition at line 2591 of file doctest.h.

◆ FAST_WARN_GT

#define FAST_WARN_GT   DOCTEST_FAST_WARN_GT

Definition at line 2585 of file doctest.h.

◆ FAST_WARN_LE

#define FAST_WARN_LE   DOCTEST_FAST_WARN_LE

Definition at line 2594 of file doctest.h.

◆ FAST_WARN_LT

#define FAST_WARN_LT   DOCTEST_FAST_WARN_LT

Definition at line 2588 of file doctest.h.

◆ FAST_WARN_NE

#define FAST_WARN_NE   DOCTEST_FAST_WARN_NE

Definition at line 2582 of file doctest.h.

◆ FAST_WARN_UNARY

#define FAST_WARN_UNARY   DOCTEST_FAST_WARN_UNARY

Definition at line 2597 of file doctest.h.

◆ FAST_WARN_UNARY_FALSE

#define FAST_WARN_UNARY_FALSE   DOCTEST_FAST_WARN_UNARY_FALSE

Definition at line 2600 of file doctest.h.

◆ GIVEN

#define GIVEN   DOCTEST_GIVEN

Definition at line 2548 of file doctest.h.

◆ INFO

#define INFO   DOCTEST_INFO

Definition at line 2503 of file doctest.h.

◆ MESSAGE

#define MESSAGE   DOCTEST_MESSAGE

Definition at line 2508 of file doctest.h.

◆ REGISTER_EXCEPTION_TRANSLATOR

#define REGISTER_EXCEPTION_TRANSLATOR   DOCTEST_REGISTER_EXCEPTION_TRANSLATOR

Definition at line 2501 of file doctest.h.

◆ REGISTER_REPORTER

#define REGISTER_REPORTER   DOCTEST_REGISTER_REPORTER

Definition at line 2502 of file doctest.h.

◆ REQUIRE

#define REQUIRE   DOCTEST_REQUIRE

Definition at line 2523 of file doctest.h.

◆ REQUIRE_EQ

#define REQUIRE_EQ   DOCTEST_REQUIRE_EQ

Definition at line 2556 of file doctest.h.

◆ REQUIRE_FALSE

#define REQUIRE_FALSE   DOCTEST_REQUIRE_FALSE

Definition at line 2524 of file doctest.h.

◆ REQUIRE_FALSE_MESSAGE

#define REQUIRE_FALSE_MESSAGE   DOCTEST_REQUIRE_FALSE_MESSAGE

Definition at line 2540 of file doctest.h.

◆ REQUIRE_GE

#define REQUIRE_GE   DOCTEST_REQUIRE_GE

Definition at line 2568 of file doctest.h.

◆ REQUIRE_GT

#define REQUIRE_GT   DOCTEST_REQUIRE_GT

Definition at line 2562 of file doctest.h.

◆ REQUIRE_LE

#define REQUIRE_LE   DOCTEST_REQUIRE_LE

Definition at line 2571 of file doctest.h.

◆ REQUIRE_LT

#define REQUIRE_LT   DOCTEST_REQUIRE_LT

Definition at line 2565 of file doctest.h.

◆ REQUIRE_MESSAGE

#define REQUIRE_MESSAGE   DOCTEST_REQUIRE_MESSAGE

Definition at line 2539 of file doctest.h.

◆ REQUIRE_NE

#define REQUIRE_NE   DOCTEST_REQUIRE_NE

Definition at line 2559 of file doctest.h.

◆ REQUIRE_NOTHROW

#define REQUIRE_NOTHROW   DOCTEST_REQUIRE_NOTHROW

Definition at line 2527 of file doctest.h.

◆ REQUIRE_NOTHROW_MESSAGE

#define REQUIRE_NOTHROW_MESSAGE   DOCTEST_REQUIRE_NOTHROW_MESSAGE

Definition at line 2543 of file doctest.h.

◆ REQUIRE_THROWS

#define REQUIRE_THROWS   DOCTEST_REQUIRE_THROWS

Definition at line 2525 of file doctest.h.

◆ REQUIRE_THROWS_AS

#define REQUIRE_THROWS_AS   DOCTEST_REQUIRE_THROWS_AS

Definition at line 2526 of file doctest.h.

◆ REQUIRE_THROWS_AS_MESSAGE

#define REQUIRE_THROWS_AS_MESSAGE   DOCTEST_REQUIRE_THROWS_AS_MESSAGE

Definition at line 2542 of file doctest.h.

◆ REQUIRE_THROWS_MESSAGE

#define REQUIRE_THROWS_MESSAGE   DOCTEST_REQUIRE_THROWS_MESSAGE

Definition at line 2541 of file doctest.h.

◆ REQUIRE_UNARY

#define REQUIRE_UNARY   DOCTEST_REQUIRE_UNARY

Definition at line 2574 of file doctest.h.

◆ REQUIRE_UNARY_FALSE

#define REQUIRE_UNARY_FALSE   DOCTEST_REQUIRE_UNARY_FALSE

Definition at line 2577 of file doctest.h.

◆ SCENARIO

#define SCENARIO   DOCTEST_SCENARIO

Definition at line 2545 of file doctest.h.

◆ SCENARIO_TEMPLATE

#define SCENARIO_TEMPLATE   DOCTEST_SCENARIO_TEMPLATE

Definition at line 2546 of file doctest.h.

◆ SCENARIO_TEMPLATE_DEFINE

#define SCENARIO_TEMPLATE_DEFINE   DOCTEST_SCENARIO_TEMPLATE_DEFINE

Definition at line 2547 of file doctest.h.

◆ SUBCASE

#define SUBCASE   DOCTEST_SUBCASE

Definition at line 2497 of file doctest.h.

◆ TEST_CASE

#define TEST_CASE   DOCTEST_TEST_CASE

Definition at line 2491 of file doctest.h.

◆ TEST_CASE_FIXTURE

#define TEST_CASE_FIXTURE   DOCTEST_TEST_CASE_FIXTURE

Definition at line 2492 of file doctest.h.

◆ TEST_CASE_TEMPLATE

#define TEST_CASE_TEMPLATE   DOCTEST_TEST_CASE_TEMPLATE

Definition at line 2494 of file doctest.h.

◆ TEST_CASE_TEMPLATE_DEFINE

#define TEST_CASE_TEMPLATE_DEFINE   DOCTEST_TEST_CASE_TEMPLATE_DEFINE

Definition at line 2495 of file doctest.h.

◆ TEST_CASE_TEMPLATE_INSTANTIATE

#define TEST_CASE_TEMPLATE_INSTANTIATE   DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE

Definition at line 2496 of file doctest.h.

◆ TEST_SUITE

#define TEST_SUITE   DOCTEST_TEST_SUITE

Definition at line 2498 of file doctest.h.

◆ TEST_SUITE_BEGIN

#define TEST_SUITE_BEGIN   DOCTEST_TEST_SUITE_BEGIN

Definition at line 2499 of file doctest.h.

◆ TEST_SUITE_END

#define TEST_SUITE_END   DOCTEST_TEST_SUITE_END

Definition at line 2500 of file doctest.h.

◆ THEN

#define THEN   DOCTEST_THEN

Definition at line 2551 of file doctest.h.

◆ TO_LVALUE

#define TO_LVALUE   DOCTEST_TO_LVALUE

Definition at line 2511 of file doctest.h.

◆ TYPE_TO_STRING

#define TYPE_TO_STRING   DOCTEST_TYPE_TO_STRING

Definition at line 2493 of file doctest.h.

◆ WARN

#define WARN   DOCTEST_WARN

Definition at line 2513 of file doctest.h.

◆ WARN_EQ

#define WARN_EQ   DOCTEST_WARN_EQ

Definition at line 2554 of file doctest.h.

◆ WARN_FALSE

#define WARN_FALSE   DOCTEST_WARN_FALSE

Definition at line 2514 of file doctest.h.

◆ WARN_FALSE_MESSAGE

#define WARN_FALSE_MESSAGE   DOCTEST_WARN_FALSE_MESSAGE

Definition at line 2530 of file doctest.h.

◆ WARN_GE

#define WARN_GE   DOCTEST_WARN_GE

Definition at line 2566 of file doctest.h.

◆ WARN_GT

#define WARN_GT   DOCTEST_WARN_GT

Definition at line 2560 of file doctest.h.

◆ WARN_LE

#define WARN_LE   DOCTEST_WARN_LE

Definition at line 2569 of file doctest.h.

◆ WARN_LT

#define WARN_LT   DOCTEST_WARN_LT

Definition at line 2563 of file doctest.h.

◆ WARN_MESSAGE

#define WARN_MESSAGE   DOCTEST_WARN_MESSAGE

Definition at line 2529 of file doctest.h.

◆ WARN_NE

#define WARN_NE   DOCTEST_WARN_NE

Definition at line 2557 of file doctest.h.

◆ WARN_NOTHROW

#define WARN_NOTHROW   DOCTEST_WARN_NOTHROW

Definition at line 2517 of file doctest.h.

◆ WARN_NOTHROW_MESSAGE

#define WARN_NOTHROW_MESSAGE   DOCTEST_WARN_NOTHROW_MESSAGE

Definition at line 2533 of file doctest.h.

◆ WARN_THROWS

#define WARN_THROWS   DOCTEST_WARN_THROWS

Definition at line 2515 of file doctest.h.

◆ WARN_THROWS_AS

#define WARN_THROWS_AS   DOCTEST_WARN_THROWS_AS

Definition at line 2516 of file doctest.h.

◆ WARN_THROWS_AS_MESSAGE

#define WARN_THROWS_AS_MESSAGE   DOCTEST_WARN_THROWS_AS_MESSAGE

Definition at line 2532 of file doctest.h.

◆ WARN_THROWS_MESSAGE

#define WARN_THROWS_MESSAGE   DOCTEST_WARN_THROWS_MESSAGE

Definition at line 2531 of file doctest.h.

◆ WARN_UNARY

#define WARN_UNARY   DOCTEST_WARN_UNARY

Definition at line 2572 of file doctest.h.

◆ WARN_UNARY_FALSE

#define WARN_UNARY_FALSE   DOCTEST_WARN_UNARY_FALSE

Definition at line 2575 of file doctest.h.

◆ WHEN

#define WHEN   DOCTEST_WHEN

Definition at line 2549 of file doctest.h.

Function Documentation

◆ _DOCTEST_ANON_FOR_SEMICOLON___LINE__()

DOCTEST_CLANG_SUPPRESS_WARNING_POP typedef int _DOCTEST_ANON_FOR_SEMICOLON___LINE__ ( )

◆ DOCTEST_CLANG_SUPPRESS_WARNING()

DOCTEST_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_CLANG_SUPPRESS_WARNING ( "-Wunknown-pragmas"  )

Definition at line 158 of file doctest.h.

378  : :)
379 #elif DOCTEST_MSVC
380 #define DOCTEST_BREAK_INTO_DEBUGGER() __debugbreak()
381 #elif defined(__MINGW32__)
382 extern "C" __declspec(dllimport) void __stdcall DebugBreak();
383 #define DOCTEST_BREAK_INTO_DEBUGGER() ::DebugBreak()
384 #else // linux
385 #define DOCTEST_BREAK_INTO_DEBUGGER() ((void)0)
386 #endif // linux
387 
388 #if DOCTEST_CLANG
389 // to detect if libc++ is being used with clang (the _LIBCPP_VERSION identifier)
390 #include <ciso646>
391 #endif // clang
392 
393 #if defined(_LIBCPP_VERSION) || defined(DOCTEST_CONFIG_USE_IOSFWD)
394 // not forward declaring ostream for libc++ because I had some problems (inline namespaces vs c++98)
395 // so the <iosfwd> header is used - also it is very light and doesn't drag a ton of stuff
396 #include <iosfwd>
397 #else // _LIBCPP_VERSION
398 namespace std {
399 template <class charT>
400 struct char_traits;
401 template <>
402 struct char_traits<char>;
403 template <class charT, class traits>
404 class basic_ostream;
405 typedef basic_ostream<char, char_traits<char> > ostream;
406 } // namespace std
#define DOCTEST_BREAK_INTO_DEBUGGER()
#define DOCTEST_MSVC
Definition: doctest.h:79

◆ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH()

DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH ( "-Wglobal-constructors"  )