41 #if !defined(GLS_FUNCTOR_H)
69 template <
class O,
class T>
83 template <
class O,
class T>
87 typedef T (O::*
F)()
const;
107 template <
class O,
class T>
115 template <
class O,
class T>
138 typedef void (*
F)(T);
147 template <
class O,
class T>
151 typedef void (O::*
F)(T);
161 template <
class O,
class T>
165 typedef void (O::*
F)(T)
const;
183 template <
class O,
class T>
191 template <
class O,
class T>
200 template <
class T1,
class T2>
204 virtual void operator()(T1 arg1, T2 arg2) = 0;
209 template <
class O,
class T1,
class T2>
213 typedef void (O::*
F)(T1,T2);
215 virtual void operator()(T1 arg1, T2 arg2) { (*_f)(arg1, arg2); }
222 template <
class O,
class T1,
class T2>
226 typedef void (O::*
F)(T1,T2);
236 template <
class O,
class T1,
class T2>
240 typedef void (O::*
F)(T1,T2)
const;
250 template <
class O,
class T1,
class T2>
258 template <
class O,
class T1,
class T2>
266 template <
class O,
class T1,
class T2>
276 template <
class T1,
class T2,
class T3>
280 virtual void operator()(T1 arg1, T2 arg2, T3 arg3) = 0;
285 template <
class O,
class T1,
class T2,
class T3>
289 typedef void (O::*
F)(T1, T2, T3);
291 virtual void operator()(T1 arg1, T2 arg2, T3 arg3) { (*_f)(arg1, arg2, arg3); }
298 template <
class O,
class T1,
class T2,
class T3>
302 typedef void (O::*
F)(T1, T2, T3);
304 virtual void operator()(T1 arg1, T2 arg2, T3 arg3) { (
_o.*
_f)(arg1, arg2, arg3); }
312 template <
class O,
class T1,
class T2,
class T3>
316 typedef void (O::*
F)(T1, T2, T3)
const;
318 virtual void operator()(T1 arg1, T2 arg2, T3 arg3) { (
_o.*
_f)(arg1, arg2, arg3); }
326 template <
class O,
class T1,
class T2,
class T3>
334 template <
class O,
class T1,
class T2,
class T3>
342 template <
class O,
class T1,
class T2,
class T3>
349 #endif // GLS_FUNCTOR_H
GlsConstMemberFunctor1_T(const O &o, F f)
virtual void operator()(T arg)
virtual void operator()(T arg)
virtual void operator()(T1 arg1, T2 arg2, T3 arg3)
virtual void operator()(T1 arg1, T2 arg2, T3 arg3)=0
GlsMemberFunctor1_T(O &o, F f)
GlsStaticMemberFunctor1_T(F f)
virtual void operator()(T1 arg1, T2 arg2)=0
GlsMemberFunctor2_T(O &o, F f)
GlsConstMemberFunctor2_T(const O &o, F f)
virtual void operator()(T arg)
GlsStaticMemberFunctor3_T(F f)
void(O::* F)(T1, T2, T3) const
virtual void operator()(T1 arg1, T2 arg2)
virtual void operator()(T1 arg1, T2 arg2, T3 arg3)
virtual void operator()(T1 arg1, T2 arg2, T3 arg3)
GlsMemberFunctor3_T(O &o, F f)
GlsStaticMemberFunctor2_T(F f)
GlsMemberFunctor_T(O &o, F f)
GlsStaticMemberFunctor_T(F f)
GlsConstMemberFunctor3_T(const O &o, F f)
void(O::* F)(T1, T2) const
GlsConstMemberFunctor_T(const O &o, F f)
virtual void operator()(T1 arg1, T2 arg2)
virtual void operator()(T1 arg1, T2 arg2)
virtual T operator()(T arg)
virtual void operator()(T arg)=0
GlsStaticMemberFunctor_T< T > * GlsFunctor(T(*f)())