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,
380 template <
class R,
class A1>
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_