Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorMartin Hořeňovský2025-07-15 11:49:39 +0200
committerMartin Hořeňovský2025-07-15 11:49:39 +0200
commitb9c018b38a98f7f9d15e4f6b9e60ec90cd393b7b (patch)
tree5f558e3de00fb057e1887b0931853182efea06aa /src
parent050e14dce05b93965ecf60ec524fa4cb3f91bb70 (diff)
downloadcatch3-b9c018b38a98f7f9d15e4f6b9e60ec90cd393b7b.tar.gz
Use template variables for our trait-likes in Clara
Diffstat (limited to 'src')
-rw-r--r--src/catch2/internal/catch_clara.hpp18
1 files changed, 8 insertions, 10 deletions
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 <typename F, typename = void>
- struct is_unary_function : std::false_type {};
+ static constexpr bool is_unary_function_v = false;
template <typename F>
- struct is_unary_function<
+ static constexpr bool is_unary_function_v<
F,
- Catch::Detail::void_t<decltype(
- std::declval<F>()( fake_arg() ) )
- >
- > : std::true_type {};
+ Catch::Detail::void_t<decltype( std::declval<F>()(
+ fake_arg() ) )>> = true;
// Traits for extracting arg and return type of lambdas (for single
// argument lambdas)
@@ -507,14 +505,14 @@ namespace Catch {
template <typename T,
typename = typename std::enable_if_t<
- !Detail::is_unary_function<T>::value>>
+ !Detail::is_unary_function_v<T>>>
ParserRefImpl( T& ref, StringRef hint ):
m_ref( std::make_shared<BoundValueRef<T>>( ref ) ),
m_hint( hint ) {}
template <typename LambdaT,
typename = typename std::enable_if_t<
- Detail::is_unary_function<LambdaT>::value>>
+ Detail::is_unary_function_v<LambdaT>>>
ParserRefImpl( LambdaT const& ref, StringRef hint ):
m_ref( std::make_shared<BoundLambda<LambdaT>>( ref ) ),
m_hint( hint ) {}
@@ -581,7 +579,7 @@ namespace Catch {
template <typename LambdaT,
typename = typename std::enable_if_t<
- Detail::is_unary_function<LambdaT>::value>>
+ Detail::is_unary_function_v<LambdaT>>>
Opt( LambdaT const& ref, StringRef hint ):
ParserRefImpl( ref, hint ) {}
@@ -591,7 +589,7 @@ namespace Catch {
template <typename T,
typename = typename std::enable_if_t<
- !Detail::is_unary_function<T>::value>>
+ !Detail::is_unary_function_v<T>>>
Opt( T& ref, StringRef hint ):
ParserRefImpl( ref, hint ) {}