21 #ifndef GRPPI_COMMON_CALLABLE_TRAITS_H 22 #define GRPPI_COMMON_CALLABLE_TRAITS_H 40 template <
typename R,
typename ... Args>
43 using arity =
typename std::integral_constant<size_t,
sizeof...(Args)>::
type;
48 template <
typename R,
typename ... Args>
54 template <
typename C,
typename R,
typename ... Args>
60 template <
typename C,
typename R,
typename ... Args>
86 typename std::enable_if_t<!internal::has_arguments<F>(),
int>;
91 typename std::enable_if_t<internal::has_arguments<F>(),
int>;
Definition: callable_traits.h:24
typename std::enable_if_t< internal::has_arguments< F >(), int > requires_arguments
Definition: callable_traits.h:91
typename std::enable_if_t<!internal::has_arguments< F >(), int > requires_no_arguments
Definition: callable_traits.h:86
constexpr size_t callable_arity()
Definition: callable_traits.h:71
Definition: callable_traits.h:36
Definition: callable_traits.h:66
Identity type trait.
Definition: callable_traits.h:30
typename std::integral_constant< size_t, sizeof...(Args)>::type arity
Definition: callable_traits.h:43
R(Args...) type
Definition: callable_traits.h:31
constexpr bool has_arguments()
Definition: callable_traits.h:77