diff --git a/src/catch2/internal/catch_clara.hpp b/src/catch2/internal/catch_clara.hpp index d869593b..85874a15 100644 --- a/src/catch2/internal/catch_clara.hpp +++ b/src/catch2/internal/catch_clara.hpp @@ -66,15 +66,13 @@ namespace Catch { }; template - struct is_unary_function : std::false_type {}; + static constexpr bool is_unary_function_v = false; template - struct is_unary_function< + static constexpr bool is_unary_function_v< F, - Catch::Detail::void_t()( fake_arg() ) ) - > - > : std::true_type {}; + Catch::Detail::void_t()( + fake_arg() ) )>> = true; // Traits for extracting arg and return type of lambdas (for single // argument lambdas) @@ -507,14 +505,14 @@ namespace Catch { template ::value>> + !Detail::is_unary_function_v>> ParserRefImpl( T& ref, StringRef hint ): m_ref( std::make_shared>( ref ) ), m_hint( hint ) {} template ::value>> + Detail::is_unary_function_v>> ParserRefImpl( LambdaT const& ref, StringRef hint ): m_ref( std::make_shared>( ref ) ), m_hint( hint ) {} @@ -581,7 +579,7 @@ namespace Catch { template ::value>> + Detail::is_unary_function_v>> Opt( LambdaT const& ref, StringRef hint ): ParserRefImpl( ref, hint ) {} @@ -591,7 +589,7 @@ namespace Catch { template ::value>> + !Detail::is_unary_function_v>> Opt( T& ref, StringRef hint ): ParserRefImpl( ref, hint ) {} diff --git a/tests/SelfTest/Baselines/compact.sw.approved.txt b/tests/SelfTest/Baselines/compact.sw.approved.txt index 50f09b1b..840d3dcb 100644 --- a/tests/SelfTest/Baselines/compact.sw.approved.txt +++ b/tests/SelfTest/Baselines/compact.sw.approved.txt @@ -2534,18 +2534,18 @@ Skip.tests.cpp:: skipped: Skip.tests.cpp:: skipped: Skip.tests.cpp:: failed: explicitly loose text artifact -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' Message.tests.cpp:: failed: explicitly with 1 message: 'Previous info should not be seen' Message.tests.cpp:: failed: explicitly with 1 message: 'previous unscoped info SHOULD not be seen' Misc.tests.cpp:: passed: l == std::numeric_limits::max() for: 9223372036854775807 (0x) diff --git a/tests/SelfTest/Baselines/compact.sw.multi.approved.txt b/tests/SelfTest/Baselines/compact.sw.multi.approved.txt index 7e5535ba..933a887a 100644 --- a/tests/SelfTest/Baselines/compact.sw.multi.approved.txt +++ b/tests/SelfTest/Baselines/compact.sw.multi.approved.txt @@ -2526,18 +2526,18 @@ Skip.tests.cpp:: failed: explicitly Skip.tests.cpp:: skipped: Skip.tests.cpp:: skipped: Skip.tests.cpp:: failed: explicitly -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function::value' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' -Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: 'Catch::Clara::Detail::is_unary_function_v' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' +Clara.tests.cpp:: passed: with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' Message.tests.cpp:: failed: explicitly with 1 message: 'Previous info should not be seen' Message.tests.cpp:: failed: explicitly with 1 message: 'previous unscoped info SHOULD not be seen' Misc.tests.cpp:: passed: l == std::numeric_limits::max() for: 9223372036854775807 (0x) diff --git a/tests/SelfTest/Baselines/console.sw.approved.txt b/tests/SelfTest/Baselines/console.sw.approved.txt index 9e4e0e16..414a8881 100644 --- a/tests/SelfTest/Baselines/console.sw.approved.txt +++ b/tests/SelfTest/Baselines/console.sw.approved.txt @@ -16704,51 +16704,51 @@ Clara.tests.cpp: Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) ------------------------------------------------------------------------------- just failure diff --git a/tests/SelfTest/Baselines/console.sw.multi.approved.txt b/tests/SelfTest/Baselines/console.sw.multi.approved.txt index 84205756..cb13b0ff 100644 --- a/tests/SelfTest/Baselines/console.sw.multi.approved.txt +++ b/tests/SelfTest/Baselines/console.sw.multi.approved.txt @@ -16696,51 +16696,51 @@ Clara.tests.cpp: Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - Catch::Clara::Detail::is_unary_function::value + Catch::Clara::Detail::is_unary_function_v Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) Clara.tests.cpp:: PASSED: with message: - !(Catch::Clara::Detail::is_unary_function::value) + !(Catch::Clara::Detail::is_unary_function_v) ------------------------------------------------------------------------------- just failure diff --git a/tests/SelfTest/Baselines/tap.sw.approved.txt b/tests/SelfTest/Baselines/tap.sw.approved.txt index 59247a9c..f1064e6b 100644 --- a/tests/SelfTest/Baselines/tap.sw.approved.txt +++ b/tests/SelfTest/Baselines/tap.sw.approved.txt @@ -4019,29 +4019,29 @@ ok {test-number} - # SKIP not ok {test-number} - explicitly loose text artifact # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # just failure not ok {test-number} - explicitly with 1 message: 'Previous info should not be seen' # just failure after unscoped info diff --git a/tests/SelfTest/Baselines/tap.sw.multi.approved.txt b/tests/SelfTest/Baselines/tap.sw.multi.approved.txt index eba0bd3a..bdfc9c3b 100644 --- a/tests/SelfTest/Baselines/tap.sw.multi.approved.txt +++ b/tests/SelfTest/Baselines/tap.sw.multi.approved.txt @@ -4011,29 +4011,29 @@ ok {test-number} - # SKIP # failing in some unskipped sections causes entire test case to fail not ok {test-number} - explicitly # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function::value' +ok {test-number} - with 1 message: 'Catch::Clara::Detail::is_unary_function_v' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # is_unary_function -ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function::value)' +ok {test-number} - with 1 message: '!(Catch::Clara::Detail::is_unary_function_v)' # just failure not ok {test-number} - explicitly with 1 message: 'Previous info should not be seen' # just failure after unscoped info diff --git a/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp b/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp index 53023b50..0fadad6d 100644 --- a/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp +++ b/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp @@ -25,19 +25,19 @@ TEST_CASE("is_unary_function", "[clara][compilation]") { auto nullary1 = []() {}; auto nullary2 = []() {return 42;}; - STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function::value); + STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE(Catch::Clara::Detail::is_unary_function_v); - STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function::value); - STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function::value); + STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function_v); + STATIC_REQUIRE_FALSE(Catch::Clara::Detail::is_unary_function_v); }