23 #ifndef _TelepathyQt_functors_h_HEADER_GUARD_
24 #define _TelepathyQt_functors_h_HEADER_GUARD_
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
30 #include <TelepathyQt/Global>
52 template <
class R,
class T >
66 template <
class R ,
class Arg1>
79 template <
class R,
class T ,
class Arg1>
93 template <
class R ,
class Arg1,
class Arg2>
106 template <
class R,
class T ,
class Arg1,
class Arg2>
120 template <
class R ,
class Arg1,
class Arg2,
class Arg3>
133 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3>
147 template <
class R ,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
160 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
174 template <
class R ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
187 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
201 template <
class R ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6>
209 ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6)
const {
return fn(a1, a2, a3, a4, a5, a6); }
214 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6>
222 ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6)
const {
return (
object->*(
fn))(a1, a2, a3, a4, a5, a6); }
228 template <
class R ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6,
class Arg7>
236 ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6, Arg7 a7)
const {
return fn(a1, a2, a3, a4, a5, a6, a7); }
241 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6,
class Arg7>
244 typedef R (T::*
FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7);
249 ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6, Arg7 a7)
const {
return (
object->*(
fn))(a1, a2, a3, a4, a5, a6, a7); }
264 template <
class R,
class Arg1>
265 inline PtrFunctor1<R, Arg1>
269 template <
class R,
class Arg1,
class Arg2>
270 inline PtrFunctor2<R, Arg1, Arg2>
274 template <
class R,
class Arg1,
class Arg2,
class Arg3>
275 inline PtrFunctor3<R, Arg1, Arg2, Arg3>
279 template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
280 inline PtrFunctor4<R, Arg1, Arg2, Arg3, Arg4>
284 template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
285 inline PtrFunctor5<R, Arg1, Arg2, Arg3, Arg4, Arg5>
286 ptrFun(R (*fn)(Arg1, Arg2, Arg3, Arg4, Arg5) )
289 template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6>
290 inline PtrFunctor6<R, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>
291 ptrFun(R (*fn)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) )
294 template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6,
class Arg7>
295 inline PtrFunctor7<R, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>
296 ptrFun(R (*fn)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) )
301 template <
class R,
class T>
302 inline MemberFunctor0<R, T>
306 template <
class R,
class T,
class Arg1>
307 inline MemberFunctor1<R, T, Arg1>
311 template <
class R,
class T,
class Arg1,
class Arg2>
312 inline MemberFunctor2<R, T, Arg1, Arg2>
316 template <
class R,
class T,
class Arg1,
class Arg2,
class Arg3>
317 inline MemberFunctor3<R, T, Arg1, Arg2, Arg3>
318 memFun( T *obj, R (T::*fn)(Arg1, Arg2, Arg3) )
321 template <
class R,
class T,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
322 inline MemberFunctor4<R, T, Arg1, Arg2, Arg3, Arg4>
323 memFun( T *obj, R (T::*fn)(Arg1, Arg2, Arg3, Arg4) )
326 template <
class R,
class T,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
327 inline MemberFunctor5<R, T, Arg1, Arg2, Arg3, Arg4, Arg5>
328 memFun( T *obj, R (T::*fn)(Arg1, Arg2, Arg3, Arg4, Arg5) )
331 template <
class R,
class T,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6>
332 inline MemberFunctor6<R, T, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>
333 memFun( T *obj, R (T::*fn)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) )
336 template <
class R,
class T,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6,
class Arg7>
337 inline MemberFunctor7<R, T, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>
338 memFun( T *obj, R (T::*fn)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) )
PtrFunctor2(FunctionType fn)
Definition: functors.h:99
Definition: functors.h:161
R ResultType
Definition: functors.h:232
R(T::* FunctionType)(Arg1, Arg2)
Definition: functors.h:109
Definition: functors.h:121
R ResultType
Definition: functors.h:191
FunctionType fn
Definition: functors.h:90
R ResultType
Definition: functors.h:56
R(T::* FunctionType)(Arg1, Arg2, Arg3)
Definition: functors.h:136
FunctionType fn
Definition: functors.h:103
Definition: functors.h:94
FunctionType fn
Definition: functors.h:63
FunctionType fn
Definition: functors.h:144
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6) const
Definition: functors.h:222
Definition: functors.h:53
T * object
Definition: functors.h:89
FunctionType fn
Definition: functors.h:225
R(* FunctionType)(Arg1)
Definition: functors.h:69
PtrFunctor1(FunctionType fn)
Definition: functors.h:72
Definition: functors.h:148
FunctionType fn
Definition: functors.h:117
Definition: functors.h:107
MemberFunctor4(T *object, FunctionType fn)
Definition: functors.h:166
R ResultType
Definition: functors.h:43
Definition: functors.h:35
ResultType operator()(Arg1 a1) const
Definition: functors.h:87
PtrFunctor4(FunctionType fn)
Definition: functors.h:153
ResultType operator()() const
Definition: functors.h:47
FunctionType fn
Definition: functors.h:198
Definition: functors.h:80
MemberFunctor0(T *object, FunctionType fn)
Definition: functors.h:58
Definition: functors.h:40
ResultType operator()(Arg1 a1, Arg2 a2) const
Definition: functors.h:114
PtrFunctor0< R > ptrFun(R(*fn)())
Definition: functors.h:261
MemberFunctor5(T *object, FunctionType fn)
Definition: functors.h:193
R(* FunctionType)(Arg1, Arg2, Arg3, Arg4)
Definition: functors.h:150
T * object
Definition: functors.h:62
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5) const
Definition: functors.h:195
R ResultType
Definition: functors.h:110
FunctionType fn
Definition: functors.h:184
FunctionType fn
Definition: functors.h:130
R ResultType
Definition: functors.h:70
MemberFunctor1(T *object, FunctionType fn)
Definition: functors.h:85
Definition: abstract-adaptor.cpp:31
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6, Arg7 a7) const
Definition: functors.h:236
Definition: functors.h:202
PtrFunctor5(FunctionType fn)
Definition: functors.h:180
ResultType operator()(Arg1 a1, Arg2 a2) const
Definition: functors.h:101
FunctionType fn
Definition: functors.h:238
FunctionType fn
Definition: functors.h:49
R(* FunctionType)(Arg1, Arg2, Arg3)
Definition: functors.h:123
FunctionType fn
Definition: functors.h:211
T * object
Definition: functors.h:116
FunctionType fn
Definition: functors.h:171
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3) const
Definition: functors.h:128
R(T::* FunctionType)(Arg1)
Definition: functors.h:82
R(* FunctionType)(Arg1, Arg2)
Definition: functors.h:96
R ResultType
Definition: functors.h:164
T * object
Definition: functors.h:224
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5) const
Definition: functors.h:182
FunctionType fn
Definition: functors.h:157
T * object
Definition: functors.h:251
T * object
Definition: functors.h:197
R ResultType
Definition: functors.h:124
MemberFunctor6(T *object, FunctionType fn)
Definition: functors.h:220
ResultType operator()(Arg1 a1) const
Definition: functors.h:74
PtrFunctor7(FunctionType fn)
Definition: functors.h:234
MemberFunctor3(T *object, FunctionType fn)
Definition: functors.h:139
T * object
Definition: functors.h:170
MemberFunctor0< R, T > memFun(T *obj, R(T::*fn)())
Definition: functors.h:303
R ResultType
Definition: functors.h:137
R ResultType
Definition: functors.h:178
R ResultType
Definition: functors.h:151
T * object
Definition: functors.h:143
R(* FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5)
Definition: functors.h:177
PtrFunctor6(FunctionType fn)
Definition: functors.h:207
Definition: functors.h:229
Definition: functors.h:188
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) const
Definition: functors.h:168
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3) const
Definition: functors.h:141
PtrFunctor3(FunctionType fn)
Definition: functors.h:126
ResultType operator()() const
Definition: functors.h:60
R ResultType
Definition: functors.h:205
PtrFunctor0(FunctionType fn)
Definition: functors.h:45
R(T::* FunctionType)(Arg1, Arg2, Arg3, Arg4)
Definition: functors.h:163
Definition: functors.h:134
Definition: functors.h:242
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) const
Definition: functors.h:155
R ResultType
Definition: functors.h:218
R(* FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)
Definition: functors.h:204
R ResultType
Definition: functors.h:245
R(* FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)
Definition: functors.h:231
MemberFunctor7(T *object, FunctionType fn)
Definition: functors.h:247
R(* FunctionType)()
Definition: functors.h:42
Definition: functors.h:215
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6) const
Definition: functors.h:209
Definition: functors.h:67
Definition: functors.h:175
R(T::* FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)
Definition: functors.h:217
R ResultType
Definition: functors.h:83
R(T::* FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5)
Definition: functors.h:190
R ResultType
Definition: functors.h:97
FunctionType fn
Definition: functors.h:76
MemberFunctor2(T *object, FunctionType fn)
Definition: functors.h:112
R(T::* FunctionType)()
Definition: functors.h:55
R(T::* FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)
Definition: functors.h:244
FunctionType fn
Definition: functors.h:252
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6, Arg7 a7) const
Definition: functors.h:249