From aba037329a842a0c59c4310245e674fd2745410e Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Sat, 4 May 2019 11:05:50 +0200 Subject: [PATCH] tesscallback: Remove more unused code Signed-off-by: Stefan Weil --- src/ccutil/tesscallback.h | 3147 +------------------------------------ 1 file changed, 17 insertions(+), 3130 deletions(-) diff --git a/src/ccutil/tesscallback.h b/src/ccutil/tesscallback.h index 23d298eaeb..3530d85186 100644 --- a/src/ccutil/tesscallback.h +++ b/src/ccutil/tesscallback.h @@ -4580,3086 +4580,28 @@ NewPermanentTessCallback(const T1* obj, } #endif -template -class _TessMemberResultCallback_3_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using MemberSignature = R (T::*)(P1, P2, P3, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessMemberResultCallback_3_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, a1, a2); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_3_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using MemberSignature = void (T::*)(P1, P2, P3, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessMemberResultCallback_3_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, a1, a2); - } else { - (object_->*member_)(p1_, p2_, p3_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_3_2::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3) { - return new _TessMemberResultCallback_3_2( - obj, member, p1, p2, p3); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_3_2::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3) { - return new _TessMemberResultCallback_3_2( - obj, member, p1, p2, p3); -} -#endif - -template -class _TessFunctionResultCallback_3_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using FunctionSignature = R (*)(P1, P2, P3, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessFunctionResultCallback_3_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3) - : function_(function), p1_(p1), p2_(p2), p3_(p3) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, a1, a2); - return result; - } - R result = (*function_)(p1_, p2_, p3_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_3_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using FunctionSignature = void (*)(P1, P2, P3, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessFunctionResultCallback_3_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3) - : function_(function), p1_(p1), p2_(p2), p3_(p3) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (*function_)(p1_, p2_, p3_, a1, a2); - } else { - (*function_)(p1_, p2_, p3_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline - typename _TessFunctionResultCallback_3_2::base* - NewTessCallback(R (*function)(P1, P2, P3, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3) { - return new _TessFunctionResultCallback_3_2( - function, p1, p2, p3); -} - -template -inline typename _TessFunctionResultCallback_3_2::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3) { - return new _TessFunctionResultCallback_3_2( - function, p1, p2, p3); -} - -template -class _ConstTessMemberResultCallback_4_2 - : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, A1, A2) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _ConstTessMemberResultCallback_4_2(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_4_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, A1, A2) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _ConstTessMemberResultCallback_4_2(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_4_2::base* -NewTessCallback(const T1* obj, R (T2::*member)(P1, P2, P3, P4, A1, A2) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _ConstTessMemberResultCallback_4_2(obj, member, p1, p2, p3, - p4); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_4_2::base* -NewPermanentTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, A1, A2) const, - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _ConstTessMemberResultCallback_4_2(obj, member, p1, p2, p3, - p4); -} -#endif - -template -class _TessMemberResultCallback_4_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessMemberResultCallback_4_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_4_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessMemberResultCallback_4_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_4_2::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessMemberResultCallback_4_2( - obj, member, p1, p2, p3, p4); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_4_2::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessMemberResultCallback_4_2(obj, member, p1, p2, p3, p4); -} -#endif - -template -class _TessFunctionResultCallback_4_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using FunctionSignature = R (*)(P1, P2, P3, P4, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessFunctionResultCallback_4_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, p4_, a1, a2); - return result; - } - R result = (*function_)(p1_, p2_, p3_, p4_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_4_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using FunctionSignature = void (*)(P1, P2, P3, P4, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessFunctionResultCallback_4_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (*function_)(p1_, p2_, p3_, p4_, a1, a2); - } else { - (*function_)(p1_, p2_, p3_, p4_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_4_2::base* -NewTessCallback(R (*function)(P1, P2, P3, P4, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessFunctionResultCallback_4_2( - function, p1, p2, p3, p4); -} - -template -inline typename _TessFunctionResultCallback_4_2::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, P4, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessFunctionResultCallback_4_2( - function, p1, p2, p3, p4); -} - -template -class _ConstTessMemberResultCallback_5_2 - : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, A1, A2) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _ConstTessMemberResultCallback_5_2(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_5_2 : public TessCallback2 { - public: - typedef TessCallback2 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, A1, A2) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _ConstTessMemberResultCallback_5_2(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_5_2::base* -NewTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, P5, A1, A2) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5) { - return new _ConstTessMemberResultCallback_5_2(obj, member, p1, p2, p3, - p4, p5); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_5_2::base* -NewPermanentTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, P5, A1, A2) const, - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5) { - return new _ConstTessMemberResultCallback_5_2(obj, member, p1, p2, - p3, p4, p5); -} -#endif - -template -class _TessMemberResultCallback_5_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessMemberResultCallback_5_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_5_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessMemberResultCallback_5_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_5_2::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5) { - return new _TessMemberResultCallback_5_2(obj, member, p1, p2, p3, p4, p5); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_5_2::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5) { - return new _TessMemberResultCallback_5_2(obj, member, p1, p2, p3, p4, p5); -} -#endif - -template -class _TessFunctionResultCallback_5_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using FunctionSignature = R (*)(P1, P2, P3, P4, P5, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessFunctionResultCallback_5_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4), p5_(p5) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - return result; - } - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_5_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using FunctionSignature = void (*)(P1, P2, P3, P4, P5, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessFunctionResultCallback_5_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4), p5_(p5) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - } else { - (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_5_2::base* -NewTessCallback(R (*function)(P1, P2, P3, P4, P5, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5) { - return new _TessFunctionResultCallback_5_2(function, p1, p2, p3, p4, p5); -} - -template -inline typename _TessFunctionResultCallback_5_2::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, P4, P5, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5) { - return new _TessFunctionResultCallback_5_2(function, p1, p2, p3, p4, p5); -} - -template -class _ConstTessMemberResultCallback_6_2 - : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, P6, A1, A2) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _ConstTessMemberResultCallback_6_2(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_6_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, P6, A1, A2) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _ConstTessMemberResultCallback_6_2(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_6_2::base* -NewTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _ConstTessMemberResultCallback_6_2(obj, member, p1, p2, - p3, p4, p5, p6); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_6_2::base* -NewPermanentTessCallback( - const T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, typename Identity::type p6) { - return new _ConstTessMemberResultCallback_6_2( - obj, member, p1, p2, p3, p4, p5, p6); -} -#endif - -template -class _TessMemberResultCallback_6_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, P6, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessMemberResultCallback_6_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_6_2 : public TessCallback2 { - public: - typedef TessCallback2 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, P6, A1, A2); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessMemberResultCallback_6_2(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_6_2::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _TessMemberResultCallback_6_2(obj, member, p1, p2, p3, p4, - p5, p6); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_6_2::base* -NewPermanentTessCallback( - T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, typename Identity::type p6) { - return new _TessMemberResultCallback_6_2(obj, member, p1, p2, p3, p4, - p5, p6); -} -#endif - -template -class _TessFunctionResultCallback_6_2 : public TessResultCallback2 { - public: - typedef TessResultCallback2 base; - using FunctionSignature = R (*)(P1, P2, P3, P4, P5, P6, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessFunctionResultCallback_6_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : function_(function), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual R Run(A1 a1, A2 a2) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - return result; - } - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_6_2 - : public TessCallback2 { - public: - typedef TessCallback2 base; - using FunctionSignature = void (*)(P1, P2, P3, P4, P5, P6, A1, A2); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessFunctionResultCallback_6_2(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : function_(function), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual void Run(A1 a1, A2 a2) { - if (!del) { - (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - } else { - (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_6_2::base* -NewTessCallback(R (*function)(P1, P2, P3, P4, P5, P6, A1, A2), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _TessFunctionResultCallback_6_2(function, p1, p2, p3, p4, - p5, p6); -} - -template -inline typename _TessFunctionResultCallback_6_2::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, P4, P5, P6, A1, A2), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _TessFunctionResultCallback_6_2(function, p1, p2, p3, p4, - p5, p6); -} - -template -class _ConstTessMemberResultCallback_0_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - - public: - inline _ConstTessMemberResultCallback_0_3(const T* object, - MemberSignature member) - : object_(object), member_(member) {} - - R Run(A1 a1, A2 a2, A3 a3) override { - if (!del) { - R result = (object_->*member_)(a1, a2, a3); - return result; - } - R result = (object_->*member_)(a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_0_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - - public: - inline _ConstTessMemberResultCallback_0_3(const T* object, - MemberSignature member) - : object_(object), member_(member) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(a1, a2, a3); - } else { - (object_->*member_)(a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline - typename _ConstTessMemberResultCallback_0_3::base* - NewTessCallback(const T1* obj, R (T2::*member)(A1, A2, A3) const) { - return new _ConstTessMemberResultCallback_0_3( - obj, member); -} -#endif - -#ifndef SWIG -template -inline - typename _ConstTessMemberResultCallback_0_3::base* - NewPermanentTessCallback(const T1* obj, R (T2::*member)(A1, A2, A3) const) { - return new _ConstTessMemberResultCallback_0_3( - obj, member); -} -#endif - -template -class _TessMemberResultCallback_0_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - - public: - inline _TessMemberResultCallback_0_3(T* object, MemberSignature member) - : object_(object), member_(member) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(a1, a2, a3); - return result; - } - R result = (object_->*member_)(a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_0_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - - public: - inline _TessMemberResultCallback_0_3(T* object, MemberSignature member) - : object_(object), member_(member) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(a1, a2, a3); - } else { - (object_->*member_)(a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_0_3::base* -NewTessCallback(T1* obj, R (T2::*member)(A1, A2, A3)) { - return new _TessMemberResultCallback_0_3(obj, - member); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_0_3::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(A1, A2, A3)) { - return new _TessMemberResultCallback_0_3(obj, - member); -} -#endif - -template -class _TessFunctionResultCallback_0_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using FunctionSignature = R (*)(A1, A2, A3); - - private: - FunctionSignature function_; - - public: - inline explicit _TessFunctionResultCallback_0_3(FunctionSignature function) - : function_(function) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (*function_)(a1, a2, a3); - return result; - } - R result = (*function_)(a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_0_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = void (*)(A1, A2, A3); - - private: - FunctionSignature function_; - - public: - inline explicit _TessFunctionResultCallback_0_3(FunctionSignature function) - : function_(function) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (*function_)(a1, a2, a3); - } else { - (*function_)(a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_0_3::base* -NewTessCallback(R (*function)(A1, A2, A3)) { - return new _TessFunctionResultCallback_0_3(function); -} - -template -inline typename _TessFunctionResultCallback_0_3::base* -NewPermanentTessCallback(R (*function)(A1, A2, A3)) { - return new _TessFunctionResultCallback_0_3(function); -} - -template -class _ConstTessMemberResultCallback_1_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, A1, A2, A3) const; - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - - public: - inline _ConstTessMemberResultCallback_1_3(T* object, MemberSignature member, - P1 p1) - : object_(object), member_(member), p1_(p1) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_1_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, A1, A2, A3) const; - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - - public: - inline _ConstTessMemberResultCallback_1_3(T* object, MemberSignature member, - P1 p1) - : object_(object), member_(member), p1_(p1) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, a1, a2, a3); - } else { - (object_->*member_)(p1_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_1_3::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, A1, A2, A3), - typename Identity::type p1) { - return new _ConstTessMemberResultCallback_1_3( - obj, member, p1); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_1_3::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, A1, A2, A3), - typename Identity::type p1) { - return new _ConstTessMemberResultCallback_1_3( - obj, member, p1); -} -#endif - -template -class _TessMemberResultCallback_1_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - - public: - inline _TessMemberResultCallback_1_3(T* object, MemberSignature member, P1 p1) - : object_(object), member_(member), p1_(p1) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_1_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - - public: - inline _TessMemberResultCallback_1_3(T* object, MemberSignature member, P1 p1) - : object_(object), member_(member), p1_(p1) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, a1, a2, a3); - } else { - (object_->*member_)(p1_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline - typename _TessMemberResultCallback_1_3::base* - NewTessCallback(T1* obj, R (T2::*member)(P1, A1, A2, A3), - typename Identity::type p1) { - return new _TessMemberResultCallback_1_3( - obj, member, p1); -} -#endif - -#ifndef SWIG -template -inline - typename _TessMemberResultCallback_1_3::base* - NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, A1, A2, A3), - typename Identity::type p1) { - return new _TessMemberResultCallback_1_3( - obj, member, p1); -} -#endif - -template -class _TessFunctionResultCallback_1_3 : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = R (*)(P1, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - - public: - inline _TessFunctionResultCallback_1_3(FunctionSignature function, P1 p1) - : function_(function), p1_(p1) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (*function_)(p1_, a1, a2, a3); - return result; - } - R result = (*function_)(p1_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_1_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = void (*)(P1, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - - public: - inline _TessFunctionResultCallback_1_3(FunctionSignature function, P1 p1) - : function_(function), p1_(p1) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (*function_)(p1_, a1, a2, a3); - } else { - (*function_)(p1_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_1_3::base* -NewTessCallback(R (*function)(P1, A1, A2, A3), typename Identity::type p1) { - return new _TessFunctionResultCallback_1_3(function, - p1); -} - -template -inline typename _TessFunctionResultCallback_1_3::base* -NewPermanentTessCallback(R (*function)(P1, A1, A2, A3), - typename Identity::type p1) { - return new _TessFunctionResultCallback_1_3(function, - p1); -} - -template -class _ConstTessMemberResultCallback_2_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - - public: - inline _ConstTessMemberResultCallback_2_3(const T* object, - MemberSignature member, P1 p1, - P2 p2) - : object_(object), member_(member), p1_(p1), p2_(p2) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_2_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - - public: - inline _ConstTessMemberResultCallback_2_3(const T* object, - MemberSignature member, P1 p1, - P2 p2) - : object_(object), member_(member), p1_(p1), p2_(p2) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_2_3::base* -NewTessCallback(const T1* obj, R (T2::*member)(P1, P2, A1, A2, A3) const, - typename Identity::type p1, - typename Identity::type p2) { - return new _ConstTessMemberResultCallback_2_3(obj, member, p1, p2); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_2_3::base* -NewPermanentTessCallback(const T1* obj, - R (T2::*member)(P1, P2, A1, A2, A3) const, - typename Identity::type p1, - typename Identity::type p2) { - return new _ConstTessMemberResultCallback_2_3(obj, member, p1, p2); -} -#endif - -template -class _TessMemberResultCallback_2_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - - public: - inline _TessMemberResultCallback_2_3(T* object, MemberSignature member, P1 p1, - P2 p2) - : object_(object), member_(member), p1_(p1), p2_(p2) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_2_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - - public: - inline _TessMemberResultCallback_2_3(T* object, MemberSignature member, P1 p1, - P2 p2) - : object_(object), member_(member), p1_(p1), p2_(p2) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_2_3::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2) { - return new _TessMemberResultCallback_2_3( - obj, member, p1, p2); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_2_3::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, P2, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2) { - return new _TessMemberResultCallback_2_3( - obj, member, p1, p2); -} -#endif - -template -class _TessFunctionResultCallback_2_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using FunctionSignature = R (*)(P1, P2, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - - public: - inline _TessFunctionResultCallback_2_3(FunctionSignature function, P1 p1, - P2 p2) - : function_(function), p1_(p1), p2_(p2) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (*function_)(p1_, p2_, a1, a2, a3); - return result; - } - R result = (*function_)(p1_, p2_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_2_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = void (*)(P1, P2, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - - public: - inline _TessFunctionResultCallback_2_3(FunctionSignature function, P1 p1, - P2 p2) - : function_(function), p1_(p1), p2_(p2) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (*function_)(p1_, p2_, a1, a2, a3); - } else { - (*function_)(p1_, p2_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline - typename _TessFunctionResultCallback_2_3::base* - NewTessCallback(R (*function)(P1, P2, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2) { - return new _TessFunctionResultCallback_2_3( - function, p1, p2); -} - -template -inline typename _TessFunctionResultCallback_2_3::base* -NewPermanentTessCallback(R (*function)(P1, P2, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2) { - return new _TessFunctionResultCallback_2_3( - function, p1, p2); -} - -template -class _ConstTessMemberResultCallback_3_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _ConstTessMemberResultCallback_3_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_3_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _ConstTessMemberResultCallback_3_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_3_3::base* -NewTessCallback(const T1* obj, R (T2::*member)(P1, P2, P3, A1, A2, A3) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3) { - return new _ConstTessMemberResultCallback_3_3(obj, member, p1, p2, p3); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_3_3::base* -NewPermanentTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, A1, A2, A3) const, - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3) { - return new _ConstTessMemberResultCallback_3_3(obj, member, p1, p2, - p3); -} -#endif - -template -class _TessMemberResultCallback_3_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessMemberResultCallback_3_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_3_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessMemberResultCallback_3_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_3_3::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3) { - return new _TessMemberResultCallback_3_3( - obj, member, p1, p2, p3); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_3_3::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3) { - return new _TessMemberResultCallback_3_3(obj, member, p1, p2, p3); -} -#endif - -template -class _TessFunctionResultCallback_3_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using FunctionSignature = R (*)(P1, P2, P3, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessFunctionResultCallback_3_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3) - : function_(function), p1_(p1), p2_(p2), p3_(p3) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, a1, a2, a3); - return result; - } - R result = (*function_)(p1_, p2_, p3_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_3_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = void (*)(P1, P2, P3, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - - public: - inline _TessFunctionResultCallback_3_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3) - : function_(function), p1_(p1), p2_(p2), p3_(p3) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (*function_)(p1_, p2_, p3_, a1, a2, a3); - } else { - (*function_)(p1_, p2_, p3_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_3_3::base* -NewTessCallback(R (*function)(P1, P2, P3, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3) { - return new _TessFunctionResultCallback_3_3( - function, p1, p2, p3); -} - -template -inline typename _TessFunctionResultCallback_3_3::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3) { - return new _TessFunctionResultCallback_3_3( - function, p1, p2, p3); -} - -template -class _ConstTessMemberResultCallback_4_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _ConstTessMemberResultCallback_4_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_4_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _ConstTessMemberResultCallback_4_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_4_3::base* -NewTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, A1, A2, A3) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _ConstTessMemberResultCallback_4_3(obj, member, p1, p2, p3, - p4); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_4_3::base* -NewPermanentTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, A1, A2, A3) const, - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _ConstTessMemberResultCallback_4_3(obj, member, p1, p2, - p3, p4); -} -#endif - -template -class _TessMemberResultCallback_4_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessMemberResultCallback_4_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_4_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessMemberResultCallback_4_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4) - : object_(object), member_(member), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_4_3::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessMemberResultCallback_4_3(obj, member, p1, p2, p3, p4); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_4_3::base* -NewPermanentTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessMemberResultCallback_4_3(obj, member, p1, p2, p3, p4); -} -#endif - -template -class _TessFunctionResultCallback_4_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using FunctionSignature = R (*)(P1, P2, P3, P4, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessFunctionResultCallback_4_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, p4_, a1, a2, a3); - return result; - } - R result = (*function_)(p1_, p2_, p3_, p4_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_4_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = void (*)(P1, P2, P3, P4, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - - public: - inline _TessFunctionResultCallback_4_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (*function_)(p1_, p2_, p3_, p4_, a1, a2, a3); - } else { - (*function_)(p1_, p2_, p3_, p4_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_4_3::base* -NewTessCallback(R (*function)(P1, P2, P3, P4, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessFunctionResultCallback_4_3(function, p1, p2, p3, p4); -} - -template -inline typename _TessFunctionResultCallback_4_3::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, P4, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4) { - return new _TessFunctionResultCallback_4_3(function, p1, p2, p3, p4); -} - -template -class _ConstTessMemberResultCallback_5_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _ConstTessMemberResultCallback_5_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_5_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _ConstTessMemberResultCallback_5_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_5_3::base* -NewTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, P5, A1, A2, A3) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5) { - return new _ConstTessMemberResultCallback_5_3(obj, member, p1, p2, - p3, p4, p5); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_5_3::base* -NewPermanentTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, P5, A1, A2, A3) const, - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5) { - return new _ConstTessMemberResultCallback_5_3(obj, member, p1, - p2, p3, p4, p5); -} -#endif - -template -class _TessMemberResultCallback_5_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessMemberResultCallback_5_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_5_3 : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessMemberResultCallback_5_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_5_3::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5) { - return new _TessMemberResultCallback_5_3(obj, member, p1, p2, p3, p4, - p5); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_5_3::base* -NewPermanentTessCallback(T1* obj, - R (T2::*member)(P1, P2, P3, P4, P5, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5) { - return new _TessMemberResultCallback_5_3(obj, member, p1, p2, p3, p4, - p5); -} -#endif - -template -class _TessFunctionResultCallback_5_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using FunctionSignature = R (*)(P1, P2, P3, P4, P5, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessFunctionResultCallback_5_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4), p5_(p5) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - return result; - } - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_5_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = void (*)(P1, P2, P3, P4, P5, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - - public: - inline _TessFunctionResultCallback_5_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5) - : function_(function), p1_(p1), p2_(p2), p3_(p3), p4_(p4), p5_(p5) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - } else { - (*function_)(p1_, p2_, p3_, p4_, p5_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_5_3::base* -NewTessCallback(R (*function)(P1, P2, P3, P4, P5, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5) { - return new _TessFunctionResultCallback_5_3(function, p1, p2, p3, p4, - p5); -} - -template -inline typename _TessFunctionResultCallback_5_3::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, P4, P5, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5) { - return new _TessFunctionResultCallback_5_3(function, p1, p2, p3, p4, - p5); -} - -template -class _ConstTessMemberResultCallback_6_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, P6, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _ConstTessMemberResultCallback_6_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _ConstTessMemberResultCallback_6_3 - : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, P6, A1, A2, A3) const; - - private: - const T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _ConstTessMemberResultCallback_6_3(const T* object, - MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_6_3::base* -NewTessCallback(const T1* obj, - R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2, A3) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _ConstTessMemberResultCallback_6_3( - obj, member, p1, p2, p3, p4, p5, p6); -} -#endif - -#ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_6_3::base* -NewPermanentTessCallback( - const T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2, A3) const, - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, typename Identity::type p6) { - return new _ConstTessMemberResultCallback_6_3( - obj, member, p1, p2, p3, p4, p5, p6); -} -#endif - -template -class _TessMemberResultCallback_6_3 - : public TessResultCallback3 { - public: - typedef TessResultCallback3 base; - using MemberSignature = R (T::*)(P1, P2, P3, P4, P5, P6, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessMemberResultCallback_6_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - return result; - } - R result = (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessMemberResultCallback_6_3 : public TessCallback3 { - public: - typedef TessCallback3 base; - using MemberSignature = void (T::*)(P1, P2, P3, P4, P5, P6, A1, A2, A3); - - private: - T* object_; - MemberSignature member_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessMemberResultCallback_6_3(T* object, MemberSignature member, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : object_(object), - member_(member), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - } else { - (object_->*member_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_6_3::base* -NewTessCallback(T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _TessMemberResultCallback_6_3(obj, member, p1, p2, p3, - p4, p5, p6); -} -#endif - -#ifndef SWIG -template -inline typename _TessMemberResultCallback_6_3::base* -NewPermanentTessCallback( - T1* obj, R (T2::*member)(P1, P2, P3, P4, P5, P6, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, typename Identity::type p6) { - return new _TessMemberResultCallback_6_3(obj, member, p1, p2, p3, - p4, p5, p6); -} -#endif - -template -class _TessFunctionResultCallback_6_3 +template +class _ConstTessMemberResultCallback_0_3 : public TessResultCallback3 { public: typedef TessResultCallback3 base; - using FunctionSignature = R (*)(P1, P2, P3, P4, P5, P6, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessFunctionResultCallback_6_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : function_(function), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual R Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - return result; - } - R result = (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - return result; - } -}; - -template -class _TessFunctionResultCallback_6_3 : public TessCallback3 { - public: - typedef TessCallback3 base; - using FunctionSignature = void (*)(P1, P2, P3, P4, P5, P6, A1, A2, A3); - - private: - FunctionSignature function_; - typename remove_reference::type p1_; - typename remove_reference::type p2_; - typename remove_reference::type p3_; - typename remove_reference::type p4_; - typename remove_reference::type p5_; - typename remove_reference::type p6_; - - public: - inline _TessFunctionResultCallback_6_3(FunctionSignature function, P1 p1, - P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) - : function_(function), - p1_(p1), - p2_(p2), - p3_(p3), - p4_(p4), - p5_(p5), - p6_(p6) {} - - virtual void Run(A1 a1, A2 a2, A3 a3) { - if (!del) { - (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - } else { - (*function_)(p1_, p2_, p3_, p4_, p5_, p6_, a1, a2, a3); - // zero out the pointer to ensure segfault if used again - function_ = nullptr; - delete this; - } - } -}; - -template -inline typename _TessFunctionResultCallback_6_3::base* -NewTessCallback(R (*function)(P1, P2, P3, P4, P5, P6, A1, A2, A3), - typename Identity::type p1, typename Identity::type p2, - typename Identity::type p3, typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _TessFunctionResultCallback_6_3(function, p1, p2, p3, - p4, p5, p6); -} - -template -inline typename _TessFunctionResultCallback_6_3::base* -NewPermanentTessCallback(R (*function)(P1, P2, P3, P4, P5, P6, A1, A2, A3), - typename Identity::type p1, - typename Identity::type p2, - typename Identity::type p3, - typename Identity::type p4, - typename Identity::type p5, - typename Identity::type p6) { - return new _TessFunctionResultCallback_6_3(function, p1, p2, p3, - p4, p5, p6); -} - -template -class _ConstTessMemberResultCallback_0_4 - : public TessResultCallback4 { - public: - typedef TessResultCallback4 base; - using MemberSignature = R (T::*)(A1, A2, A3, A4) const; + using MemberSignature = R (T::*)(A1, A2, A3) const; private: const T* object_; MemberSignature member_; public: - inline _ConstTessMemberResultCallback_0_4(const T* object, + inline _ConstTessMemberResultCallback_0_3(const T* object, MemberSignature member) : object_(object), member_(member) {} - virtual R Run(A1 a1, A2 a2, A3 a3, A4 a4) { + R Run(A1 a1, A2 a2, A3 a3) override { if (!del) { - R result = (object_->*member_)(a1, a2, a3, a4); + R result = (object_->*member_)(a1, a2, a3); return result; } - R result = (object_->*member_)(a1, a2, a3, a4); + R result = (object_->*member_)(a1, a2, a3); // zero out the pointer to ensure segfault if used again member_ = nullptr; delete this; @@ -7667,50 +4609,22 @@ class _ConstTessMemberResultCallback_0_4 } }; -template -class _ConstTessMemberResultCallback_0_4 - : public TessCallback4 { - public: - typedef TessCallback4 base; - using MemberSignature = void (T::*)(A1, A2, A3, A4) const; - - private: - const T* object_; - MemberSignature member_; - - public: - inline _ConstTessMemberResultCallback_0_4(const T* object, - MemberSignature member) - : object_(object), member_(member) {} - - virtual void Run(A1 a1, A2 a2, A3 a3, A4 a4) { - if (!del) { - (object_->*member_)(a1, a2, a3, a4); - } else { - (object_->*member_)(a1, a2, a3, a4); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - #ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_0_4::base* -NewTessCallback(const T1* obj, R (T2::*member)(A1, A2, A3, A4) const) { - return new _ConstTessMemberResultCallback_0_4( +template +inline + typename _ConstTessMemberResultCallback_0_3::base* + NewTessCallback(const T1* obj, R (T2::*member)(A1, A2, A3) const) { + return new _ConstTessMemberResultCallback_0_3( obj, member); } #endif #ifndef SWIG -template -inline typename _ConstTessMemberResultCallback_0_4::base* -NewPermanentTessCallback(const T1* obj, R (T2::*member)(A1, A2, A3, A4) const) { - return new _ConstTessMemberResultCallback_0_4( +template +inline + typename _ConstTessMemberResultCallback_0_3::base* + NewPermanentTessCallback(const T1* obj, R (T2::*member)(A1, A2, A3) const) { + return new _ConstTessMemberResultCallback_0_3( obj, member); } #endif @@ -7743,33 +4657,6 @@ class _TessMemberResultCallback_0_4 } }; -template -class _TessMemberResultCallback_0_4 - : public TessCallback4 { - public: - typedef TessCallback4 base; - using MemberSignature = void (T::*)(A1, A2, A3, A4); - - private: - T* object_; - MemberSignature member_; - - public: - inline _TessMemberResultCallback_0_4(T* object, MemberSignature member) - : object_(object), member_(member) {} - - virtual void Run(A1 a1, A2 a2, A3 a3, A4 a4) { - if (!del) { - (object_->*member_)(a1, a2, a3, a4); - } else { - (object_->*member_)(a1, a2, a3, a4); - // zero out the pointer to ensure segfault if used again - member_ = nullptr; - delete this; - } - } -}; - #ifndef SWIG template inline