19 #include <type_traits>
30 #define FUNCTION_TRAITS_STRUCT_BODY \
31 typedef R result_type; \
35 typedef typename std::tuple_element<i, std::tuple<Args...>>::type type; \
38 typedef std::tuple<Args...> packed_args_type; \
39 typedef R (*c_function_type)(Args...); \
40 constexpr static size_t n_args = sizeof...(Args)
42 template <
typename ClassType,
typename R,
typename... Args>
45 constexpr
static bool is_member =
true;
46 constexpr
static bool is_static_member =
true;
50 template <
typename R,
typename... Args>
53 constexpr
static bool is_member =
false;
Definition: function_traits.h:28
ClassType class_type
Definition: function_traits.h:47
FUNCTION_TRAITS_STRUCT_BODY
Definition: function_traits.h:52
FUNCTION_TRAITS_STRUCT_BODY
Definition: function_traits.h:44