| 
						 
						
						
						
						 
					 | 
					 | 
					@@ -1,9 +1,9 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					/*
 | 
					 | 
					 | 
					 | 
					/*
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  Catch v2.13.7
 | 
					 | 
					 | 
					 | 
					 *  Catch v2.13.8
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  Generated: 2021-07-28 20:29:27.753164
 | 
					 | 
					 | 
					 | 
					 *  Generated: 2022-01-03 21:20:09.589503
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  ----------------------------------------------------------
 | 
					 | 
					 | 
					 | 
					 *  ----------------------------------------------------------
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  This file has been merged from multiple headers. Please don't edit it directly
 | 
					 | 
					 | 
					 | 
					 *  This file has been merged from multiple headers. Please don't edit it directly
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  Copyright (c) 2021 Two Blue Cubes Ltd. All rights reserved.
 | 
					 | 
					 | 
					 | 
					 *  Copyright (c) 2022 Two Blue Cubes Ltd. All rights reserved.
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *
 | 
					 | 
					 | 
					 | 
					 *
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 | 
					 | 
					 | 
					 | 
					 *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
					 | 
					 | 
					 | 
					 *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -15,7 +15,7 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_VERSION_MAJOR 2
 | 
					 | 
					 | 
					 | 
					#define CATCH_VERSION_MAJOR 2
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_VERSION_MINOR 13
 | 
					 | 
					 | 
					 | 
					#define CATCH_VERSION_MINOR 13
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_VERSION_PATCH 7
 | 
					 | 
					 | 
					 | 
					#define CATCH_VERSION_PATCH 8
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifdef __clang__
 | 
					 | 
					 | 
					 | 
					#ifdef __clang__
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#    pragma clang system_header
 | 
					 | 
					 | 
					 | 
					#    pragma clang system_header
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -240,9 +240,6 @@ namespace Catch {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// Visual C++
 | 
					 | 
					 | 
					 | 
					// Visual C++
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#if defined(_MSC_VER)
 | 
					 | 
					 | 
					 | 
					#if defined(_MSC_VER)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#  define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) )
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#  define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION  __pragma( warning(pop) )
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// Universal Windows platform does not support SEH
 | 
					 | 
					 | 
					 | 
					// Universal Windows platform does not support SEH
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// Or console colours (or console at all...)
 | 
					 | 
					 | 
					 | 
					// Or console colours (or console at all...)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#  if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
 | 
					 | 
					 | 
					 | 
					#  if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -251,13 +248,18 @@ namespace Catch {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#    define CATCH_INTERNAL_CONFIG_WINDOWS_SEH
 | 
					 | 
					 | 
					 | 
					#    define CATCH_INTERNAL_CONFIG_WINDOWS_SEH
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#  endif
 | 
					 | 
					 | 
					 | 
					#  endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#  if !defined(__clang__) // Handle Clang masquerading for msvc
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// MSVC traditional preprocessor needs some workaround for __VA_ARGS__
 | 
					 | 
					 | 
					 | 
					// MSVC traditional preprocessor needs some workaround for __VA_ARGS__
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// _MSVC_TRADITIONAL == 0 means new conformant preprocessor
 | 
					 | 
					 | 
					 | 
					// _MSVC_TRADITIONAL == 0 means new conformant preprocessor
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor
 | 
					 | 
					 | 
					 | 
					// _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#  if !defined(__clang__) // Handle Clang masquerading for msvc
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#    if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL)
 | 
					 | 
					 | 
					 | 
					#    if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#      define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#      define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#    endif // MSVC_TRADITIONAL
 | 
					 | 
					 | 
					 | 
					#    endif // MSVC_TRADITIONAL
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					// Only do this if we're not using clang on Windows, which uses `diagnostic push` & `diagnostic pop`
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#    define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#    define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION  __pragma( warning(pop) )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#  endif // __clang__
 | 
					 | 
					 | 
					 | 
					#  endif // __clang__
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif // _MSC_VER
 | 
					 | 
					 | 
					 | 
					#endif // _MSC_VER
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1010,34 +1012,34 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #else
 | 
					 | 
					 | 
					 | 
					    #else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #endif
 | 
					 | 
					 | 
					 | 
					    #endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #else
 | 
					 | 
					 | 
					 | 
					    #else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #endif
 | 
					 | 
					 | 
					 | 
					    #endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #else
 | 
					 | 
					 | 
					 | 
					    #else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #endif
 | 
					 | 
					 | 
					 | 
					    #endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					    #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #else
 | 
					 | 
					 | 
					 | 
					    #else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \
 | 
					 | 
					 | 
					 | 
					        #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					            INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #endif
 | 
					 | 
					 | 
					 | 
					    #endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1050,7 +1052,7 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \
 | 
					 | 
					 | 
					 | 
					        CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        static void TestName()
 | 
					 | 
					 | 
					 | 
					        static void TestName()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TESTCASE( ... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TESTCASE( ... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TESTCASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TESTCASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ///////////////////////////////////////////////////////////////////////////////
 | 
					 | 
					 | 
					 | 
					    ///////////////////////////////////////////////////////////////////////////////
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, ... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, ... ) \
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1072,7 +1074,7 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \
 | 
					 | 
					 | 
					 | 
					        CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        void TestName::test()
 | 
					 | 
					 | 
					 | 
					        void TestName::test()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEST_CASE_METHOD( ClassName, ... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEST_CASE_METHOD( ClassName, ... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEST_CASE_METHOD2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), ClassName, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEST_CASE_METHOD2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), ClassName, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ///////////////////////////////////////////////////////////////////////////////
 | 
					 | 
					 | 
					 | 
					    ///////////////////////////////////////////////////////////////////////////////
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_REGISTER_TESTCASE( Function, ... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_REGISTER_TESTCASE( Function, ... ) \
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1113,18 +1115,18 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) \
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1162,18 +1164,18 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename T,__VA_ARGS__)
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename T,__VA_ARGS__)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename T, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename T, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__)
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList)\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList)\
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1204,7 +1206,7 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        static void TestFunc()
 | 
					 | 
					 | 
					 | 
					        static void TestFunc()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE(Name, Tags, TmplList) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE(Name, Tags, TmplList) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, TmplList )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, TmplList )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, Signature, ... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, Signature, ... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \
 | 
					 | 
					 | 
					 | 
					        CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1237,18 +1239,18 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList)\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList)\
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1289,18 +1291,18 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, typename T, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, typename T, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, typename T,__VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, typename T,__VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, Signature, __VA_ARGS__ )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, Signature, __VA_ARGS__ )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, Signature,__VA_ARGS__ ) )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, Signature,__VA_ARGS__ ) )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, TmplList) \
 | 
					 | 
					 | 
					 | 
					    #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, TmplList) \
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1334,7 +1336,7 @@ struct AutoReg : NonCopyable {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        void TestName<TestType>::test()
 | 
					 | 
					 | 
					 | 
					        void TestName<TestType>::test()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD(ClassName, Name, Tags, TmplList) \
 | 
					 | 
					 | 
					 | 
					#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD(ClassName, Name, Tags, TmplList) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, TmplList )
 | 
					 | 
					 | 
					 | 
					        INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, TmplList )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// end catch_test_registry.h
 | 
					 | 
					 | 
					 | 
					// end catch_test_registry.h
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// start catch_capture.hpp
 | 
					 | 
					 | 
					 | 
					// start catch_capture.hpp
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -3091,7 +3093,7 @@ namespace Detail {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Approx operator-() const;
 | 
					 | 
					 | 
					 | 
					        Approx operator-() const;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        template <typename T, typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
 | 
					 | 
					 | 
					 | 
					        template <typename T, typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Approx operator()( T const& value ) {
 | 
					 | 
					 | 
					 | 
					        Approx operator()( T const& value ) const {
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Approx approx( static_cast<double>(value) );
 | 
					 | 
					 | 
					 | 
					            Approx approx( static_cast<double>(value) );
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            approx.m_epsilon = m_epsilon;
 | 
					 | 
					 | 
					 | 
					            approx.m_epsilon = m_epsilon;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            approx.m_margin = m_margin;
 | 
					 | 
					 | 
					 | 
					            approx.m_margin = m_margin;
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -4163,7 +4165,7 @@ namespace Generators {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (!m_predicate(m_generator.get())) {
 | 
					 | 
					 | 
					 | 
					            if (!m_predicate(m_generator.get())) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // It might happen that there are no values that pass the
 | 
					 | 
					 | 
					 | 
					                // It might happen that there are no values that pass the
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // filter. In that case we throw an exception.
 | 
					 | 
					 | 
					 | 
					                // filter. In that case we throw an exception.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                auto has_initial_value = next();
 | 
					 | 
					 | 
					 | 
					                auto has_initial_value = nextImpl();
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                if (!has_initial_value) {
 | 
					 | 
					 | 
					 | 
					                if (!has_initial_value) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    Catch::throw_exception(GeneratorException("No valid value found in filtered generator"));
 | 
					 | 
					 | 
					 | 
					                    Catch::throw_exception(GeneratorException("No valid value found in filtered generator"));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                }
 | 
					 | 
					 | 
					 | 
					                }
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -4175,6 +4177,11 @@ namespace Generators {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bool next() override {
 | 
					 | 
					 | 
					 | 
					        bool next() override {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            return nextImpl();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    private:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        bool nextImpl() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            bool success = m_generator.next();
 | 
					 | 
					 | 
					 | 
					            bool success = m_generator.next();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (!success) {
 | 
					 | 
					 | 
					 | 
					            if (!success) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                return false;
 | 
					 | 
					 | 
					 | 
					                return false;
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -15380,7 +15387,7 @@ namespace Catch {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Version const& libraryVersion() {
 | 
					 | 
					 | 
					 | 
					    Version const& libraryVersion() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        static Version version( 2, 13, 7, "", 0 );
 | 
					 | 
					 | 
					 | 
					        static Version version( 2, 13, 8, "", 0 );
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return version;
 | 
					 | 
					 | 
					 | 
					        return version;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17648,9 +17655,9 @@ int main (int argc, char * const argv[]) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING)
 | 
					 | 
					 | 
					 | 
					#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_BENCHMARK(...) \
 | 
					 | 
					 | 
					 | 
					#define CATCH_BENCHMARK(...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,))
 | 
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,))
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_BENCHMARK_ADVANCED(name) \
 | 
					 | 
					 | 
					 | 
					#define CATCH_BENCHMARK_ADVANCED(name) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), name)
 | 
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), name)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif // CATCH_CONFIG_ENABLE_BENCHMARKING
 | 
					 | 
					 | 
					 | 
					#endif // CATCH_CONFIG_ENABLE_BENCHMARKING
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// If CATCH_CONFIG_PREFIX_ALL is not defined then the CATCH_ prefix is not required
 | 
					 | 
					 | 
					 | 
					// If CATCH_CONFIG_PREFIX_ALL is not defined then the CATCH_ prefix is not required
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17752,9 +17759,9 @@ int main (int argc, char * const argv[]) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING)
 | 
					 | 
					 | 
					 | 
					#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define BENCHMARK(...) \
 | 
					 | 
					 | 
					 | 
					#define BENCHMARK(...) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,))
 | 
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,))
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define BENCHMARK_ADVANCED(name) \
 | 
					 | 
					 | 
					 | 
					#define BENCHMARK_ADVANCED(name) \
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), name)
 | 
					 | 
					 | 
					 | 
					    INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), name)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif // CATCH_CONFIG_ENABLE_BENCHMARKING
 | 
					 | 
					 | 
					 | 
					#endif // CATCH_CONFIG_ENABLE_BENCHMARKING
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					using Catch::Detail::Approx;
 | 
					 | 
					 | 
					 | 
					using Catch::Detail::Approx;
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17801,8 +17808,8 @@ using Catch::Detail::Approx;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_WARN( msg )          (void)(0)
 | 
					 | 
					 | 
					 | 
					#define CATCH_WARN( msg )          (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_CAPTURE( msg )       (void)(0)
 | 
					 | 
					 | 
					 | 
					#define CATCH_CAPTURE( msg )       (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ))
 | 
					 | 
					 | 
					 | 
					#define CATCH_TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ))
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ))
 | 
					 | 
					 | 
					 | 
					#define CATCH_TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ))
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_METHOD_AS_TEST_CASE( method, ... )
 | 
					 | 
					 | 
					 | 
					#define CATCH_METHOD_AS_TEST_CASE( method, ... )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_REGISTER_TEST_CASE( Function, ... ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define CATCH_REGISTER_TEST_CASE( Function, ... ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_SECTION( ... )
 | 
					 | 
					 | 
					 | 
					#define CATCH_SECTION( ... )
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17811,7 +17818,7 @@ using Catch::Detail::Approx;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_FAIL_CHECK( ... ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define CATCH_FAIL_CHECK( ... ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_SUCCEED( ... ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define CATCH_SUCCEED( ... ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ))
 | 
					 | 
					 | 
					 | 
					#define CATCH_ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ))
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__)
 | 
					 | 
					 | 
					 | 
					#define CATCH_TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__)
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17834,8 +17841,8 @@ using Catch::Detail::Approx;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// "BDD-style" convenience wrappers
 | 
					 | 
					 | 
					 | 
					// "BDD-style" convenience wrappers
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ))
 | 
					 | 
					 | 
					 | 
					#define CATCH_SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ))
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), className )
 | 
					 | 
					 | 
					 | 
					#define CATCH_SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), className )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_GIVEN( desc )
 | 
					 | 
					 | 
					 | 
					#define CATCH_GIVEN( desc )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_AND_GIVEN( desc )
 | 
					 | 
					 | 
					 | 
					#define CATCH_AND_GIVEN( desc )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_WHEN( desc )
 | 
					 | 
					 | 
					 | 
					#define CATCH_WHEN( desc )
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17885,8 +17892,8 @@ using Catch::Detail::Approx;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define WARN( msg ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define WARN( msg ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CAPTURE( msg ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define CAPTURE( msg ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define TEST_CASE( ... )  INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ))
 | 
					 | 
					 | 
					 | 
					#define TEST_CASE( ... )  INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ))
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ))
 | 
					 | 
					 | 
					 | 
					#define TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ))
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define METHOD_AS_TEST_CASE( method, ... )
 | 
					 | 
					 | 
					 | 
					#define METHOD_AS_TEST_CASE( method, ... )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define REGISTER_TEST_CASE( Function, ... ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define REGISTER_TEST_CASE( Function, ... ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define SECTION( ... )
 | 
					 | 
					 | 
					 | 
					#define SECTION( ... )
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17894,7 +17901,7 @@ using Catch::Detail::Approx;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define FAIL( ... ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define FAIL( ... ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define FAIL_CHECK( ... ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define FAIL_CHECK( ... ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define SUCCEED( ... ) (void)(0)
 | 
					 | 
					 | 
					 | 
					#define SUCCEED( ... ) (void)(0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ))
 | 
					 | 
					 | 
					 | 
					#define ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ))
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					 | 
					 | 
					 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__)
 | 
					 | 
					 | 
					 | 
					#define TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__)
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -17924,8 +17931,8 @@ using Catch::Detail::Approx;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define CATCH_TRANSLATE_EXCEPTION( signature ) INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionTranslator ), signature )
 | 
					 | 
					 | 
					 | 
					#define CATCH_TRANSLATE_EXCEPTION( signature ) INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionTranslator ), signature )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// "BDD-style" convenience wrappers
 | 
					 | 
					 | 
					 | 
					// "BDD-style" convenience wrappers
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ) )
 | 
					 | 
					 | 
					 | 
					#define SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ) )
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), className )
 | 
					 | 
					 | 
					 | 
					#define SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), className )
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define GIVEN( desc )
 | 
					 | 
					 | 
					 | 
					#define GIVEN( desc )
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define AND_GIVEN( desc )
 | 
					 | 
					 | 
					 | 
					#define AND_GIVEN( desc )
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					 
 |