22 template <
class R,
class... Args>
28 constexpr
static size_t arity =
sizeof...(Args);
42 using arg_t =
typename std::tuple_element<i, std::tuple<Args...>>::type;
48 template <
class T,
size_t i>
57 template <
class,
class>
60 template <
class R,
class... Args>
61 struct fn<R(*)(Args...),
void> {
62 using fn_type = std::function<R(Args...)>;
65 template <
class Class,
class R,
class... Args>
66 struct fn<R(Class::* const)(Args...), void> {
67 using fn_type = std::function<R(
const Class&, Args...)>;
70 template <
class Class,
class R,
class... Args>
71 struct fn<R(Class::* const)(Args...), std::nullptr_t>{
72 using fn_type = std::function<R(Args...)>;
77 decltype(&F::operator())
78 > :
public fn<decltype(&F::operator()), std::nullptr_t>{
88 template <
class R,
class... Args>
93 template <
class Class,
class R,
class... Args>
96 return std::mem_fn(f);
Global namespace of the SCL.