11template <
typename ... Args>
15template <
typename ReturnType,
typename... Args>
19 static constexpr size_t arity =
sizeof...(Args);
20 using return_type = ReturnType;
31template <
typename ReturnType,
typename... Args>
35template <
typename ReturnType,
typename... Args>
39template <
typename ClassType,
typename ReturnType,
typename... Args>
43template <
typename ClassType,
typename ReturnType,
typename... Args>
47template <
typename ClassType,
typename ReturnType,
typename... Args>
51template <
typename ClassType,
typename ReturnType,
typename... Args>
55template <
typename ClassType,
typename ReturnType,
typename... Args>
59template <
typename ClassType,
typename ReturnType,
typename... Args>
63template <
typename ClassType,
typename ReturnType,
typename... Args>
67template <
typename ClassType,
typename ReturnType,
typename... Args>
71template <
typename ClassType,
typename ReturnType,
typename... Args>
75template <
typename ClassType,
typename ReturnType,
typename... Args>
82template <
typename T,
typename V =
void>
116template<
typename Func,
typename ... Args>
119template<
typename Func,
typename T,
typename ... Args>
124template<
typename Func>
129template <
typename Func>
130using first_arg_t =
typename first_arg<Func>::type;
133template<
typename Func,
typename ... Args>
136template<
typename Func,
typename First,
typename T,
typename ... Args>
141template<
typename Func>
146template <
typename Func>
147using second_arg_t =
typename second_arg<Func>::type;