\hypertarget{catch_2catch_8hpp_source}{}\doxysection{catch.\+hpp} \label{catch_2catch_8hpp_source}\index{catch/catch.hpp@{catch/catch.hpp}} \mbox{\hyperlink{catch_2catch_8hpp}{Go to the documentation of this file.}} \begin{DoxyCode}{0} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00001}00001 \textcolor{comment}{/*}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00002}00002 \textcolor{comment}{ * Catch v2.13.10}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00003}00003 \textcolor{comment}{ * Generated: 2022-\/10-\/16 11:01:23.452308}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00004}00004 \textcolor{comment}{ * -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00005}00005 \textcolor{comment}{ * This file has been merged from multiple headers. Please don't edit it directly}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00006}00006 \textcolor{comment}{ * Copyright (c) 2022 Two Blue Cubes Ltd. All rights reserved.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00007}00007 \textcolor{comment}{ *}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00008}00008 \textcolor{comment}{ * Distributed under the Boost Software License, Version 1.0. (See accompanying}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00009}00009 \textcolor{comment}{ * file LICENSE\_1\_0.txt or copy at http://www.boost.org/LICENSE\_1\_0.txt)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00010}00010 \textcolor{comment}{ */}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00011}00011 \textcolor{preprocessor}{\#ifndef TWOBLUECUBES\_SINGLE\_INCLUDE\_CATCH\_HPP\_INCLUDED}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00012}00012 \textcolor{preprocessor}{\#define TWOBLUECUBES\_SINGLE\_INCLUDE\_CATCH\_HPP\_INCLUDED}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00013}00013 \textcolor{comment}{// start catch.hpp}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00014}00014 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00015}00015 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00016}\mbox{\hyperlink{catch_2catch_8hpp_aed4b3022e5b389a59ee3e1633c0a70a8}{00016}} \textcolor{preprocessor}{\#define CATCH\_VERSION\_MAJOR 2}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00017}\mbox{\hyperlink{catch_2catch_8hpp_a7c36daa8f2e725fe5e1ff2a9c2559d4f}{00017}} \textcolor{preprocessor}{\#define CATCH\_VERSION\_MINOR 13}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00018}\mbox{\hyperlink{catch_2catch_8hpp_ab6adfb1d16a244d790dc1fe385831a52}{00018}} \textcolor{preprocessor}{\#define CATCH\_VERSION\_PATCH 10}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00019}00019 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00020}00020 \textcolor{preprocessor}{\#ifdef \_\_clang\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00021}00021 \textcolor{preprocessor}{\# pragma clang system\_header}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00022}00022 \textcolor{preprocessor}{\#elif defined \_\_GNUC\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00023}00023 \textcolor{preprocessor}{\# pragma GCC system\_header}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00024}00024 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00025}00025 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00026}00026 \textcolor{comment}{// start catch\_suppress\_warnings.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00027}00027 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00028}00028 \textcolor{preprocessor}{\#ifdef \_\_clang\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00029}00029 \textcolor{preprocessor}{\# ifdef \_\_ICC }\textcolor{comment}{// icpc defines the \_\_clang\_\_ macro}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00030}00030 \textcolor{preprocessor}{\# pragma warning(push)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00031}00031 \textcolor{preprocessor}{\# pragma warning(disable: 161 1682)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00032}00032 \textcolor{preprocessor}{\# else }\textcolor{comment}{// \_\_ICC}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00033}00033 \textcolor{preprocessor}{\# pragma clang diagnostic push}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00034}00034 \textcolor{preprocessor}{\# pragma clang diagnostic ignored "{}-\/Wpadded"{}}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00035}00035 \textcolor{preprocessor}{\# pragma clang diagnostic ignored "{}-\/Wswitch-\/enum"{}}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00036}00036 \textcolor{preprocessor}{\# pragma clang diagnostic ignored "{}-\/Wcovered-\/switch-\/default"{}}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00037}00037 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00038}00038 \textcolor{preprocessor}{\#elif defined \_\_GNUC\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00039}00039 \textcolor{comment}{// Because REQUIREs trigger GCC's -\/Wparentheses, and because still}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00040}00040 \textcolor{comment}{// supported version of g++ have only buggy support for \_Pragmas,}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00041}00041 \textcolor{comment}{// Wparentheses have to be suppressed globally.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00042}00042 \textcolor{preprocessor}{\# pragma GCC diagnostic ignored "{}-\/Wparentheses"{}} \textcolor{comment}{// See \#674 for details}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00043}00043 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00044}00044 \textcolor{preprocessor}{\# pragma GCC diagnostic push}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00045}00045 \textcolor{preprocessor}{\# pragma GCC diagnostic ignored "{}-\/Wunused-\/variable"{}}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00046}00046 \textcolor{preprocessor}{\# pragma GCC diagnostic ignored "{}-\/Wpadded"{}}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00047}00047 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00048}00048 \textcolor{comment}{// end catch\_suppress\_warnings.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00049}00049 \textcolor{preprocessor}{\#if defined(CATCH\_CONFIG\_MAIN) || defined(CATCH\_CONFIG\_RUNNER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00050}00050 \textcolor{preprocessor}{\# define CATCH\_IMPL}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00051}00051 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_ALL\_PARTS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00052}00052 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00053}00053 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00054}00054 \textcolor{comment}{// In the impl file, we want to have access to all parts of the headers}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00055}00055 \textcolor{comment}{// Can also be used to sanely support PCHs}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00056}00056 \textcolor{preprocessor}{\#if defined(CATCH\_CONFIG\_ALL\_PARTS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00057}00057 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_EXTERNAL\_INTERFACES}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00058}00058 \textcolor{preprocessor}{\# if defined(CATCH\_CONFIG\_DISABLE\_MATCHERS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00059}00059 \textcolor{preprocessor}{\# undef CATCH\_CONFIG\_DISABLE\_MATCHERS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00060}00060 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00061}00061 \textcolor{preprocessor}{\# if !defined(CATCH\_CONFIG\_ENABLE\_CHRONO\_STRINGMAKER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00062}00062 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_ENABLE\_CHRONO\_STRINGMAKER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00063}00063 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00064}00064 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00065}00065 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00066}00066 \textcolor{preprocessor}{\#if !defined(CATCH\_CONFIG\_IMPL\_ONLY)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00067}00067 \textcolor{comment}{// start catch\_platform.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00068}00068 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00069}00069 \textcolor{comment}{// See e.g.:}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00070}00070 \textcolor{comment}{// https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-\/18.1/TargetConditionals.h.auto.html}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00071}00071 \textcolor{preprocessor}{\#ifdef \_\_APPLE\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00072}00072 \textcolor{preprocessor}{\# include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00073}00073 \textcolor{preprocessor}{\# if (defined(TARGET\_OS\_OSX) \&\& TARGET\_OS\_OSX == 1) || \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00074}00074 \textcolor{preprocessor}{ (defined(TARGET\_OS\_MAC) \&\& TARGET\_OS\_MAC == 1)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00075}00075 \textcolor{preprocessor}{\# define CATCH\_PLATFORM\_MAC}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00076}00076 \textcolor{preprocessor}{\# elif (defined(TARGET\_OS\_IPHONE) \&\& TARGET\_OS\_IPHONE == 1)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00077}00077 \textcolor{preprocessor}{\# define CATCH\_PLATFORM\_IPHONE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00078}00078 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00079}00079 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00080}00080 \textcolor{preprocessor}{\#elif defined(linux) || defined(\_\_linux) || defined(\_\_linux\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00081}00081 \textcolor{preprocessor}{\# define CATCH\_PLATFORM\_LINUX}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00082}00082 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00083}00083 \textcolor{preprocessor}{\#elif defined(WIN32) || defined(\_\_WIN32\_\_) || defined(\_WIN32) || defined(\_MSC\_VER) || defined(\_\_MINGW32\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00084}00084 \textcolor{preprocessor}{\# define CATCH\_PLATFORM\_WINDOWS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00085}00085 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00086}00086 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00087}00087 \textcolor{comment}{// end catch\_platform.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00088}00088 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00089}00089 \textcolor{preprocessor}{\#ifdef CATCH\_IMPL}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00090}00090 \textcolor{preprocessor}{\# ifndef CLARA\_CONFIG\_MAIN}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00091}00091 \textcolor{preprocessor}{\# define CLARA\_CONFIG\_MAIN\_NOT\_DEFINED}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00092}00092 \textcolor{preprocessor}{\# define CLARA\_CONFIG\_MAIN}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00093}00093 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00094}00094 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00095}00095 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00096}00096 \textcolor{comment}{// start catch\_user\_interfaces.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00097}00097 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00098}\mbox{\hyperlink{namespace_catch}{00098}} \textcolor{keyword}{namespace }\mbox{\hyperlink{namespace_catch}{Catch}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00099}\mbox{\hyperlink{namespace_catch_acf5ea05e942d2d7fe79111e12754ed76}{00099}} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{namespace_catch_acf5ea05e942d2d7fe79111e12754ed76}{rngSeed}}();} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00100}00100 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00101}00101 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00102}00102 \textcolor{comment}{// end catch\_user\_interfaces.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00103}00103 \textcolor{comment}{// start catch\_tag\_alias\_autoregistrar.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00104}00104 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00105}00105 \textcolor{comment}{// start catch\_common.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00106}00106 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00107}00107 \textcolor{comment}{// start catch\_compiler\_capabilities.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00108}00108 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00109}00109 \textcolor{comment}{// Detect a number of compiler features -\/ by compiler}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00110}00110 \textcolor{comment}{// The following features are defined:}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00111}00111 \textcolor{comment}{//}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00112}00112 \textcolor{comment}{// CATCH\_CONFIG\_COUNTER : is the \_\_COUNTER\_\_ macro supported?}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00113}00113 \textcolor{comment}{// CATCH\_CONFIG\_WINDOWS\_SEH : is Windows SEH supported?}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00114}00114 \textcolor{comment}{// CATCH\_CONFIG\_POSIX\_SIGNALS : are POSIX signals supported?}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00115}00115 \textcolor{comment}{// CATCH\_CONFIG\_DISABLE\_EXCEPTIONS : Are exceptions enabled?}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00116}00116 \textcolor{comment}{// ****************}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00117}00117 \textcolor{comment}{// Note to maintainers: if new toggles are added please document them}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00118}00118 \textcolor{comment}{// in configuration.md, too}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00119}00119 \textcolor{comment}{// ****************}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00120}00120 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00121}00121 \textcolor{comment}{// In general each macro has a \_NO\_ form}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00122}00122 \textcolor{comment}{// (e.g. CATCH\_CONFIG\_NO\_POSIX\_SIGNALS) which disables the feature.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00123}00123 \textcolor{comment}{// Many features, at point of detection, define an \_INTERNAL\_ macro, so they}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00124}00124 \textcolor{comment}{// can be combined, en-\/mass, with the \_NO\_ forms later.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00125}00125 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00126}00126 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00127}00127 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00128}00128 \textcolor{preprocessor}{\# if (\_\_cplusplus >= 201402L) || (defined(\_MSVC\_LANG) \&\& \_MSVC\_LANG >= 201402L)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00129}00129 \textcolor{preprocessor}{\# define CATCH\_CPP14\_OR\_GREATER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00130}00130 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00131}00131 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00132}00132 \textcolor{preprocessor}{\# if (\_\_cplusplus >= 201703L) || (defined(\_MSVC\_LANG) \&\& \_MSVC\_LANG >= 201703L)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00133}00133 \textcolor{preprocessor}{\# define CATCH\_CPP17\_OR\_GREATER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00134}00134 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00135}00135 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00136}00136 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00137}00137 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00138}00138 \textcolor{comment}{// Only GCC compiler should be used in this block, so other compilers trying to}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00139}00139 \textcolor{comment}{// mask themselves as GCC should be ignored.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00140}00140 \textcolor{preprocessor}{\#if defined(\_\_GNUC\_\_) \&\& !defined(\_\_clang\_\_) \&\& !defined(\_\_ICC) \&\& !defined(\_\_CUDACC\_\_) \&\& !defined(\_\_LCC\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00141}00141 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_START\_WARNINGS\_SUPPRESSION \_Pragma( "{}GCC diagnostic push"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00142}00142 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_STOP\_WARNINGS\_SUPPRESSION \_Pragma( "{}GCC diagnostic pop"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00143}00143 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00144}00144 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_IGNORE\_BUT\_WARN(...) (void)\_\_builtin\_constant\_p(\_\_VA\_ARGS\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00145}00145 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00146}00146 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00147}00147 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00148}00148 \textcolor{preprocessor}{\#if defined(\_\_clang\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00149}00149 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00150}00150 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_START\_WARNINGS\_SUPPRESSION \_Pragma( "{}clang diagnostic push"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00151}00151 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_STOP\_WARNINGS\_SUPPRESSION \_Pragma( "{}clang diagnostic pop"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00152}00152 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00153}00153 \textcolor{comment}{// As of this writing, IBM XL's implementation of \_\_builtin\_constant\_p has a bug}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00154}00154 \textcolor{comment}{// which results in calls to destructors being emitted for each temporary,}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00155}00155 \textcolor{comment}{// without a matching initialization. In practice, this can result in something}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00156}00156 \textcolor{comment}{// like `std::string::\string~string` being called on an uninitialized value.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00157}00157 \textcolor{comment}{//}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00158}00158 \textcolor{comment}{// For example, this code will likely segfault under IBM XL:}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00159}00159 \textcolor{comment}{// ```}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00160}00160 \textcolor{comment}{// REQUIRE(std::string("{}12"{}) + "{}34"{} == "{}1234"{})}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00161}00161 \textcolor{comment}{// ```}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00162}00162 \textcolor{comment}{//}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00163}00163 \textcolor{comment}{// Therefore, `CATCH\_INTERNAL\_IGNORE\_BUT\_WARN` is not implemented.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00164}00164 \textcolor{preprocessor}{\# if !defined(\_\_ibmxl\_\_) \&\& !defined(\_\_CUDACC\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00165}00165 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_IGNORE\_BUT\_WARN(...) (void)\_\_builtin\_constant\_p(\_\_VA\_ARGS\_\_) }\textcolor{comment}{/* NOLINT(cppcoreguidelines-\/pro-\/type-\/vararg, hicpp-\/vararg) */}\textcolor{preprocessor}{}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00166}00166 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00167}00167 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00168}00168 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_GLOBALS\_WARNINGS \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00169}00169 \textcolor{preprocessor}{ \_Pragma( "{}clang diagnostic ignored \(\backslash\)"{}-\/Wexit-\/time-\/destructors\(\backslash\)"{}"{}} ) \(\backslash\)} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00170}00170 \_Pragma( "{}clang diagnostic ignored \(\backslash\)"{}-\/Wglobal-\/constructors\(\backslash\)"{}"{})} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00171}00171 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00172}00172 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_PARENTHESES\_WARNINGS \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00173}00173 \textcolor{preprocessor}{ \_Pragma( "{}clang diagnostic ignored \(\backslash\)"{}-\/Wparentheses\(\backslash\)"{}"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00174}00174 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00175}00175 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_WARNINGS \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00176}00176 \textcolor{preprocessor}{ \_Pragma( "{}clang diagnostic ignored \(\backslash\)"{}-\/Wunused-\/variable\(\backslash\)"{}"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00177}00177 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00178}00178 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_ZERO\_VARIADIC\_WARNINGS \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00179}00179 \textcolor{preprocessor}{ \_Pragma( "{}clang diagnostic ignored \(\backslash\)"{}-\/Wgnu-\/zero-\/variadic-\/macro-\/arguments\(\backslash\)"{}"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00180}00180 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00181}00181 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_TEMPLATE\_WARNINGS \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00182}00182 \textcolor{preprocessor}{ \_Pragma( "{}clang diagnostic ignored \(\backslash\)"{}-\/Wunused-\/template\(\backslash\)"{}"{}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00183}00183 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00184}00184 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// \_\_clang\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00185}00185 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00187}00187 \textcolor{comment}{// Assume that non-\/Windows platforms support posix signals by default}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00188}00188 \textcolor{preprocessor}{\#if !defined(CATCH\_PLATFORM\_WINDOWS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00189}\mbox{\hyperlink{catch_2catch_8hpp_a3c8d4b828da004fc3ad2511c1900ec19}{00189}} \textcolor{preprocessor}{ \#define CATCH\_INTERNAL\_CONFIG\_POSIX\_SIGNALS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00190}00190 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00191}00191 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00193}00193 \textcolor{comment}{// We know some environments not to support full POSIX signals}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00194}00194 \textcolor{preprocessor}{\#if defined(\_\_CYGWIN\_\_) || defined(\_\_QNX\_\_) || defined(\_\_EMSCRIPTEN\_\_) || defined(\_\_DJGPP\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00195}00195 \textcolor{preprocessor}{ \#define CATCH\_INTERNAL\_CONFIG\_NO\_POSIX\_SIGNALS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00196}00196 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00197}00197 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00198}00198 \textcolor{preprocessor}{\#ifdef \_\_OS400\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00199}00199 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_NO\_POSIX\_SIGNALS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00200}00200 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_COLOUR\_NONE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00201}00201 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00202}00202 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00204}00204 \textcolor{comment}{// Android somehow still does not support std::to\_string}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00205}00205 \textcolor{preprocessor}{\#if defined(\_\_ANDROID\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00206}00206 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_NO\_CPP11\_TO\_STRING}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00207}00207 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_ANDROID\_LOGWRITE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00208}00208 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00209}00209 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00211}00211 \textcolor{comment}{// Not all Windows environments support SEH properly}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00212}00212 \textcolor{preprocessor}{\#if defined(\_\_MINGW32\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00213}00213 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_NO\_WINDOWS\_SEH}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00214}00214 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00215}00215 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00217}00217 \textcolor{comment}{// PS4}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00218}00218 \textcolor{preprocessor}{\#if defined(\_\_ORBIS\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00219}00219 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_NO\_NEW\_CAPTURE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00220}00220 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00221}00221 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00223}00223 \textcolor{comment}{// Cygwin}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00224}00224 \textcolor{preprocessor}{\#ifdef \_\_CYGWIN\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00225}00225 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00226}00226 \textcolor{comment}{// Required for some versions of Cygwin to declare gettimeofday}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00227}00227 \textcolor{comment}{// see: http://stackoverflow.com/questions/36901803/gettimeofday-\/not-\/declared-\/in-\/this-\/scope-\/cygwin}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00228}00228 \textcolor{preprocessor}{\# define \_BSD\_SOURCE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00229}00229 \textcolor{comment}{// some versions of cygwin (most) do not support std::to\_string. Use the libstd check.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00230}00230 \textcolor{comment}{// https://gcc.gnu.org/onlinedocs/gcc-\/4.8.2/libstdc++/api/a01053\_source.html line 2812-\/2813}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00231}00231 \textcolor{preprocessor}{\# if !((\_\_cplusplus >= 201103L) \&\& defined(\_GLIBCXX\_USE\_C99) \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00232}00232 \textcolor{preprocessor}{ \&\& !defined(\_GLIBCXX\_HAVE\_BROKEN\_VSWPRINTF))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00233}00233 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00234}00234 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_NO\_CPP11\_TO\_STRING}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00235}00235 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00236}00236 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00237}00237 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// \_\_CYGWIN\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00238}00238 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00240}00240 \textcolor{comment}{// Visual C++}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00241}00241 \textcolor{preprocessor}{\#if defined(\_MSC\_VER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00242}00242 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00243}00243 \textcolor{comment}{// Universal Windows platform does not support SEH}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00244}00244 \textcolor{comment}{// Or console colours (or console at all...)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00245}00245 \textcolor{preprocessor}{\# if defined(WINAPI\_FAMILY) \&\& (WINAPI\_FAMILY == WINAPI\_FAMILY\_APP)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00246}00246 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_COLOUR\_NONE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00247}00247 \textcolor{preprocessor}{\# else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00248}00248 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_WINDOWS\_SEH}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00249}00249 \textcolor{preprocessor}{\# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00250}00250 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00251}00251 \textcolor{preprocessor}{\# if !defined(\_\_clang\_\_) }\textcolor{comment}{// Handle Clang masquerading for msvc}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00252}00252 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00253}00253 \textcolor{comment}{// MSVC traditional preprocessor needs some workaround for \_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00254}00254 \textcolor{comment}{// \_MSVC\_TRADITIONAL == 0 means new conformant preprocessor}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00255}00255 \textcolor{comment}{// \_MSVC\_TRADITIONAL == 1 means old traditional non-\/conformant preprocessor}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00256}00256 \textcolor{preprocessor}{\# if !defined(\_MSVC\_TRADITIONAL) || (defined(\_MSVC\_TRADITIONAL) \&\& \_MSVC\_TRADITIONAL)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00257}00257 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_TRADITIONAL\_MSVC\_PREPROCESSOR}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00258}00258 \textcolor{preprocessor}{\# endif }\textcolor{comment}{// MSVC\_TRADITIONAL}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00259}00259 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00260}00260 \textcolor{comment}{// Only do this if we're not using clang on Windows, which uses `diagnostic push` \& `diagnostic pop`}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00261}00261 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_START\_WARNINGS\_SUPPRESSION \_\_pragma( warning(push) )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00262}00262 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_STOP\_WARNINGS\_SUPPRESSION \_\_pragma( warning(pop) )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00263}00263 \textcolor{preprocessor}{\# endif }\textcolor{comment}{// \_\_clang\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00264}00264 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00265}00265 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// \_MSC\_VER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00266}00266 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00267}00267 \textcolor{preprocessor}{\#if defined(\_REENTRANT) || defined(\_MSC\_VER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00268}00268 \textcolor{comment}{// Enable async processing, as -\/pthread is specified or no additional linking is required}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00269}00269 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_USE\_ASYNC}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00270}00270 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// \_MSC\_VER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00271}00271 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00273}00273 \textcolor{comment}{// Check if we are compiled with -\/fno-\/exceptions or equivalent}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00274}00274 \textcolor{preprocessor}{\#if defined(\_\_EXCEPTIONS) || defined(\_\_cpp\_exceptions) || defined(\_CPPUNWIND)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00275}00275 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_EXCEPTIONS\_ENABLED}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00276}00276 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00277}00277 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00279}00279 \textcolor{comment}{// DJGPP}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00280}00280 \textcolor{preprocessor}{\#ifdef \_\_DJGPP\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00281}00281 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_NO\_WCHAR}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00282}00282 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// \_\_DJGPP\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00283}00283 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00285}00285 \textcolor{comment}{// Embarcadero C++Build}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00286}00286 \textcolor{preprocessor}{\#if defined(\_\_BORLANDC\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00287}00287 \textcolor{preprocessor}{ \#define CATCH\_INTERNAL\_CONFIG\_POLYFILL\_ISNAN}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00288}00288 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00289}00289 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00291}00291 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00292}00292 \textcolor{comment}{// Use of \_\_COUNTER\_\_ is suppressed during code analysis in}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00293}00293 \textcolor{comment}{// CLion/AppCode 2017.2.x and former, because \_\_COUNTER\_\_ is not properly}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00294}00294 \textcolor{comment}{// handled by it.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00295}00295 \textcolor{comment}{// Otherwise all supported compilers support COUNTER macro,}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00296}00296 \textcolor{comment}{// but user still might want to turn it off}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00297}00297 \textcolor{preprocessor}{\#if ( !defined(\_\_JETBRAINS\_IDE\_\_) || \_\_JETBRAINS\_IDE\_\_ >= 20170300L )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00298}\mbox{\hyperlink{catch_2catch_8hpp_a18b42ab8d6d1efdf417f97e5474dc450}{00298}} \textcolor{preprocessor}{ \#define CATCH\_INTERNAL\_CONFIG\_COUNTER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00299}00299 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00300}00300 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00302}00302 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00303}00303 \textcolor{comment}{// RTX is a special version of Windows that is real time.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00304}00304 \textcolor{comment}{// This means that it is detected as Windows, but does not provide}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00305}00305 \textcolor{comment}{// the same set of capabilities as real Windows does.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00306}00306 \textcolor{preprocessor}{\#if defined(UNDER\_RTSS) || defined(RTX64\_BUILD)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00307}00307 \textcolor{preprocessor}{ \#define CATCH\_INTERNAL\_CONFIG\_NO\_WINDOWS\_SEH}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00308}00308 \textcolor{preprocessor}{ \#define CATCH\_INTERNAL\_CONFIG\_NO\_ASYNC}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00309}00309 \textcolor{preprocessor}{ \#define CATCH\_CONFIG\_COLOUR\_NONE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00310}00310 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00311}00311 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00312}00312 \textcolor{preprocessor}{\#if !defined(\_GLIBCXX\_USE\_C99\_MATH\_TR1)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00313}\mbox{\hyperlink{catch_2catch_8hpp_a48ae5ed6ff9168c5ad3d5058527fbfae}{00313}} \textcolor{preprocessor}{\#define CATCH\_INTERNAL\_CONFIG\_GLOBAL\_NEXTAFTER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00314}00314 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00315}00315 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00316}00316 \textcolor{comment}{// Various stdlib support checks that require \_\_has\_include}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00317}00317 \textcolor{preprocessor}{\#if defined(\_\_has\_include)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00318}00318 \textcolor{comment}{// Check if string\_view is available and usable}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00319}00319 \textcolor{preprocessor}{ \#if \_\_has\_include() \&\& defined(CATCH\_CPP17\_OR\_GREATER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00320}00320 \textcolor{preprocessor}{ \# define CATCH\_INTERNAL\_CONFIG\_CPP17\_STRING\_VIEW}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00321}00321 \textcolor{preprocessor}{ \#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00322}00322 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00323}00323 \textcolor{comment}{// Check if optional is available and usable}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00324}00324 \textcolor{preprocessor}{ \# if \_\_has\_include() \&\& defined(CATCH\_CPP17\_OR\_GREATER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00325}00325 \textcolor{preprocessor}{ \# define CATCH\_INTERNAL\_CONFIG\_CPP17\_OPTIONAL}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00326}00326 \textcolor{preprocessor}{ \# endif }\textcolor{comment}{// \_\_has\_include() \&\& defined(CATCH\_CPP17\_OR\_GREATER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00327}00327 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00328}00328 \textcolor{comment}{// Check if byte is available and usable}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00329}00329 \textcolor{preprocessor}{ \# if \_\_has\_include() \&\& defined(CATCH\_CPP17\_OR\_GREATER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00330}00330 \textcolor{preprocessor}{ \# include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00331}00331 \textcolor{preprocessor}{ \# if defined(\_\_cpp\_lib\_byte) \&\& (\_\_cpp\_lib\_byte > 0)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00332}00332 \textcolor{preprocessor}{ \# define CATCH\_INTERNAL\_CONFIG\_CPP17\_BYTE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00333}00333 \textcolor{preprocessor}{ \# endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00334}00334 \textcolor{preprocessor}{ \# endif }\textcolor{comment}{// \_\_has\_include() \&\& defined(CATCH\_CPP17\_OR\_GREATER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00335}00335 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00336}00336 \textcolor{comment}{// Check if variant is available and usable}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00337}00337 \textcolor{preprocessor}{ \# if \_\_has\_include() \&\& defined(CATCH\_CPP17\_OR\_GREATER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00338}00338 \textcolor{preprocessor}{ \# if defined(\_\_clang\_\_) \&\& (\_\_clang\_major\_\_ < 8)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00339}00339 \textcolor{comment}{// work around clang bug with libstdc++ https://bugs.llvm.org/show\_bug.cgi?id=31852}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00340}00340 \textcolor{comment}{// fix should be in clang 8, workaround in libstdc++ 8.2}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00341}00341 \textcolor{preprocessor}{ \# include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00342}00342 \textcolor{preprocessor}{ \# if defined(\_\_GLIBCXX\_\_) \&\& defined(\_GLIBCXX\_RELEASE) \&\& (\_GLIBCXX\_RELEASE < 9)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00343}00343 \textcolor{preprocessor}{ \# define CATCH\_CONFIG\_NO\_CPP17\_VARIANT}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00344}00344 \textcolor{preprocessor}{ \# else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00345}00345 \textcolor{preprocessor}{ \# define CATCH\_INTERNAL\_CONFIG\_CPP17\_VARIANT}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00346}00346 \textcolor{preprocessor}{ \# endif }\textcolor{comment}{// defined(\_\_GLIBCXX\_\_) \&\& defined(\_GLIBCXX\_RELEASE) \&\& (\_GLIBCXX\_RELEASE < 9)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00347}00347 \textcolor{preprocessor}{ \# else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00348}00348 \textcolor{preprocessor}{ \# define CATCH\_INTERNAL\_CONFIG\_CPP17\_VARIANT}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00349}00349 \textcolor{preprocessor}{ \# endif }\textcolor{comment}{// defined(\_\_clang\_\_) \&\& (\_\_clang\_major\_\_ < 8)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00350}00350 \textcolor{preprocessor}{ \# endif }\textcolor{comment}{// \_\_has\_include() \&\& defined(CATCH\_CPP17\_OR\_GREATER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00351}00351 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// defined(\_\_has\_include)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00352}00352 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00353}00353 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_COUNTER) \&\& !defined(CATCH\_CONFIG\_NO\_COUNTER) \&\& !defined(CATCH\_CONFIG\_COUNTER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00354}\mbox{\hyperlink{catch_2catch_8hpp_aa70cff16ca513ff81704961bed5e01b0}{00354}} \textcolor{preprocessor}{\# define CATCH\_CONFIG\_COUNTER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00355}00355 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00356}00356 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_WINDOWS\_SEH) \&\& !defined(CATCH\_CONFIG\_NO\_WINDOWS\_SEH) \&\& !defined(CATCH\_CONFIG\_WINDOWS\_SEH) \&\& !defined(CATCH\_INTERNAL\_CONFIG\_NO\_WINDOWS\_SEH)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00357}00357 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_WINDOWS\_SEH}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00358}00358 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00359}00359 \textcolor{comment}{// This is set by default, because we assume that unix compilers are posix-\/signal-\/compatible by default.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00360}00360 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_POSIX\_SIGNALS) \&\& !defined(CATCH\_INTERNAL\_CONFIG\_NO\_POSIX\_SIGNALS) \&\& !defined(CATCH\_CONFIG\_NO\_POSIX\_SIGNALS) \&\& !defined(CATCH\_CONFIG\_POSIX\_SIGNALS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00361}\mbox{\hyperlink{catch_2catch_8hpp_ac5eee4f90512985d2043f971c6f08707}{00361}} \textcolor{preprocessor}{\# define CATCH\_CONFIG\_POSIX\_SIGNALS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00362}00362 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00363}00363 \textcolor{comment}{// This is set by default, because we assume that compilers with no wchar\_t support are just rare exceptions.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00364}00364 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_CONFIG\_NO\_WCHAR) \&\& !defined(CATCH\_CONFIG\_NO\_WCHAR) \&\& !defined(CATCH\_CONFIG\_WCHAR)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00365}\mbox{\hyperlink{catch_2catch_8hpp_ac6675f48ca221c1b9124ea02fe88324b}{00365}} \textcolor{preprocessor}{\# define CATCH\_CONFIG\_WCHAR}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00366}00366 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00367}00367 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00368}00368 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_CONFIG\_NO\_CPP11\_TO\_STRING) \&\& !defined(CATCH\_CONFIG\_NO\_CPP11\_TO\_STRING) \&\& !defined(CATCH\_CONFIG\_CPP11\_TO\_STRING)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00369}\mbox{\hyperlink{catch_2catch_8hpp_a5e8669f07e3db1e9e1604508689bc28a}{00369}} \textcolor{preprocessor}{\# define CATCH\_CONFIG\_CPP11\_TO\_STRING}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00370}00370 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00371}00371 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00372}00372 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_CPP17\_OPTIONAL) \&\& !defined(CATCH\_CONFIG\_NO\_CPP17\_OPTIONAL) \&\& !defined(CATCH\_CONFIG\_CPP17\_OPTIONAL)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00373}00373 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_CPP17\_OPTIONAL}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00374}00374 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00375}00375 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00376}00376 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_CPP17\_STRING\_VIEW) \&\& !defined(CATCH\_CONFIG\_NO\_CPP17\_STRING\_VIEW) \&\& !defined(CATCH\_CONFIG\_CPP17\_STRING\_VIEW)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00377}00377 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_CPP17\_STRING\_VIEW}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00378}00378 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00379}00379 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00380}00380 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_CPP17\_VARIANT) \&\& !defined(CATCH\_CONFIG\_NO\_CPP17\_VARIANT) \&\& !defined(CATCH\_CONFIG\_CPP17\_VARIANT)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00381}00381 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_CPP17\_VARIANT}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00382}00382 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00383}00383 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00384}00384 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_CPP17\_BYTE) \&\& !defined(CATCH\_CONFIG\_NO\_CPP17\_BYTE) \&\& !defined(CATCH\_CONFIG\_CPP17\_BYTE)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00385}00385 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_CPP17\_BYTE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00386}00386 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00387}00387 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00388}00388 \textcolor{preprocessor}{\#if defined(CATCH\_CONFIG\_EXPERIMENTAL\_REDIRECT)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00389}00389 \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_CONFIG\_NEW\_CAPTURE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00390}00390 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00391}00391 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00392}00392 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_NEW\_CAPTURE) \&\& !defined(CATCH\_INTERNAL\_CONFIG\_NO\_NEW\_CAPTURE) \&\& !defined(CATCH\_CONFIG\_NO\_NEW\_CAPTURE) \&\& !defined(CATCH\_CONFIG\_NEW\_CAPTURE)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00393}00393 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_NEW\_CAPTURE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00394}00394 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00395}00395 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00396}00396 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_CONFIG\_EXCEPTIONS\_ENABLED) \&\& !defined(CATCH\_CONFIG\_DISABLE\_EXCEPTIONS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00397}\mbox{\hyperlink{catch_2catch_8hpp_a893712b2ba6e7400136a0a023b12e9db}{00397}} \textcolor{preprocessor}{\# define CATCH\_CONFIG\_DISABLE\_EXCEPTIONS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00398}00398 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00399}00399 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00400}00400 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_POLYFILL\_ISNAN) \&\& !defined(CATCH\_CONFIG\_NO\_POLYFILL\_ISNAN) \&\& !defined(CATCH\_CONFIG\_POLYFILL\_ISNAN)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00401}00401 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_POLYFILL\_ISNAN}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00402}00402 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00403}00403 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00404}00404 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_USE\_ASYNC) \&\& !defined(CATCH\_INTERNAL\_CONFIG\_NO\_ASYNC) \&\& !defined(CATCH\_CONFIG\_NO\_USE\_ASYNC) \&\& !defined(CATCH\_CONFIG\_USE\_ASYNC)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00405}00405 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_USE\_ASYNC}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00406}00406 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00407}00407 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00408}00408 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_ANDROID\_LOGWRITE) \&\& !defined(CATCH\_CONFIG\_NO\_ANDROID\_LOGWRITE) \&\& !defined(CATCH\_CONFIG\_ANDROID\_LOGWRITE)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00409}00409 \textcolor{preprocessor}{\# define CATCH\_CONFIG\_ANDROID\_LOGWRITE}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00410}00410 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00411}00411 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00412}00412 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_GLOBAL\_NEXTAFTER) \&\& !defined(CATCH\_CONFIG\_NO\_GLOBAL\_NEXTAFTER) \&\& !defined(CATCH\_CONFIG\_GLOBAL\_NEXTAFTER)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00413}\mbox{\hyperlink{catch_2catch_8hpp_a3271a306c531fd4a2c6c6180e4903fd9}{00413}} \textcolor{preprocessor}{\# define CATCH\_CONFIG\_GLOBAL\_NEXTAFTER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00414}00414 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00415}00415 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00416}00416 \textcolor{comment}{// Even if we do not think the compiler has that warning, we still have}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00417}00417 \textcolor{comment}{// to provide a macro that can be used by the code.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00418}00418 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_START\_WARNINGS\_SUPPRESSION)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00419}\mbox{\hyperlink{catch_2catch_8hpp_a1500dca9a578a0bd2f85771cfa3fd35d}{00419}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_START\_WARNINGS\_SUPPRESSION}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00420}00420 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00421}00421 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_STOP\_WARNINGS\_SUPPRESSION)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00422}\mbox{\hyperlink{catch_2catch_8hpp_ad9594e9891b032f0dd0279960dc861a5}{00422}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_STOP\_WARNINGS\_SUPPRESSION}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00423}00423 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00424}00424 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_SUPPRESS\_PARENTHESES\_WARNINGS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00425}\mbox{\hyperlink{catch_2catch_8hpp_a89c1608a68775aca1bb7c265f7ba923a}{00425}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_PARENTHESES\_WARNINGS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00426}00426 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00427}00427 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_SUPPRESS\_GLOBALS\_WARNINGS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00428}\mbox{\hyperlink{catch_2catch_8hpp_aa0200c23b35ba2bd8ebed69a8f3c1c66}{00428}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_GLOBALS\_WARNINGS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00429}00429 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00430}00430 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_WARNINGS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00431}\mbox{\hyperlink{catch_2catch_8hpp_a828d81ce73c46941460c92ecbd7b8fc2}{00431}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_WARNINGS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00432}00432 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00433}00433 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_SUPPRESS\_ZERO\_VARIADIC\_WARNINGS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00434}\mbox{\hyperlink{catch_2catch_8hpp_af9c2d6807f17109481b536551c0c10bf}{00434}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_ZERO\_VARIADIC\_WARNINGS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00435}00435 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00436}00436 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00437}00437 \textcolor{comment}{// The goal of this macro is to avoid evaluation of the arguments, but}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00438}00438 \textcolor{comment}{// still have the compiler warn on problems inside...}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00439}00439 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_IGNORE\_BUT\_WARN)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00440}\mbox{\hyperlink{catch_2catch_8hpp_aa7ffc39ff2307d382e766a867d49b67a}{00440}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_IGNORE\_BUT\_WARN(...)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00441}00441 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00442}00442 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00443}00443 \textcolor{preprocessor}{\#if defined(\_\_APPLE\_\_) \&\& defined(\_\_apple\_build\_version\_\_) \&\& (\_\_clang\_major\_\_ < 10)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00444}00444 \textcolor{preprocessor}{\# undef CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_TEMPLATE\_WARNINGS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00445}00445 \textcolor{preprocessor}{\#elif defined(\_\_clang\_\_) \&\& (\_\_clang\_major\_\_ < 5)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00446}00446 \textcolor{preprocessor}{\# undef CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_TEMPLATE\_WARNINGS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00447}00447 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00448}00448 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00449}00449 \textcolor{preprocessor}{\#if !defined(CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_TEMPLATE\_WARNINGS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00450}\mbox{\hyperlink{catch_2catch_8hpp_a10a275cf93b99d6f1246d9d9df09d1d8}{00450}} \textcolor{preprocessor}{\# define CATCH\_INTERNAL\_SUPPRESS\_UNUSED\_TEMPLATE\_WARNINGS}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00451}00451 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00452}00452 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00453}00453 \textcolor{preprocessor}{\#if defined(CATCH\_CONFIG\_DISABLE\_EXCEPTIONS)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00454}\mbox{\hyperlink{catch_2catch_8hpp_ab76c2d22e571ab1a828f5c60d2f485a6}{00454}} \textcolor{preprocessor}{\#define CATCH\_TRY if ((true))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00455}\mbox{\hyperlink{catch_2catch_8hpp_afa0ae14e70806dca4f8bf06d06645fa9}{00455}} \textcolor{preprocessor}{\#define CATCH\_CATCH\_ALL if ((false))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00456}\mbox{\hyperlink{catch_2catch_8hpp_a3caecf3cbc55848423d744df50d84d5b}{00456}} \textcolor{preprocessor}{\#define CATCH\_CATCH\_ANON(type) if ((false))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00457}00457 \textcolor{preprocessor}{\#else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00458}00458 \textcolor{preprocessor}{\#define CATCH\_TRY try}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00459}00459 \textcolor{preprocessor}{\#define CATCH\_CATCH\_ALL catch (...)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00460}00460 \textcolor{preprocessor}{\#define CATCH\_CATCH\_ANON(type) catch (type)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00461}00461 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00462}00462 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00463}00463 \textcolor{preprocessor}{\#if defined(CATCH\_INTERNAL\_CONFIG\_TRADITIONAL\_MSVC\_PREPROCESSOR) \&\& !defined(CATCH\_CONFIG\_NO\_TRADITIONAL\_MSVC\_PREPROCESSOR) \&\& !defined(CATCH\_CONFIG\_TRADITIONAL\_MSVC\_PREPROCESSOR)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00464}00464 \textcolor{preprocessor}{\#define CATCH\_CONFIG\_TRADITIONAL\_MSVC\_PREPROCESSOR}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00465}00465 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00466}00466 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00467}00467 \textcolor{comment}{// end catch\_compiler\_capabilities.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00468}\mbox{\hyperlink{catch_2catch_8hpp_a7c21e89d8b7727757ce9ca2b848f1cda}{00468}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_UNIQUE\_NAME\_LINE2( name, line ) name\#\#line}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00469}\mbox{\hyperlink{catch_2catch_8hpp_a1b51a086ea21a750bd306ac0ed4d2a95}{00469}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_UNIQUE\_NAME\_LINE( name, line ) INTERNAL\_CATCH\_UNIQUE\_NAME\_LINE2( name, line )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00470}00470 \textcolor{preprocessor}{\#ifdef CATCH\_CONFIG\_COUNTER}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00471}\mbox{\hyperlink{catch_2catch_8hpp_afe320ceec108fc8c160f9ac3938f1bc8}{00471}} \textcolor{preprocessor}{\# define INTERNAL\_CATCH\_UNIQUE\_NAME( name ) INTERNAL\_CATCH\_UNIQUE\_NAME\_LINE( name, \_\_COUNTER\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00472}00472 \textcolor{preprocessor}{\#else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00473}00473 \textcolor{preprocessor}{\# define INTERNAL\_CATCH\_UNIQUE\_NAME( name ) INTERNAL\_CATCH\_UNIQUE\_NAME\_LINE( name, \_\_LINE\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00474}00474 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00475}00475 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00476}00476 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00477}00477 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00478}00478 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00479}00479 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00480}00480 \textcolor{comment}{// We need a dummy global operator<< so we can bring it into Catch namespace later}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00481}\mbox{\hyperlink{struct_catch__global__namespace__dummy}{00481}} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch__global__namespace__dummy}{Catch\_global\_namespace\_dummy}} \{\};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00482}\mbox{\hyperlink{catch_2catch_8hpp_aae0cdd5d2f0ac242b9ab18b0f66ba26e}{00482}} std::ostream\& \mbox{\hyperlink{catch_2catch_8hpp_aae0cdd5d2f0ac242b9ab18b0f66ba26e}{operator<<}}(std::ostream\&, \mbox{\hyperlink{struct_catch__global__namespace__dummy}{Catch\_global\_namespace\_dummy}});} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00483}00483 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00484}00484 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespace_catch}{Catch}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00485}00485 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00486}\mbox{\hyperlink{struct_catch_1_1_case_sensitive_aad49d3aee2d97066642fffa919685c6a}{00486}} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch_1_1_case_sensitive}{CaseSensitive}} \{ \textcolor{keyword}{enum} \mbox{\hyperlink{struct_catch_1_1_case_sensitive_aad49d3aee2d97066642fffa919685c6a}{Choice}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00487}\mbox{\hyperlink{struct_catch_1_1_case_sensitive_aad49d3aee2d97066642fffa919685c6aa0b895efea11374090c2ff086bf15df8e}{00487}} \mbox{\hyperlink{struct_catch_1_1_case_sensitive_aad49d3aee2d97066642fffa919685c6aa0b895efea11374090c2ff086bf15df8e}{Yes}},} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00488}00488 \mbox{\hyperlink{struct_catch_1_1_case_sensitive_aad49d3aee2d97066642fffa919685c6aaeabe15dea2b2d0ea0847e88a9b2a99eb}{No}}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00489}\mbox{\hyperlink{struct_catch_1_1_case_sensitive_aad49d3aee2d97066642fffa919685c6aaeabe15dea2b2d0ea0847e88a9b2a99eb}{00489}} \}; \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00490}00490 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00491}\mbox{\hyperlink{class_catch_1_1_non_copyable}{00491}} \textcolor{keyword}{class }\mbox{\hyperlink{class_catch_1_1_non_copyable}{NonCopyable}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00492}00492 \mbox{\hyperlink{class_catch_1_1_non_copyable_a4b492dd5753f9952350fb64dc6cb9fe2}{NonCopyable}}( \mbox{\hyperlink{class_catch_1_1_non_copyable}{NonCopyable}} \textcolor{keyword}{const}\& ) = \textcolor{keyword}{delete};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00493}00493 \mbox{\hyperlink{class_catch_1_1_non_copyable_a4b492dd5753f9952350fb64dc6cb9fe2}{NonCopyable}}( \mbox{\hyperlink{class_catch_1_1_non_copyable}{NonCopyable}} \&\& ) = \textcolor{keyword}{delete};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00494}00494 \mbox{\hyperlink{class_catch_1_1_non_copyable}{NonCopyable}}\& operator = ( \mbox{\hyperlink{class_catch_1_1_non_copyable}{NonCopyable}} \textcolor{keyword}{const}\& ) = \textcolor{keyword}{delete};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00495}00495 \mbox{\hyperlink{class_catch_1_1_non_copyable}{NonCopyable}}\& operator = ( \mbox{\hyperlink{class_catch_1_1_non_copyable}{NonCopyable}} \&\& ) = \textcolor{keyword}{delete};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00496}00496 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00497}00497 \textcolor{keyword}{protected}:} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00498}\mbox{\hyperlink{class_catch_1_1_non_copyable_a4b492dd5753f9952350fb64dc6cb9fe2}{00498}} \mbox{\hyperlink{class_catch_1_1_non_copyable_a4b492dd5753f9952350fb64dc6cb9fe2}{NonCopyable}}();} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00499}\mbox{\hyperlink{class_catch_1_1_non_copyable_a81254677280fef337eb4a676e91e3293}{00499}} \textcolor{keyword}{virtual} \mbox{\hyperlink{class_catch_1_1_non_copyable_a81254677280fef337eb4a676e91e3293}{\string~NonCopyable}}();} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00500}00500 \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00501}00501 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00502}\mbox{\hyperlink{struct_catch_1_1_source_line_info}{00502}} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00503}00503 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00504}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a2d80932bb4129b1606d1924a5c44be2f}{00504}} \mbox{\hyperlink{struct_catch_1_1_source_line_info_a2d80932bb4129b1606d1924a5c44be2f}{SourceLineInfo}}() = \textcolor{keyword}{delete};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00505}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a48510b82a39a042ab370ed143dd30c10}{00505}} \mbox{\hyperlink{struct_catch_1_1_source_line_info_a48510b82a39a042ab370ed143dd30c10}{SourceLineInfo}}( \textcolor{keywordtype}{char} \textcolor{keyword}{const}* \_file, std::size\_t \_line ) noexcept} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00506}00506 : \mbox{\hyperlink{struct_catch_1_1_source_line_info_a24185f1fe039d08a5e0399297c4f1f7e}{file}}( \_file ),} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00507}00507 \mbox{\hyperlink{struct_catch_1_1_source_line_info_a841e5d696c7b9cde24e45e61dd979c77}{line}}( \_line )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00508}00508 \{\}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00509}00509 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00510}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a7c44c9986c33a9cf842b791374332d41}{00510}} \mbox{\hyperlink{struct_catch_1_1_source_line_info_a7c44c9986c33a9cf842b791374332d41}{SourceLineInfo}}( \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}} \textcolor{keyword}{const}\& other ) = \textcolor{keywordflow}{default};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00511}\mbox{\hyperlink{struct_catch_1_1_source_line_info_ab9891ccc4e7fa7c1ab747cd013341482}{00511}} \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}}\& \mbox{\hyperlink{struct_catch_1_1_source_line_info_ab9891ccc4e7fa7c1ab747cd013341482}{operator = }}( \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}} \textcolor{keyword}{const}\& ) = \textcolor{keywordflow}{default};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00512}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a5ea6179645457b8ec961aec9ca4c5588}{00512}} \mbox{\hyperlink{struct_catch_1_1_source_line_info_a5ea6179645457b8ec961aec9ca4c5588}{SourceLineInfo}}( \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}}\&\& ) noexcept = default;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00513}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a1efc6194265495c99bb455c69fb1c904}{00513}} \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}}\& operator = ( \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}}\&\& ) noexcept = default;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00514}00514 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00515}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a10a5b5b7dff82971879c2eb8d83f9b3b}{00515}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{struct_catch_1_1_source_line_info_a10a5b5b7dff82971879c2eb8d83f9b3b}{empty}}() const noexcept \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{struct_catch_1_1_source_line_info_a24185f1fe039d08a5e0399297c4f1f7e}{file}}[0] == \textcolor{charliteral}{'\(\backslash\)0'}; \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00516}\mbox{\hyperlink{struct_catch_1_1_source_line_info_af07e4fdeddf8409b91e4f842f6264cf8}{00516}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{struct_catch_1_1_source_line_info_af07e4fdeddf8409b91e4f842f6264cf8}{operator == }}( \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}} \textcolor{keyword}{const}\& other ) \textcolor{keyword}{const} \textcolor{keyword}{noexcept};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00517}\mbox{\hyperlink{struct_catch_1_1_source_line_info_af77415416919d2d6030b4be085b92f7a}{00517}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{struct_catch_1_1_source_line_info_af77415416919d2d6030b4be085b92f7a}{operator < }}( \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}} \textcolor{keyword}{const}\& other ) \textcolor{keyword}{const} \textcolor{keyword}{noexcept};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00518}00518 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00519}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a24185f1fe039d08a5e0399297c4f1f7e}{00519}} \textcolor{keywordtype}{char} \textcolor{keyword}{const}* \mbox{\hyperlink{struct_catch_1_1_source_line_info_a24185f1fe039d08a5e0399297c4f1f7e}{file}};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00520}\mbox{\hyperlink{struct_catch_1_1_source_line_info_a841e5d696c7b9cde24e45e61dd979c77}{00520}} std::size\_t \mbox{\hyperlink{struct_catch_1_1_source_line_info_a841e5d696c7b9cde24e45e61dd979c77}{line}};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00521}00521 \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00522}00522 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00523}\mbox{\hyperlink{namespace_catch_a8c8ea1f66bc1cdc3e1254ed7fa57c06d}{00523}} std::ostream\& \mbox{\hyperlink{namespace_catch_a8c8ea1f66bc1cdc3e1254ed7fa57c06d}{operator << }}( std::ostream\& os, \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}} \textcolor{keyword}{const}\& info );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00524}00524 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00525}00525 \textcolor{comment}{// Bring in operator<< from global namespace into Catch namespace}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00526}00526 \textcolor{comment}{// This is necessary because the overload of operator<< above makes}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00527}00527 \textcolor{comment}{// lookup stop at namespace Catch}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00528}00528 using ::operator<<;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00529}00529 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00530}00530 \textcolor{comment}{// Use this in variadic streaming macros to allow}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00531}00531 \textcolor{comment}{// >> +StreamEndStop}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00532}00532 \textcolor{comment}{// as well as}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00533}00533 \textcolor{comment}{// >> stuff +StreamEndStop}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00534}\mbox{\hyperlink{struct_catch_1_1_stream_end_stop}{00534}} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch_1_1_stream_end_stop}{StreamEndStop}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00535}\mbox{\hyperlink{struct_catch_1_1_stream_end_stop_a4a518f0342a381074821d5bda2651401}{00535}} std::string \mbox{\hyperlink{struct_catch_1_1_stream_end_stop_a4a518f0342a381074821d5bda2651401}{operator+}}() \textcolor{keyword}{const};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00536}00536 \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00537}00537 \textcolor{keyword}{template}<\textcolor{keyword}{typename} T>} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00538}\mbox{\hyperlink{namespace_catch_a074287bb202b5f53de64b5b63c16b23c}{00538}} T \textcolor{keyword}{const}\& \mbox{\hyperlink{namespace_catch_a074287bb202b5f53de64b5b63c16b23c}{operator + }}( T \textcolor{keyword}{const}\& \mbox{\hyperlink{namespace_catch_1_1_generators_a3b2efc97978cf37951b75394aae1a3fb}{value}}, \mbox{\hyperlink{struct_catch_1_1_stream_end_stop}{StreamEndStop}} ) \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00539}00539 \textcolor{keywordflow}{return} \mbox{\hyperlink{namespace_catch_1_1_generators_a3b2efc97978cf37951b75394aae1a3fb}{value}};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00540}00540 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00541}00541 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00542}00542 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00543}\mbox{\hyperlink{catch_2catch_8hpp_abc0b2405454c51748a31e0393d9ad5d1}{00543}} \textcolor{preprocessor}{\#define CATCH\_INTERNAL\_LINEINFO \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00544}00544 \textcolor{preprocessor}{ ::Catch::SourceLineInfo( \_\_FILE\_\_, static\_cast( \_\_LINE\_\_ ) )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00545}00545 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00546}00546 \textcolor{comment}{// end catch\_common.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00547}00547 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespace_catch}{Catch}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00548}00548 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00549}\mbox{\hyperlink{struct_catch_1_1_registrar_for_tag_aliases}{00549}} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch_1_1_registrar_for_tag_aliases}{RegistrarForTagAliases}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00550}\mbox{\hyperlink{struct_catch_1_1_registrar_for_tag_aliases_ae4e45830e4763bcd65d55d8db9167b69}{00550}} \mbox{\hyperlink{struct_catch_1_1_registrar_for_tag_aliases_ae4e45830e4763bcd65d55d8db9167b69}{RegistrarForTagAliases}}( \textcolor{keywordtype}{char} \textcolor{keyword}{const}* \mbox{\hyperlink{namespacekblib_a8fe1791c4dfe674d145963ab5b3121ae}{alias}}, \textcolor{keywordtype}{char} \textcolor{keyword}{const}* \mbox{\hyperlink{structtag}{tag}}, \mbox{\hyperlink{struct_catch_1_1_source_line_info}{SourceLineInfo}} \textcolor{keyword}{const}\& lineInfo );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00551}00551 \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00552}00552 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00553}00553 \} \textcolor{comment}{// end namespace Catch}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00554}00554 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00555}\mbox{\hyperlink{catch_2catch_8hpp_af7f9d4a12274e1ccf4b1021e5d35e0c5}{00555}} \textcolor{preprocessor}{\#define CATCH\_REGISTER\_TAG\_ALIAS( alias, spec ) \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00556}00556 \textcolor{preprocessor}{ CATCH\_INTERNAL\_START\_WARNINGS\_SUPPRESSION \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00557}00557 \textcolor{preprocessor}{ CATCH\_INTERNAL\_SUPPRESS\_GLOBALS\_WARNINGS \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00558}00558 \textcolor{preprocessor}{ namespace\{ Catch::RegistrarForTagAliases INTERNAL\_CATCH\_UNIQUE\_NAME( AutoRegisterTagAlias )( alias, spec, CATCH\_INTERNAL\_LINEINFO ); \} \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00559}00559 \textcolor{preprocessor}{ CATCH\_INTERNAL\_STOP\_WARNINGS\_SUPPRESSION}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00560}00560 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00561}00561 \textcolor{comment}{// end catch\_tag\_alias\_autoregistrar.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00562}00562 \textcolor{comment}{// start catch\_test\_registry.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00563}00563 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00564}00564 \textcolor{comment}{// start catch\_interfaces\_testcase.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00565}00565 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00566}00566 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00567}00567 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00568}00568 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespace_catch}{Catch}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00569}00569 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00570}00570 \textcolor{keyword}{class }TestSpec;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00571}00571 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00572}\mbox{\hyperlink{struct_catch_1_1_i_test_invoker}{00572}} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch_1_1_i_test_invoker}{ITestInvoker}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00573}\mbox{\hyperlink{struct_catch_1_1_i_test_invoker_a6fcd5c5b67d6d5ade6491ff33411ca7f}{00573}} \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} \mbox{\hyperlink{struct_catch_1_1_i_test_invoker_a6fcd5c5b67d6d5ade6491ff33411ca7f}{invoke}} () \textcolor{keyword}{const} = 0;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00574}\mbox{\hyperlink{struct_catch_1_1_i_test_invoker_a2c89f3eece5b1b677243766e409bd831}{00574}} \textcolor{keyword}{virtual} \mbox{\hyperlink{struct_catch_1_1_i_test_invoker_a2c89f3eece5b1b677243766e409bd831}{\string~ITestInvoker}}();} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00575}00575 \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00576}00576 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00577}00577 \textcolor{keyword}{class }\mbox{\hyperlink{class_catch_1_1_test_case}{TestCase}};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00578}00578 \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch_1_1_i_config}{IConfig}};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00579}00579 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00580}\mbox{\hyperlink{struct_catch_1_1_i_test_case_registry}{00580}} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_catch_1_1_i_test_case_registry}{ITestCaseRegistry}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00581}\mbox{\hyperlink{struct_catch_1_1_i_test_case_registry_ae14798f05ac8e2b18cff532849a4da81}{00581}} \textcolor{keyword}{virtual} \mbox{\hyperlink{struct_catch_1_1_i_test_case_registry_ae14798f05ac8e2b18cff532849a4da81}{\string~ITestCaseRegistry}}();} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00582}\mbox{\hyperlink{struct_catch_1_1_i_test_case_registry_a5dad8c412aacc94a112b0fa07c7776fc}{00582}} \textcolor{keyword}{virtual} std::vector \textcolor{keyword}{const}\& \mbox{\hyperlink{struct_catch_1_1_i_test_case_registry_a5dad8c412aacc94a112b0fa07c7776fc}{getAllTests}}() \textcolor{keyword}{const} = 0;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00583}\mbox{\hyperlink{struct_catch_1_1_i_test_case_registry_a0aae66ca6ec1b6265a799134d6935127}{00583}} \textcolor{keyword}{virtual} std::vector \textcolor{keyword}{const}\& \mbox{\hyperlink{struct_catch_1_1_i_test_case_registry_a0aae66ca6ec1b6265a799134d6935127}{getAllTestsSorted}}( \mbox{\hyperlink{struct_catch_1_1_i_config}{IConfig}} \textcolor{keyword}{const}\& config ) \textcolor{keyword}{const} = 0;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00584}00584 \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00585}00585 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00586}\mbox{\hyperlink{namespace_catch_af3e820574c7a0b38d71328c5bd54b0e0}{00586}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{namespace_catch_af3e820574c7a0b38d71328c5bd54b0e0}{isThrowSafe}}( \mbox{\hyperlink{class_catch_1_1_test_case}{TestCase}} \textcolor{keyword}{const}\& testCase, \mbox{\hyperlink{struct_catch_1_1_i_config}{IConfig}} \textcolor{keyword}{const}\& config );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00587}\mbox{\hyperlink{namespace_catch_aadef80fbc6bc84589777a462770cef49}{00587}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{namespace_catch_aadef80fbc6bc84589777a462770cef49}{matchTest}}( \mbox{\hyperlink{class_catch_1_1_test_case}{TestCase}} \textcolor{keyword}{const}\& testCase, TestSpec \textcolor{keyword}{const}\& testSpec, \mbox{\hyperlink{struct_catch_1_1_i_config}{IConfig}} \textcolor{keyword}{const}\& config );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00588}\mbox{\hyperlink{namespace_catch_a105d5acdec8a6b401e12a592557c9dd1}{00588}} std::vector \mbox{\hyperlink{namespace_catch_a105d5acdec8a6b401e12a592557c9dd1}{filterTests}}( std::vector \textcolor{keyword}{const}\& testCases, TestSpec \textcolor{keyword}{const}\& testSpec, \mbox{\hyperlink{struct_catch_1_1_i_config}{IConfig}} \textcolor{keyword}{const}\& config );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00589}\mbox{\hyperlink{namespace_catch_a97039bab95e97f059410f67425f1f2da}{00589}} std::vector \textcolor{keyword}{const}\& \mbox{\hyperlink{namespace_catch_a97039bab95e97f059410f67425f1f2da}{getAllTestCasesSorted}}( \mbox{\hyperlink{struct_catch_1_1_i_config}{IConfig}} \textcolor{keyword}{const}\& config );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00590}00590 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00591}00591 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00592}00592 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00593}00593 \textcolor{comment}{// end catch\_interfaces\_testcase.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00594}00594 \textcolor{comment}{// start catch\_stringref.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00595}00595 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00596}00596 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00597}00597 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00598}00598 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00599}00599 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00600}00600 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00601}00601 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespace_catch}{Catch}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00602}00602 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00606}\mbox{\hyperlink{class_catch_1_1_string_ref}{00606}} \textcolor{keyword}{class }\mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00607}00607 \textcolor{keyword}{public}:} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00608}\mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{00608}} \textcolor{keyword}{using }\mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{size\_type}} = std::size\_t;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00609}\mbox{\hyperlink{class_catch_1_1_string_ref_ac3aa3d16f48b5429a480f823c504f93c}{00609}} \textcolor{keyword}{using }\mbox{\hyperlink{class_catch_1_1_string_ref_ac3aa3d16f48b5429a480f823c504f93c}{const\_iterator}} = \textcolor{keyword}{const} \textcolor{keywordtype}{char}*;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00610}00610 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00611}00611 \textcolor{keyword}{private}:} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00612}00612 \textcolor{keyword}{static} \textcolor{keyword}{constexpr} \textcolor{keywordtype}{char} \textcolor{keyword}{const}* \textcolor{keyword}{const} s\_empty = \textcolor{stringliteral}{"{}"{}};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00613}00613 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00614}00614 \textcolor{keywordtype}{char} \textcolor{keyword}{const}* m\_start = s\_empty;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00615}00615 \mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{size\_type}} m\_size = 0;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00616}00616 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00617}00617 \textcolor{keyword}{public}: \textcolor{comment}{// construction}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00618}\mbox{\hyperlink{class_catch_1_1_string_ref_a611907867225695d38198c058758c92d}{00618}} \textcolor{keyword}{constexpr} \mbox{\hyperlink{class_catch_1_1_string_ref_a611907867225695d38198c058758c92d}{StringRef}}() noexcept = default;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00619}00619 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00620}\mbox{\hyperlink{class_catch_1_1_string_ref_aea45f5089c53adac362bff6bd7c40943}{00620}} \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}}( \textcolor{keywordtype}{char} const* rawChars ) noexcept;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00621}00621 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00622}\mbox{\hyperlink{class_catch_1_1_string_ref_a36df94807491c0ad84184fb8e44e1a7c}{00622}} constexpr \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}}( \textcolor{keywordtype}{char} const* rawChars, \mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{size\_type}} \mbox{\hyperlink{class_catch_1_1_string_ref_acb22719801de2b64361b4c283080d4e5}{size}} ) noexcept} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00623}00623 : m\_start( rawChars ),} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00624}00624 m\_size( \mbox{\hyperlink{class_catch_1_1_string_ref_acb22719801de2b64361b4c283080d4e5}{size}} )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00625}00625 \{\}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00626}00626 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00627}\mbox{\hyperlink{class_catch_1_1_string_ref_a7fe41469048f906e9a847798cd335f23}{00627}} \mbox{\hyperlink{class_catch_1_1_string_ref_a7fe41469048f906e9a847798cd335f23}{StringRef}}( std::string \textcolor{keyword}{const}\& stdString ) noexcept} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00628}00628 : m\_start( stdString.c\_str() ),} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00629}00629 m\_size( stdString.size() )} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00630}00630 \{\}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00631}00631 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00632}\mbox{\hyperlink{class_catch_1_1_string_ref_ad9fde21785affacc32d7da7a70d74e93}{00632}} \textcolor{keyword}{explicit} \textcolor{keyword}{operator} std::string()\textcolor{keyword}{ const }\{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00633}00633 \textcolor{keywordflow}{return} std::string(m\_start, m\_size);} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00634}00634 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00635}00635 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00636}00636 \textcolor{keyword}{public}: \textcolor{comment}{// operators}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00637}\mbox{\hyperlink{class_catch_1_1_string_ref_aabb30149ab961187e4b3ff3394bf6e73}{00637}} \textcolor{keyword}{auto} \mbox{\hyperlink{class_catch_1_1_string_ref_aabb30149ab961187e4b3ff3394bf6e73}{operator == }}( \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}} \textcolor{keyword}{const}\& other ) \textcolor{keyword}{const} \textcolor{keyword}{noexcept} -\/> bool;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00638}\mbox{\hyperlink{class_catch_1_1_string_ref_aaa6c8bf61c4628034c19763d1c8ad215}{00638}} \textcolor{keyword}{auto} \mbox{\hyperlink{class_catch_1_1_string_ref_aaa6c8bf61c4628034c19763d1c8ad215}{operator != }}(\mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}} \textcolor{keyword}{const}\& other) \textcolor{keyword}{const} \textcolor{keyword}{noexcept} -\/> \textcolor{keywordtype}{bool} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00639}00639 \textcolor{keywordflow}{return} !(*\textcolor{keyword}{this} == other);} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00640}00640 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00641}00641 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00642}\mbox{\hyperlink{class_catch_1_1_string_ref_a4ba2e01eec1f0f56c257d213c796ab3b}{00642}} \textcolor{keyword}{auto} \mbox{\hyperlink{class_catch_1_1_string_ref_a4ba2e01eec1f0f56c257d213c796ab3b}{operator[] }}( \mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{size\_type}} index ) \textcolor{keyword}{const} \textcolor{keyword}{noexcept} -\/> \textcolor{keywordtype}{char} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00643}00643 assert(index < m\_size);} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00644}00644 \textcolor{keywordflow}{return} m\_start[index];} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00645}00645 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00646}00646 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00647}00647 \textcolor{keyword}{public}: \textcolor{comment}{// named queries}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00648}\mbox{\hyperlink{class_catch_1_1_string_ref_a0b4841c28cbb14ba07296964a0187023}{00648}} \textcolor{keyword}{constexpr} \textcolor{keyword}{auto} \mbox{\hyperlink{class_catch_1_1_string_ref_a0b4841c28cbb14ba07296964a0187023}{empty}}() const noexcept -\/> \textcolor{keywordtype}{bool} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00649}00649 \textcolor{keywordflow}{return} m\_size == 0;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00650}00650 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00651}\mbox{\hyperlink{class_catch_1_1_string_ref_acb22719801de2b64361b4c283080d4e5}{00651}} \textcolor{keyword}{constexpr} \textcolor{keyword}{auto} \mbox{\hyperlink{class_catch_1_1_string_ref_acb22719801de2b64361b4c283080d4e5}{size}}() const noexcept -\/> \mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{size\_type}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00652}00652 \textcolor{keywordflow}{return} m\_size;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00653}00653 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00654}00654 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00655}00655 \textcolor{comment}{// Returns the current start pointer. If the StringRef is not}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00656}00656 \textcolor{comment}{// null-\/terminated, throws std::domain\_exception}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00657}\mbox{\hyperlink{class_catch_1_1_string_ref_a1669cb2765e820ca258159676cbd82a5}{00657}} \textcolor{keyword}{auto} \mbox{\hyperlink{class_catch_1_1_string_ref_a1669cb2765e820ca258159676cbd82a5}{c\_str}}() const -\/> \textcolor{keywordtype}{char} const*;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00658}00658 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00659}00659 public: \textcolor{comment}{// substrings and searches}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00660}00660 \textcolor{comment}{// Returns a substring of [start, start + length).}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00661}00661 \textcolor{comment}{// If start + length > size(), then the substring is [start, size()).}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00662}00662 \textcolor{comment}{// If start > size(), then the substring is empty.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00663}\mbox{\hyperlink{class_catch_1_1_string_ref_a594bc3e10ffad77df92f7d1a4c99d7ff}{00663}} auto \mbox{\hyperlink{class_catch_1_1_string_ref_a594bc3e10ffad77df92f7d1a4c99d7ff}{substr}}( \mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{size\_type}} start, \mbox{\hyperlink{class_catch_1_1_string_ref_a06b4db8fc82b197004291cf370b2ba7c}{size\_type}} \mbox{\hyperlink{namespacekblib_a793fd30664717fe1da593bf53e895e9d}{length}} ) const noexcept -\/> \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00664}00664 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00665}00665 \textcolor{comment}{// Returns the current start pointer. May not be null-\/terminated.}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00666}\mbox{\hyperlink{class_catch_1_1_string_ref_ab0f85edde9f97153fc758fac3bb14507}{00666}} auto \mbox{\hyperlink{class_catch_1_1_string_ref_ab0f85edde9f97153fc758fac3bb14507}{data}}() const noexcept -\/> \textcolor{keywordtype}{char} const*;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00667}00667 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00668}\mbox{\hyperlink{class_catch_1_1_string_ref_a646e58f5f4e1f5e82cfba06d9fd5d016}{00668}} constexpr auto \mbox{\hyperlink{class_catch_1_1_string_ref_a646e58f5f4e1f5e82cfba06d9fd5d016}{isNullTerminated}}() const noexcept -\/> \textcolor{keywordtype}{bool} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00669}00669 \textcolor{keywordflow}{return} m\_start[m\_size] == \textcolor{charliteral}{'\(\backslash\)0'};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00670}00670 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00671}00671 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00672}00672 \textcolor{keyword}{public}: \textcolor{comment}{// iterators}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00673}\mbox{\hyperlink{class_catch_1_1_string_ref_ab0adc7198d60867c2842b998ae456795}{00673}} \textcolor{keyword}{constexpr} \mbox{\hyperlink{class_catch_1_1_string_ref_ac3aa3d16f48b5429a480f823c504f93c}{const\_iterator}} \mbox{\hyperlink{class_catch_1_1_string_ref_ab0adc7198d60867c2842b998ae456795}{begin}}()\textcolor{keyword}{ const }\{ \textcolor{keywordflow}{return} m\_start; \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00674}\mbox{\hyperlink{class_catch_1_1_string_ref_a3ce9afc711b559d6cc59666898fc0828}{00674}} \textcolor{keyword}{constexpr} \mbox{\hyperlink{class_catch_1_1_string_ref_ac3aa3d16f48b5429a480f823c504f93c}{const\_iterator}} \mbox{\hyperlink{class_catch_1_1_string_ref_a3ce9afc711b559d6cc59666898fc0828}{end}}()\textcolor{keyword}{ const }\{ \textcolor{keywordflow}{return} m\_start + m\_size; \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00675}00675 \};} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00676}00676 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00677}\mbox{\hyperlink{namespace_catch_a61711bc909f8dc76d8b3deccc1440f46}{00677}} \textcolor{keyword}{auto} \mbox{\hyperlink{namespace_catch_a61711bc909f8dc76d8b3deccc1440f46}{operator += }}( std::string\& lhs, \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}} \textcolor{keyword}{const}\& sr ) -\/> std::string\&;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00678}\mbox{\hyperlink{namespace_catch_a5e37b333d756a28e12d44977f063af43}{00678}} \textcolor{keyword}{auto} \mbox{\hyperlink{namespace_catch_a8c8ea1f66bc1cdc3e1254ed7fa57c06d}{operator << }}( std::ostream\& os, \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}} \textcolor{keyword}{const}\& sr ) -\/> std::ostream\&;} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00679}00679 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00680}\mbox{\hyperlink{namespace_catch_adc1e84abf2d7a8b971948ec4ab373280}{00680}} \textcolor{keyword}{constexpr} \textcolor{keyword}{auto} \textcolor{keyword}{operator} \textcolor{stringliteral}{"{}"{}} \_sr( \textcolor{keywordtype}{char} \textcolor{keyword}{const}* rawChars, std::size\_t \mbox{\hyperlink{namespacekblib_1_1fakestd_adb8781bc0e5d1ba4ca4624293c0c98ae}{size}} ) \textcolor{keyword}{noexcept} -\/> \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00681}00681 \textcolor{keywordflow}{return} \mbox{\hyperlink{class_catch_1_1_string_ref}{StringRef}}( rawChars, \mbox{\hyperlink{namespacekblib_1_1fakestd_adb8781bc0e5d1ba4ca4624293c0c98ae}{size}} );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00682}00682 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00683}00683 \} \textcolor{comment}{// namespace Catch}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00684}00684 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00685}\mbox{\hyperlink{catch_2catch_8hpp_ad678c2afffe520362e3bb7d51f0e8f8d}{00685}} \textcolor{keyword}{constexpr} \textcolor{keyword}{auto} \textcolor{keyword}{operator} \textcolor{stringliteral}{"{}"{}} \_catch\_sr( \textcolor{keywordtype}{char} \textcolor{keyword}{const}* rawChars, std::size\_t \mbox{\hyperlink{namespacekblib_1_1fakestd_adb8781bc0e5d1ba4ca4624293c0c98ae}{size}} ) \textcolor{keyword}{noexcept} -\/> \mbox{\hyperlink{class_catch_1_1_string_ref}{Catch::StringRef}} \{} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00686}00686 \textcolor{keywordflow}{return} \mbox{\hyperlink{class_catch_1_1_string_ref}{Catch::StringRef}}( rawChars, \mbox{\hyperlink{namespacekblib_1_1fakestd_adb8781bc0e5d1ba4ca4624293c0c98ae}{size}} );} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00687}00687 \}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00688}00688 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00689}00689 \textcolor{comment}{// end catch\_stringref.h}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00690}00690 \textcolor{comment}{// start catch\_preprocessor.hpp}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00691}00691 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00692}00692 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00693}\mbox{\hyperlink{catch_2catch_8hpp_aedfa83a9b9671b2f3ce5d64207eab45f}{00693}} \textcolor{preprocessor}{\#define CATCH\_RECURSION\_LEVEL0(...) \_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00694}\mbox{\hyperlink{catch_2catch_8hpp_ad1cc1127b3a8ed84d336fd86c25571a9}{00694}} \textcolor{preprocessor}{\#define CATCH\_RECURSION\_LEVEL1(...) CATCH\_RECURSION\_LEVEL0(CATCH\_RECURSION\_LEVEL0(CATCH\_RECURSION\_LEVEL0(\_\_VA\_ARGS\_\_)))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00695}\mbox{\hyperlink{catch_2catch_8hpp_a2a7ccfd6ceda0c723d1c81ed0a8ea7aa}{00695}} \textcolor{preprocessor}{\#define CATCH\_RECURSION\_LEVEL2(...) CATCH\_RECURSION\_LEVEL1(CATCH\_RECURSION\_LEVEL1(CATCH\_RECURSION\_LEVEL1(\_\_VA\_ARGS\_\_)))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00696}\mbox{\hyperlink{catch_2catch_8hpp_ac5ead3b79069ca9b5de9cad80029bc71}{00696}} \textcolor{preprocessor}{\#define CATCH\_RECURSION\_LEVEL3(...) CATCH\_RECURSION\_LEVEL2(CATCH\_RECURSION\_LEVEL2(CATCH\_RECURSION\_LEVEL2(\_\_VA\_ARGS\_\_)))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00697}\mbox{\hyperlink{catch_2catch_8hpp_a7738534acacfd54ef5b9f89cf07fa16d}{00697}} \textcolor{preprocessor}{\#define CATCH\_RECURSION\_LEVEL4(...) CATCH\_RECURSION\_LEVEL3(CATCH\_RECURSION\_LEVEL3(CATCH\_RECURSION\_LEVEL3(\_\_VA\_ARGS\_\_)))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00698}\mbox{\hyperlink{catch_2catch_8hpp_a761d2ca7a5b0393ae7a6edf086a9c3da}{00698}} \textcolor{preprocessor}{\#define CATCH\_RECURSION\_LEVEL5(...) CATCH\_RECURSION\_LEVEL4(CATCH\_RECURSION\_LEVEL4(CATCH\_RECURSION\_LEVEL4(\_\_VA\_ARGS\_\_)))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00699}00699 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00700}00700 \textcolor{preprocessor}{\#ifdef CATCH\_CONFIG\_TRADITIONAL\_MSVC\_PREPROCESSOR}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00701}00701 \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_EXPAND\_VARGS(...) \_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00702}00702 \textcolor{comment}{// MSVC needs more evaluations}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00703}00703 \textcolor{preprocessor}{\#define CATCH\_RECURSION\_LEVEL6(...) CATCH\_RECURSION\_LEVEL5(CATCH\_RECURSION\_LEVEL5(CATCH\_RECURSION\_LEVEL5(\_\_VA\_ARGS\_\_)))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00704}00704 \textcolor{preprocessor}{\#define CATCH\_RECURSE(...) CATCH\_RECURSION\_LEVEL6(CATCH\_RECURSION\_LEVEL6(\_\_VA\_ARGS\_\_))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00705}00705 \textcolor{preprocessor}{\#else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00706}\mbox{\hyperlink{catch_2catch_8hpp_ae3ce5d9c8e50eba755111a19a62432e5}{00706}} \textcolor{preprocessor}{\#define CATCH\_RECURSE(...) CATCH\_RECURSION\_LEVEL5(\_\_VA\_ARGS\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00707}00707 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00708}00708 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00709}\mbox{\hyperlink{catch_2catch_8hpp_aebb9e7be881ac3dcd10db9fb45830649}{00709}} \textcolor{preprocessor}{\#define CATCH\_REC\_END(...)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00710}\mbox{\hyperlink{catch_2catch_8hpp_ab469d9696504fd14e36fd1d8b6e47b7f}{00710}} \textcolor{preprocessor}{\#define CATCH\_REC\_OUT}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00711}00711 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00712}\mbox{\hyperlink{catch_2catch_8hpp_a8ac224562b8423a7c07e368216d0f0e9}{00712}} \textcolor{preprocessor}{\#define CATCH\_EMPTY()}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00713}\mbox{\hyperlink{catch_2catch_8hpp_a83c1ab15f3d715f25fe504c114cf6144}{00713}} \textcolor{preprocessor}{\#define CATCH\_DEFER(id) id CATCH\_EMPTY()}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00714}00714 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00715}\mbox{\hyperlink{catch_2catch_8hpp_aa335d39d6fdb7e20c94edaa4de21d1a3}{00715}} \textcolor{preprocessor}{\#define CATCH\_REC\_GET\_END2() 0, CATCH\_REC\_END}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00716}\mbox{\hyperlink{catch_2catch_8hpp_a476d332d716d4691f874195acea4931b}{00716}} \textcolor{preprocessor}{\#define CATCH\_REC\_GET\_END1(...) CATCH\_REC\_GET\_END2}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00717}\mbox{\hyperlink{catch_2catch_8hpp_a536dd24bc8e72ec8eb14c3676f20c778}{00717}} \textcolor{preprocessor}{\#define CATCH\_REC\_GET\_END(...) CATCH\_REC\_GET\_END1}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00718}\mbox{\hyperlink{catch_2catch_8hpp_ae25889c34b72704724f5797b6103c463}{00718}} \textcolor{preprocessor}{\#define CATCH\_REC\_NEXT0(test, next, ...) next CATCH\_REC\_OUT}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00719}\mbox{\hyperlink{catch_2catch_8hpp_a0ddf3b75cc3780765a2cb551d6536721}{00719}} \textcolor{preprocessor}{\#define CATCH\_REC\_NEXT1(test, next) CATCH\_DEFER ( CATCH\_REC\_NEXT0 ) ( test, next, 0)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00720}\mbox{\hyperlink{catch_2catch_8hpp_abaddf93f755cea9e20aee254aa566adf}{00720}} \textcolor{preprocessor}{\#define CATCH\_REC\_NEXT(test, next) CATCH\_REC\_NEXT1(CATCH\_REC\_GET\_END test, next)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00721}00721 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00722}\mbox{\hyperlink{catch_2catch_8hpp_a3e07fd613c41bd44cb4bd14fccc3c388}{00722}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST0(f, x, peek, ...) , f(x) CATCH\_DEFER ( CATCH\_REC\_NEXT(peek, CATCH\_REC\_LIST1) ) ( f, peek, \_\_VA\_ARGS\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00723}\mbox{\hyperlink{catch_2catch_8hpp_abedd1ae08e12478704233e9bf29e0fe9}{00723}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST1(f, x, peek, ...) , f(x) CATCH\_DEFER ( CATCH\_REC\_NEXT(peek, CATCH\_REC\_LIST0) ) ( f, peek, \_\_VA\_ARGS\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00724}\mbox{\hyperlink{catch_2catch_8hpp_abe3c205d4ba8406d45439abb91366ce9}{00724}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST2(f, x, peek, ...) f(x) CATCH\_DEFER ( CATCH\_REC\_NEXT(peek, CATCH\_REC\_LIST1) ) ( f, peek, \_\_VA\_ARGS\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00725}00725 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00726}\mbox{\hyperlink{catch_2catch_8hpp_aea894953d28c5ed83e59ce6c74d0a665}{00726}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST0\_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH\_DEFER ( CATCH\_REC\_NEXT(peek, CATCH\_REC\_LIST1\_UD) ) ( f, userdata, peek, \_\_VA\_ARGS\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00727}\mbox{\hyperlink{catch_2catch_8hpp_abbcff29ced4d413bc121f7b761558c16}{00727}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST1\_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH\_DEFER ( CATCH\_REC\_NEXT(peek, CATCH\_REC\_LIST0\_UD) ) ( f, userdata, peek, \_\_VA\_ARGS\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00728}\mbox{\hyperlink{catch_2catch_8hpp_a0c2dd548d178fbc2202ecd74ce4be91b}{00728}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST2\_UD(f, userdata, x, peek, ...) f(userdata, x) CATCH\_DEFER ( CATCH\_REC\_NEXT(peek, CATCH\_REC\_LIST1\_UD) ) ( f, userdata, peek, \_\_VA\_ARGS\_\_ )}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00729}00729 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00730}00730 \textcolor{comment}{// Applies the function macro `f` to each of the remaining parameters, inserts commas between the results,}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00731}00731 \textcolor{comment}{// and passes userdata as the first parameter to each invocation,}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00732}00732 \textcolor{comment}{// e.g. CATCH\_REC\_LIST\_UD(f, x, a, b, c) evaluates to f(x, a), f(x, b), f(x, c)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00733}\mbox{\hyperlink{catch_2catch_8hpp_a8e404d42a6d0402698c1d4d16e831d28}{00733}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST\_UD(f, userdata, ...) CATCH\_RECURSE(CATCH\_REC\_LIST2\_UD(f, userdata, \_\_VA\_ARGS\_\_, ()()(), ()()(), ()()(), 0))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00734}00734 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00735}\mbox{\hyperlink{catch_2catch_8hpp_a060f5fa141c247b4d07dfe9bf3c54079}{00735}} \textcolor{preprocessor}{\#define CATCH\_REC\_LIST(f, ...) CATCH\_RECURSE(CATCH\_REC\_LIST2(f, \_\_VA\_ARGS\_\_, ()()(), ()()(), ()()(), 0))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00736}00736 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00737}\mbox{\hyperlink{catch_2catch_8hpp_afec78f8054a97a6ecb38ff098f275efb}{00737}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_EXPAND1(param) INTERNAL\_CATCH\_EXPAND2(param)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00738}\mbox{\hyperlink{catch_2catch_8hpp_a163ac3d9bea0921d546f125ef5d58a2d}{00738}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_EXPAND2(...) INTERNAL\_CATCH\_NO\#\# \_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00739}\mbox{\hyperlink{catch_2catch_8hpp_a053610cf96d1be50463e9cb08e818ed1}{00739}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_DEF(...) INTERNAL\_CATCH\_DEF \_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00740}\mbox{\hyperlink{catch_2catch_8hpp_a6868a4eb7481605e628a3aaf0c1fbb01}{00740}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_NOINTERNAL\_CATCH\_DEF}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00741}\mbox{\hyperlink{catch_2catch_8hpp_a13733e49e752d29b735e94d9e72c7d6b}{00741}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_STRINGIZE(...) INTERNAL\_CATCH\_STRINGIZE2(\_\_VA\_ARGS\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00742}00742 \textcolor{preprocessor}{\#ifndef CATCH\_CONFIG\_TRADITIONAL\_MSVC\_PREPROCESSOR}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00743}\mbox{\hyperlink{catch_2catch_8hpp_a6fedc6934bac0e22dbbd13aabf81ad3f}{00743}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_STRINGIZE2(...) \#\_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00744}\mbox{\hyperlink{catch_2catch_8hpp_aa66562537dd49bc33e53f9aa01acedaf}{00744}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_STRINGIZE\_WITHOUT\_PARENS(param) INTERNAL\_CATCH\_STRINGIZE(INTERNAL\_CATCH\_REMOVE\_PARENS(param))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00745}00745 \textcolor{preprocessor}{\#else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00746}00746 \textcolor{comment}{// MSVC is adding extra space and needs another indirection to expand INTERNAL\_CATCH\_NOINTERNAL\_CATCH\_DEF}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00747}00747 \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_STRINGIZE2(...) INTERNAL\_CATCH\_STRINGIZE3(\_\_VA\_ARGS\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00748}00748 \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_STRINGIZE3(...) \#\_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00749}00749 \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_STRINGIZE\_WITHOUT\_PARENS(param) (INTERNAL\_CATCH\_STRINGIZE(INTERNAL\_CATCH\_REMOVE\_PARENS(param)) + 1)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00750}00750 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00751}00751 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00752}\mbox{\hyperlink{catch_2catch_8hpp_a5d544d56630e5c6e293d49a825127646}{00752}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_MAKE\_NAMESPACE2(...) ns\_\#\#\_\_VA\_ARGS\_\_}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00753}\mbox{\hyperlink{catch_2catch_8hpp_a6b5bf9be0310bb60ec9738cbf4ea53f4}{00753}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_MAKE\_NAMESPACE(name) INTERNAL\_CATCH\_MAKE\_NAMESPACE2(name)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00754}00754 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00755}\mbox{\hyperlink{catch_2catch_8hpp_adf5ede19321b27ce635d01688551e782}{00755}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS(...) INTERNAL\_CATCH\_EXPAND1(INTERNAL\_CATCH\_DEF \_\_VA\_ARGS\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00756}00756 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00757}00757 \textcolor{preprocessor}{\#ifndef CATCH\_CONFIG\_TRADITIONAL\_MSVC\_PREPROCESSOR}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00758}\mbox{\hyperlink{catch_2catch_8hpp_ab0c28a0a25d0d138ca5f4049a1094227}{00758}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_MAKE\_TYPE\_LIST2(...) decltype(get\_wrapper())}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00759}\mbox{\hyperlink{catch_2catch_8hpp_a74ceed46879d878afcd12648df097264}{00759}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_MAKE\_TYPE\_LIST(...) INTERNAL\_CATCH\_MAKE\_TYPE\_LIST2(INTERNAL\_CATCH\_REMOVE\_PARENS(\_\_VA\_ARGS\_\_))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00760}00760 \textcolor{preprocessor}{\#else}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00761}00761 \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_MAKE\_TYPE\_LIST2(...) INTERNAL\_CATCH\_EXPAND\_VARGS(decltype(get\_wrapper()))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00762}00762 \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_MAKE\_TYPE\_LIST(...) INTERNAL\_CATCH\_EXPAND\_VARGS(INTERNAL\_CATCH\_MAKE\_TYPE\_LIST2(INTERNAL\_CATCH\_REMOVE\_PARENS(\_\_VA\_ARGS\_\_)))}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00763}00763 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00764}00764 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00765}\mbox{\hyperlink{catch_2catch_8hpp_a3125bdc64f326e6c65f60e3d0b917e0e}{00765}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_MAKE\_TYPE\_LISTS\_FROM\_TYPES(...)\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00766}00766 \textcolor{preprocessor}{ CATCH\_REC\_LIST(INTERNAL\_CATCH\_MAKE\_TYPE\_LIST,\_\_VA\_ARGS\_\_)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00767}00767 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00768}\mbox{\hyperlink{catch_2catch_8hpp_aaff4fdf9d9447a3e896ff3c940aa63bf}{00768}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_1\_ARG(\_0) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00769}\mbox{\hyperlink{catch_2catch_8hpp_ad922f8cb04e51fa4d1fc7136c2170ec7}{00769}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_2\_ARG(\_0, \_1) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_1\_ARG(\_1)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00770}\mbox{\hyperlink{catch_2catch_8hpp_a3e122b37a4a905554e927a298e96ba4e}{00770}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_3\_ARG(\_0, \_1, \_2) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_2\_ARG(\_1, \_2)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00771}\mbox{\hyperlink{catch_2catch_8hpp_ad13badf823db63f70503f46977ff7664}{00771}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_4\_ARG(\_0, \_1, \_2, \_3) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_3\_ARG(\_1, \_2, \_3)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00772}\mbox{\hyperlink{catch_2catch_8hpp_a886c6ae574320d8aae6415985b19426c}{00772}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_5\_ARG(\_0, \_1, \_2, \_3, \_4) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_4\_ARG(\_1, \_2, \_3, \_4)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00773}\mbox{\hyperlink{catch_2catch_8hpp_a261dd3f6db0cd3199456d5be891bec22}{00773}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_6\_ARG(\_0, \_1, \_2, \_3, \_4, \_5) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_5\_ARG(\_1, \_2, \_3, \_4, \_5)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00774}\mbox{\hyperlink{catch_2catch_8hpp_a4ff89b8d8438fa571ccebd4611679cb0}{00774}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_7\_ARG(\_0, \_1, \_2, \_3, \_4, \_5, \_6) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_6\_ARG(\_1, \_2, \_3, \_4, \_5, \_6)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00775}\mbox{\hyperlink{catch_2catch_8hpp_a2bc5383346d063d8aa13169a86101f8a}{00775}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_8\_ARG(\_0, \_1, \_2, \_3, \_4, \_5, \_6, \_7) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_7\_ARG(\_1, \_2, \_3, \_4, \_5, \_6, \_7)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00776}\mbox{\hyperlink{catch_2catch_8hpp_aac325e60ff7ae083ea5378a57ad0853e}{00776}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_9\_ARG(\_0, \_1, \_2, \_3, \_4, \_5, \_6, \_7, \_8) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_8\_ARG(\_1, \_2, \_3, \_4, \_5, \_6, \_7, \_8)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00777}\mbox{\hyperlink{catch_2catch_8hpp_ad456e4d0700058feab367df4dfdb034a}{00777}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_10\_ARG(\_0, \_1, \_2, \_3, \_4, \_5, \_6, \_7, \_8, \_9) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_9\_ARG(\_1, \_2, \_3, \_4, \_5, \_6, \_7, \_8, \_9)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00778}\mbox{\hyperlink{catch_2catch_8hpp_adda79d552d6615a64b064426fe5d8347}{00778}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_REMOVE\_PARENS\_11\_ARG(\_0, \_1, \_2, \_3, \_4, \_5, \_6, \_7, \_8, \_9, \_10) INTERNAL\_CATCH\_REMOVE\_PARENS(\_0), INTERNAL\_CATCH\_REMOVE\_PARENS\_10\_ARG(\_1, \_2, \_3, \_4, \_5, \_6, \_7, \_8, \_9, \_10)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00779}00779 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00780}\mbox{\hyperlink{catch_2catch_8hpp_a053a90e2d222ba1c12095556aa8db44a}{00780}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_VA\_NARGS\_IMPL(\_0, \_1, \_2, \_3, \_4, \_5, \_6, \_7, \_8, \_9, \_10, N, ...) N}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00781}00781 } \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00782}\mbox{\hyperlink{catch_2catch_8hpp_aea71652955762dc6db3912ec66740b7a}{00782}} \textcolor{preprocessor}{\#define INTERNAL\_CATCH\_TYPE\_GEN\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00783}00783 \textcolor{preprocessor}{ template struct TypeList \{\};\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00784}00784 \textcolor{preprocessor}{ template\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00785}00785 \textcolor{preprocessor}{ constexpr auto get\_wrapper() noexcept -\/> TypeList \{ return \{\}; \}\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00786}00786 \textcolor{preprocessor}{ template class...> struct TemplateTypeList\{\};\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00787}00787 \textcolor{preprocessor}{ template class...Cs>\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00788}00788 \textcolor{preprocessor}{ constexpr auto get\_wrapper() noexcept -\/> TemplateTypeList \{ return \{\}; \}\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00789}00789 \textcolor{preprocessor}{ template\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00790}00790 \textcolor{preprocessor}{ struct append;\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00791}00791 \textcolor{preprocessor}{ template\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00792}00792 \textcolor{preprocessor}{ struct rewrap;\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00793}00793 \textcolor{preprocessor}{ template class, typename...>\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00794}00794 \textcolor{preprocessor}{ struct create;\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00795}00795 \textcolor{preprocessor}{ template class, typename>\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00796}00796 \textcolor{preprocessor}{ struct convert;\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00797}00797 \textcolor{preprocessor}{ \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00798}00798 \textcolor{preprocessor}{ template \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00799}00799 \textcolor{preprocessor}{ struct append \{ using type = T; \};\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00800}00800 \textcolor{preprocessor}{ template< template class L1, typename...E1, template class L2, typename...E2, typename...Rest>\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00801}00801 \textcolor{preprocessor}{ struct append, L2, Rest...> \{ using type = typename append, Rest...>::type; \};\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00802}00802 \textcolor{preprocessor}{ template< template class L1, typename...E1, typename...Rest>\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00803}00803 \textcolor{preprocessor}{ struct append, TypeList, Rest...> \{ using type = L1; \};\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00804}00804 \textcolor{preprocessor}{ \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00805}00805 \textcolor{preprocessor}{ template< template class Container, template class List, typename...elems>\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00806}00806 \textcolor{preprocessor}{ struct rewrap, List> \{ using type = TypeList>; \};\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00807}00807 \textcolor{preprocessor}{ template< template class Container, template class List, class...Elems, typename...Elements>\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00808}00808 \textcolor{preprocessor}{ struct rewrap, List, Elements...> \{ using type = typename append>, typename rewrap, Elements...>::type>::type; \};\(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00809}00809 \textcolor{preprocessor}{ \(\backslash\)}} \DoxyCodeLine{\Hypertarget{catch_2catch_8hpp_source_l00810}00810 \textcolor{preprocessor}{ template