12 virtual R execute()=0;
15template <
class R,
class Arg1>
19 virtual R execute(Arg1 a)=0;
22template <
class R,
class Arg1,
class Arg2>
26 virtual R execute(Arg1 a,Arg2 b)=0;
29template <
class R,
class Arg1,
class Arg2,
class Arg3>
33 virtual R execute(Arg1 a,Arg2 b,Arg3 c)=0;
36template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
40 virtual R execute(Arg1 a,Arg2 b,Arg3 c,Arg4 d)=0;
48 virtual R execute() {
return t_(); }
53template <
class R,
class Arg1>
56 typedef R (*type)(Arg1 a);
58 virtual R execute(Arg1 a) {
return t_(a); }
63template <
class R,
class Arg1,
class Arg2>
66 typedef R (*type)(Arg1 a,Arg2 b);
68 virtual R execute(Arg1 a,Arg2 b) {
return t_(a,b); }
73template <
class R,
class Arg1,
class Arg2,
class Arg3>
76 typedef R (*type)(Arg1 a,Arg2 b,Arg3 c);
78 virtual R execute(Arg1 a,Arg2 b,Arg3 c) {
return t_(a,b,c); }
83template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
86 typedef R (*type)(Arg1 a,Arg2 b,Arg3 c,Arg4 d);
88 R execute(Arg1 a,Arg2 b,Arg3 c,Arg4 d)
override {
return t_(a,b,c,d); }
93template <
class R,
class S,R (S::*MFP)()>
97 virtual R execute() {
return (s_->*MFP)(); }
102template <
class R,
class Arg1,
class S,R (S::*MFP)(Arg1)>
106 virtual R execute(Arg1 a) {
return (s_->*MFP)(a); }
111template <
class R,
class Arg1,
class Arg2,
class S,R (S::*MFP)(Arg1,Arg2)>
115 virtual R execute(Arg1 a,Arg2 b) {
return (s_->*MFP)(a,b); }
120template <
class R,
class Arg1,
class Arg2,
class Arg3,
class S,R (S::*MFP)(Arg1,Arg2,Arg3)>
124 R execute(Arg1 a,Arg2 b,Arg3 c)
override {
return (s_->*MFP)(a,b,c); }
129template <
class R,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class S,R (S::*MFP)(Arg1,Arg2,Arg3,Arg4)>
133 R execute(Arg1 a,Arg2 b,Arg3 c,Arg4 d)
override {
return (s_->*MFP)(a,b,c,d); }
Definition callback.h:103
Definition callback.h:112
Definition callback.h:121
Definition callback.h:130