19 #ifndef TESS_CALLBACK_SPECIALIZATIONS_H_ 20 #define TESS_CALLBACK_SPECIALIZATIONS_H_ 25 virtual void Run() = 0;
35 template <
bool del,
class R,
class T>
47 : object_(object), member_(member) {}
51 R result = (object_->*member_)();
54 R result = (object_->*member_)();
62 template <
bool del,
class T>
74 : object_(object), member_(member) {}
78 (object_->*member_)();
80 (object_->*member_)();
89 template <
class T1,
class T2,
class R>
96 template <
bool del,
class R>
107 : function_(function) {}
111 R result = (*function_)();
114 R result = (*function_)();
133 : function_(function) {}
156 template <
typename T>
160 template <
typename T>
167 template <
typename T>
172 template <
bool del,
class R,
class T,
class P1,
class P2,
class P3,
class P4,
191 P2 p2, P3 p3, P4 p4, P5 p5)
202 R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_);
205 R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_);
213 template <
bool del,
class T,
class P1,
class P2,
class P3,
class P4,
class P5>
232 P2 p2, P3 p3, P4 p4, P5 p5)
243 (object_->*member_)(p1_, p2_, p3_, p4_, p5_);
245 (object_->*member_)(p1_, p2_, p3_, p4_, p5_);
254 template <
class T1,
class T2,
class R,
class P1,
class P2,
class P3,
class P4,
259 R (T2::*member)(P1, P2, P3, P4, P5)
const,
266 P5>(obj, member, p1, p2, p3, p4,
271 template <
bool del,
class R,
class T,
class P1,
class P2,
class P3,
class P4,
291 P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
303 R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_);
306 R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_);
314 template <
bool del,
class T,
class P1,
class P2,
class P3,
class P4,
class P5,
335 P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
347 (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_);
349 (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_);
358 template <
class T1,
class T2,
class R,
class P1,
class P2,
class P3,
class P4,
363 const T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, P6)
const,
368 P5, P6>(obj, member, p1, p2, p3,
377 virtual void Run(A1) = 0;
380 template <
class R,
class A1>
384 virtual R
Run(A1) = 0;
387 template <
class A1,
class A2>
391 virtual void Run(A1, A2) = 0;
394 template <
class R,
class A1,
class A2>
398 virtual R
Run(A1, A2) = 0;
401 template <
class A1,
class A2,
class A3>
405 virtual void Run(A1, A2, A3) = 0;
408 template <
class R,
class A1,
class A2,
class A3>
412 virtual R
Run(A1, A2, A3) = 0;
415 template <
class A1,
class A2,
class A3,
class A4>
419 virtual void Run(A1, A2, A3, A4) = 0;
422 template <
class R,
class A1,
class A2,
class A3,
class A4>
426 virtual R
Run(A1, A2, A3, A4) = 0;
429 template <
bool del,
class R,
class T,
class A1>
441 : object_(object), member_(member) {}
445 R result = (object_->*member_)(a1);
448 R result = (object_->*member_)(a1);
456 template <
bool del,
class T,
class A1>
469 : object_(object), member_(member) {}
471 void Run(A1 a1)
override {
473 (object_->*member_)(a1);
475 (object_->*member_)(a1);
484 template <
class T1,
class T2,
class R,
class A1>
491 template <
bool del,
class R,
class A1>
502 : function_(function) {}
506 R result = (*function_)(a1);
509 R result = (*function_)(a1);
517 template <
bool del,
class A1>
529 : function_(function) {}
531 void Run(A1 a1)
override {
543 template <
class R,
class A1>
549 template <
bool del,
class R,
class P1,
class A1>
561 : function_(function), p1_(p1) {}
565 R result = (*function_)(p1_, a1);
568 R result = (*function_)(p1_, a1);
576 template <
bool del,
class P1,
class A1>
589 : function_(function), p1_(p1) {}
591 void Run(A1 a1)
override {
593 (*function_)(p1_, a1);
595 (*function_)(p1_, a1);
603 template <
class R,
class P1,
class A1>
610 template <
bool del,
class R,
class T,
class A1,
class A2>
624 : object_(object), member_(member) {}
626 R
Run(A1 a1, A2 a2)
override {
628 R result = (object_->*member_)(a1, a2);
631 R result = (object_->*member_)(a1, a2);
639 template <
bool del,
class T,
class A1,
class A2>
653 : object_(object), member_(member) {}
655 virtual void Run(A1 a1, A2 a2) {
657 (object_->*member_)(a1, a2);
659 (object_->*member_)(a1, a2);
668 template <
class T1,
class T2,
class R,
class A1,
class A2>
676 template <
bool del,
class R,
class T,
class A1,
class A2>
688 : object_(object), member_(member) {}
690 R
Run(A1 a1, A2 a2)
override {
692 R result = (object_->*member_)(a1, a2);
695 R result = (object_->*member_)(a1, a2);
703 template <
bool del,
class T,
class A1,
class A2>
716 : object_(object), member_(member) {}
718 virtual void Run(A1 a1, A2 a2) {
720 (object_->*member_)(a1, a2);
722 (object_->*member_)(a1, a2);
731 template <
class T1,
class T2,
class R,
class A1,
class A2>
738 template <
bool del,
class R,
class A1,
class A2>
749 : function_(function) {}
751 R
Run(A1 a1, A2 a2)
override {
753 R result = (*function_)(a1, a2);
756 R result = (*function_)(a1, a2);
764 template <
bool del,
class A1,
class A2>
776 : function_(function) {}
778 virtual void Run(A1 a1, A2 a2) {
780 (*function_)(a1, a2);
782 (*function_)(a1, a2);
790 template <
class R,
class A1,
class A2>
796 template <
bool del,
class R,
class T,
class P1,
class P2,
class A1,
class A2>
811 : object_(object), member_(member), p1_(p1), p2_(p2) {}
813 R
Run(A1 a1, A2 a2)
override {
815 R result = (object_->*member_)(p1_, p2_, a1, a2);
818 R result = (object_->*member_)(p1_, p2_, a1, a2);
827 template <
class T1,
class T2,
class R,
class P1,
class P2,
class A1,
class A2>
834 obj, member, p1, p2);
838 template <
bool del,
class R,
class T,
class A1,
class A2,
class A3>
852 : object_(object), member_(member) {}
854 R
Run(A1 a1, A2 a2, A3 a3)
override {
856 R result = (object_->*member_)(a1, a2, a3);
859 R result = (object_->*member_)(a1, a2, a3);
868 template <
class T1,
class T2,
class R,
class A1,
class A2,
class A3>
877 template <
bool del,
class R,
class T,
class A1,
class A2,
class A3,
class A4>
890 : object_(object), member_(member) {}
892 virtual R
Run(A1 a1, A2 a2, A3 a3, A4 a4) {
894 R result = (object_->*member_)(a1, a2, a3, a4);
897 R result = (object_->*member_)(a1, a2, a3, a4);
906 template <
class T1,
class T2,
class R,
class A1,
class A2,
class A3,
class A4>
915 #endif // TESS_CALLBACK_SPECIALIZATIONS_H_ void(*)(A1, A2) FunctionSignature
R(T::*)(P1, P2, P3, P4, P5) const MemberSignature
R(T::*)(A1, A2) MemberSignature
TessCallback2< A1, A2 > base
_TessMemberResultCallback_0_4(T *object, MemberSignature member)
_TessFunctionResultCallback_1_1(FunctionSignature function, P1 p1)
R(T::*)(P1, P2, A1, A2) MemberSignature
_TessFunctionResultCallback_0_0(FunctionSignature function)
_ConstTessMemberResultCallback_0_3(const T *object, MemberSignature member)
virtual ~TessResultCallback()=default
virtual ~TessCallback2()=default
TessResultCallback1< R, A1 > base
R Run(A1 a1, A2 a2) override
virtual void Run(A1, A2)=0
virtual ~TessCallback4()=default
TessResultCallback4< R, A1, A2, A3, A4 > base
virtual ~TessResultCallback4()=default
TessCallback2< A1, A2 > base
_TessFunctionResultCallback_0_0(FunctionSignature function)
void(*)(P1, A1) FunctionSignature
virtual ~TessCallback1()=default
void(T::*)(P1, P2, P3, P4, P5, P6) const MemberSignature
virtual ~TessResultCallback3()=default
virtual ~TessResultCallback2()=default
R(T::*)(A1, A2) const MemberSignature
void(T::*)(A1) MemberSignature
R(T::*)() MemberSignature
virtual void Run(A1 a1, A2 a2)
_TessFunctionResultCallback_0_2(FunctionSignature function)
virtual ~TessResultCallback1()=default
TessResultCallback3< R, A1, A2, A3 > base
TessCallback2< A1, A2 > base
_ConstTessMemberResultCallback_0_2(const T *object, MemberSignature member)
_ConstTessMemberResultCallback_6_0(const T *object, MemberSignature member, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
_TessMemberResultCallback_0_0(T *object, MemberSignature member)
TessResultCallback1< R, A1 > base
_TessMemberResultCallback_0_1(T *object, MemberSignature member)
TessResultCallback2< R, A1, A2 > base
_TessMemberResultCallback_0_0(T *object, MemberSignature member)
R Run(A1 a1, A2 a2, A3 a3) override
TessResultCallback2< R, A1, A2 > base
virtual R Run(A1, A2, A3, A4)=0
virtual void Run(A1 a1, A2 a2)
void(*)() FunctionSignature
virtual void Run(A1, A2, A3, A4)=0
TessResultCallback2< R, A1, A2 > base
_TessFunctionResultCallback_0_1(FunctionSignature function)
_TessMemberResultCallback_0_2(T *object, MemberSignature member)
virtual void Run(A1 a1, A2 a2)
_ConstTessMemberResultCallback_5_0(const T *object, MemberSignature member, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
_TessMemberResultCallback_0_0< true, R, T1 >::base * NewTessCallback(T1 *obj, R(T2::*member)())
R(T::*)(A1, A2, A3) const MemberSignature
_ConstTessMemberResultCallback_6_0(const T *object, MemberSignature member, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
void(T::*)(A1, A2) MemberSignature
_TessMemberResultCallback_0_2(T *object, MemberSignature member)
virtual ~TessCallback3()=default
_ConstTessMemberResultCallback_5_0< false, R, T1, P1, P2, P3, P4, P5 >::base * NewPermanentTessCallback(const T1 *obj, R(T2::*member)(P1, P2, P3, P4, P5) const, typename Identity< P1 >::type p1, typename Identity< P2 >::type p2, typename Identity< P3 >::type p3, typename Identity< P4 >::type p4, typename Identity< P5 >::type p5)
R(*)(A1) FunctionSignature
R Run(A1 a1, A2 a2) override
TessResultCallback1< R, A1 > base
_ConstTessMemberResultCallback_0_2(const T *object, MemberSignature member)
R(T::*)(A1, A2, A3, A4) MemberSignature
R(*)(A1, A2) FunctionSignature
virtual R Run(A1 a1, A2 a2, A3 a3, A4 a4)
R(T::*)(A1) MemberSignature
void(T::*)(P1, P2, P3, P4, P5) const MemberSignature
R(*)(P1, A1) FunctionSignature
virtual void Run(A1, A2, A3)=0
_TessFunctionResultCallback_1_1(FunctionSignature function, P1 p1)
R Run(A1 a1, A2 a2) override
void(*)(A1) FunctionSignature
R(T::*)(P1, P2, P3, P4, P5, P6) const MemberSignature
_ConstTessMemberResultCallback_5_0(const T *object, MemberSignature member, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
virtual R Run(A1, A2, A3)=0
_TessMemberResultCallback_2_2(T *object, MemberSignature member, P1 p1, P2 p2)
_TessFunctionResultCallback_0_2(FunctionSignature function)
R Run(A1 a1, A2 a2) override
_TessMemberResultCallback_0_1(T *object, MemberSignature member)
void(T::*)(A1, A2) const MemberSignature
_TessFunctionResultCallback_0_1(FunctionSignature function)
void(T::*)() MemberSignature
TessResultCallback2< R, A1, A2 > base