2 #ifndef HOBBES_UTIL_FUNC_HPP_INCLUDED 3 #define HOBBES_UTIL_FUNC_HPP_INCLUDED 11 template <
typename R,
typename ...
Args>
13 static const std::size_t arity =
sizeof...(Args);
14 typedef R (*type)(
Args...);
18 template <
typename R,
typename C,
typename ...
Args>
19 struct func<R(C::*)(Args...)> {
20 static const std::size_t arity =
sizeof...(Args);
21 typedef R (*type)(C*,
Args...);
29 template <
typename R,
typename C,
typename ...
Args>
31 static const int arity =
sizeof...(Args);
36 template <
typename R,
typename C,
typename ...
Args>
38 static const int arity =
sizeof...(Args);
43 template <
typename X,
typename T, T f>
47 template <
typename R,
typename C,
typename ...
Args,
typename T, T f>
50 return (c->*f)(args...);
53 template <
typename R,
typename C,
typename ...
Args,
typename T, T f>
56 return (c->*f)(args...);
59 template <
typename C,
typename ...
Args,
typename T, T f>
65 template <
typename C,
typename ...
Args,
typename T, T f>
66 struct mfnThunk<void(C::*)(Args...)const, T, f> {
R result_type
Definition: func.H:39
R result_type
Definition: func.H:32
R result_type
Definition: func.H:22
C class_type
Definition: func.H:33
static R fn(C *c, Args... args)
Definition: func.H:55
R result_type
Definition: func.H:15
static void fn(C *c, Args... args)
Definition: func.H:61
static R fn(C *c, Args... args)
Definition: func.H:49
static void fn(C *c, Args... args)
Definition: func.H:67
std::map< std::string, llvm::Value * > Args
Definition: dfa.C:1276
C class_type
Definition: func.H:40