10 virtual void operator()()
const = 0;
14 template<
typename T,
typename U>
19 : mCaller(call), mCallee(callee) {
26 virtual void operator()()
const {
27 (mCaller->*mCallee)();
38 template<
typename T,
typename U,
typename V>
51 virtual void operator()()
const {
52 (mCaller->*mCallee)(mArg0);
64 template<
typename T,
typename U,
typename V,
typename W>
67 inline FunctorV2M(T call, U callee, V arg_0, W arg_1) {
78 virtual void operator()()
const {
79 (mCaller->*mCallee)(mArg0, mArg1);
93 static FunctorV0M<T *, void (T::*)()> Functor(T* a1, void (T::*a2)()) NO_INLINE {
98 inline static FunctorV0M<T *, void (T::*)()> Functor_Inline(T* a1, void (T::*a2)()) {
99 return FunctorV0M<T *, void (T::*)()>(a1, a2);
102 template<
class T,
typename U>
103 static FunctorV1M<T *, void (T::*)(U), U> Functor(T* a1, void (T::*a2)(U), U arg_0) {
104 return FunctorV1M<T *, void (T::*)(U), U>(a1, a2, arg_0);
107 template<
class T,
typename U,
typename V>
108 static FunctorV2M<T *, void (T::*)(U, V), U, V> Functor(T* a1, void (T::*a2)(U, V), U arg_0, V arg_1) {
109 return FunctorV2M<T *, void (T::*)(U, V), U, V>(a1, a2, arg_0, arg_1);
118 virtual void operator()()
const;