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> 42 typedef R (*FunctionType)();
52 template <
class R,
class T >
55 typedef R (T::*FunctionType)();
60 ResultType
operator()()
const {
return (object->*(fn))(); }
66 template <
class R ,
class Arg1>
69 typedef R (*FunctionType)(Arg1);
79 template <
class R,
class T ,
class Arg1>
82 typedef R (T::*FunctionType)(Arg1);
87 ResultType
operator()(Arg1 a1)
const {
return (object->*(fn))(a1); }
93 template <
class R ,
class Arg1,
class Arg2>
96 typedef R (*FunctionType)(Arg1, Arg2);
101 ResultType
operator()(Arg1 a1, Arg2 a2)
const {
return fn(a1, a2); }
106 template <
class R,
class T ,
class Arg1,
class Arg2>
109 typedef R (T::*FunctionType)(Arg1, Arg2);
114 ResultType
operator()(Arg1 a1, Arg2 a2)
const {
return (object->*(fn))(a1, a2); }
120 template <
class R ,
class Arg1,
class Arg2,
class Arg3>
123 typedef R (*FunctionType)(Arg1, Arg2, Arg3);
128 ResultType
operator()(Arg1 a1, Arg2 a2, Arg3 a3)
const {
return fn(a1, a2, a3); }
133 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3>
136 typedef R (T::*FunctionType)(Arg1, Arg2, Arg3);
141 ResultType
operator()(Arg1 a1, Arg2 a2, Arg3 a3)
const {
return (object->*(fn))(a1, a2, a3); }
147 template <
class R ,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
150 typedef R (*FunctionType)(Arg1, Arg2, Arg3, Arg4);
155 ResultType
operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4)
const {
return fn(a1, a2, a3, a4); }
160 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
163 typedef R (T::*FunctionType)(Arg1, Arg2, Arg3, Arg4);
168 ResultType
operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4)
const {
return (object->*(fn))(a1, a2, a3, a4); }
174 template <
class R ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
177 typedef R (*FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5);
182 ResultType
operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5)
const {
return fn(a1, a2, a3, a4, a5); }
187 template <
class R,
class T ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
190 typedef R (T::*FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5);
195 ResultType
operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5)
const {
return (object->*(fn))(a1, a2, a3, a4, a5); }
201 template <
class R ,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6>
204 typedef R (*FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, 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>
217 typedef R (T::*FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, 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>
231 typedef R (*FunctionType)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, 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>
269 template <
class R,
class Arg1,
class Arg2>
274 template <
class R,
class Arg1,
class Arg2,
class Arg3>
279 template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
284 template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class 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>
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>
296 ptrFun(R (*fn)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) )
301 template <
class R,
class T>
306 template <
class R,
class T,
class Arg1>
311 template <
class R,
class T,
class Arg1,
class Arg2>
316 template <
class R,
class T,
class Arg1,
class Arg2,
class 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>
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>
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>
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>
338 memFun( T *obj, R (T::*fn)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) )
PtrFunctor1(FunctionType fn)
Definition: functors.h:72
FunctionType fn
Definition: functors.h:252
FunctionType fn
Definition: functors.h:157
Definition: functors.h:40
FunctionType fn
Definition: functors.h:198
R ResultType
Definition: functors.h:205
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) const
Definition: functors.h:168
T * object
Definition: functors.h:251
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6, Arg7 a7) const
Definition: functors.h:249
R ResultType
Definition: functors.h:245
ResultType operator()(Arg1 a1, Arg2 a2) const
Definition: functors.h:101
Definition: functors.h:121
PtrFunctor0(FunctionType fn)
Definition: functors.h:45
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3) const
Definition: functors.h:141
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6, Arg7 a7) const
Definition: functors.h:236
Definition: functors.h:80
MemberFunctor3(T *object, FunctionType fn)
Definition: functors.h:139
T * object
Definition: functors.h:116
MemberFunctor0(T *object, FunctionType fn)
Definition: functors.h:58
Definition: functors.h:202
T * object
Definition: functors.h:224
PtrFunctor7(FunctionType fn)
Definition: functors.h:234
FunctionType fn
Definition: functors.h:117
FunctionType fn
Definition: functors.h:225
Definition: functors.h:161
FunctionType fn
Definition: functors.h:49
T * object
Definition: functors.h:143
T * object
Definition: functors.h:197
Definition: functors.h:242
PtrFunctor4(FunctionType fn)
Definition: functors.h:153
FunctionType fn
Definition: functors.h:171
R ResultType
Definition: functors.h:232
PtrFunctor3(FunctionType fn)
Definition: functors.h:126
R ResultType
Definition: functors.h:137
FunctionType fn
Definition: functors.h:238
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6) const
Definition: functors.h:209
MemberFunctor6(T *object, FunctionType fn)
Definition: functors.h:220
FunctionType fn
Definition: functors.h:103
Definition: functors.h:53
ResultType operator()() const
Definition: functors.h:60
PtrFunctor0< R > ptrFun(R(*fn)())
Definition: functors.h:261
R ResultType
Definition: functors.h:178
PtrFunctor2(FunctionType fn)
Definition: functors.h:99
Definition: functors.h:229
FunctionType fn
Definition: functors.h:130
MemberFunctor5(T *object, FunctionType fn)
Definition: functors.h:193
Definition: functors.h:175
FunctionType fn
Definition: functors.h:76
R ResultType
Definition: functors.h:43
PtrFunctor5(FunctionType fn)
Definition: functors.h:180
FunctionType fn
Definition: functors.h:63
Definition: functors.h:94
R ResultType
Definition: functors.h:56
Definition: functors.h:215
FunctionType fn
Definition: functors.h:184
FunctionType fn
Definition: functors.h:90
R ResultType
Definition: functors.h:218
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3) const
Definition: functors.h:128
Definition: functors.h:134
ResultType operator()(Arg1 a1) const
Definition: functors.h:87
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5) const
Definition: functors.h:182
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5, Arg6 a6) const
Definition: functors.h:222
MemberFunctor2(T *object, FunctionType fn)
Definition: functors.h:112
ResultType operator()(Arg1 a1, Arg2 a2) const
Definition: functors.h:114
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5) const
Definition: functors.h:195
PtrFunctor6(FunctionType fn)
Definition: functors.h:207
T * object
Definition: functors.h:170
R ResultType
Definition: functors.h:151
R ResultType
Definition: functors.h:191
FunctionType fn
Definition: functors.h:144
Definition: functors.h:67
R ResultType
Definition: functors.h:70
Definition: abstract-adaptor.cpp:31
ResultType operator()(Arg1 a1) const
Definition: functors.h:74
T * object
Definition: functors.h:62
Definition: functors.h:148
MemberFunctor0< R, T > memFun(T *obj, R(T::*fn)())
Definition: functors.h:303
ResultType operator()(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) const
Definition: functors.h:155
Definition: functors.h:107
MemberFunctor7(T *object, FunctionType fn)
Definition: functors.h:247
T * object
Definition: functors.h:89
ResultType operator()() const
Definition: functors.h:47
Definition: functors.h:188
FunctionType fn
Definition: functors.h:211
MemberFunctor4(T *object, FunctionType fn)
Definition: functors.h:166
R ResultType
Definition: functors.h:124
R ResultType
Definition: functors.h:110
Definition: functors.h:35
R ResultType
Definition: functors.h:164
R ResultType
Definition: functors.h:83
R ResultType
Definition: functors.h:97
MemberFunctor1(T *object, FunctionType fn)
Definition: functors.h:85