mirror of
				https://github.com/VCMP-SqMod/SqMod.git
				synced 2025-10-30 22:07:18 +01:00 
			
		
		
		
	Significantly reduce the amount of code required to forward calls from scripts to global native functions by using variadic templates.
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -151,335 +151,26 @@ public: | ||||
|     } | ||||
| }; | ||||
|  | ||||
|  | ||||
| // | ||||
| // Global Overloaded Function Resolvers | ||||
| // | ||||
|  | ||||
| // Arg Count 0 | ||||
| template <class R> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)()) { | ||||
|     return &SqGlobal<R>::template Func0<true>; | ||||
| // Global Overloaded Function Resolver | ||||
| template <class R,class... A> SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A...)) noexcept { | ||||
|     return SqGlobal<R>::template GetProxy<2, true, A...>(); | ||||
| } | ||||
|  | ||||
| template <class R> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)()) { | ||||
|     return &SqGlobal<R&>::template Func0<true>; | ||||
| // Global Overloaded Function Resolver | ||||
| template <class R,class... A> SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A...)) noexcept { | ||||
|     return SqGlobal<R&>::template GetProxy<2, true, A...>(); | ||||
| } | ||||
|  | ||||
| // Arg Count 1 | ||||
| template <class R, class A1> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1)) { | ||||
|     return &SqGlobal<R>::template Func1<A1, 2, true>; | ||||
| // Member Global Overloaded Function Resolver | ||||
| template <class R,class T,class... A> SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(T, A...)) noexcept { | ||||
|     return SqGlobal<R>::template GetProxy<1, true, T, A...>(); | ||||
| } | ||||
|  | ||||
| template <class R, class A1> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1)) { | ||||
|     return &SqGlobal<R&>::template Func1<A1, 2, true>; | ||||
| // Member Global Overloaded Function Resolver | ||||
| template <class R,class T,class... A> SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(T, A...)) noexcept { | ||||
|     return SqGlobal<R&>::template GetProxy<1, true, T, A...>(); | ||||
| } | ||||
|  | ||||
| // Arg Count 2 | ||||
| template <class R, class A1, class A2> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2)) { | ||||
|     return &SqGlobal<R>::template Func2<A1, A2, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2)) { | ||||
|     return &SqGlobal<R&>::template Func2<A1, A2, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 3 | ||||
| template <class R, class A1, class A2, class A3> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3)) { | ||||
|     return &SqGlobal<R>::template Func3<A1, A2, A3, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3)) { | ||||
|     return &SqGlobal<R&>::template Func3<A1, A2, A3, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 4 | ||||
| template <class R, class A1, class A2, class A3, class A4> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4)) { | ||||
|     return &SqGlobal<R>::template Func4<A1, A2, A3, A4, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4)) { | ||||
|     return &SqGlobal<R&>::template Func4<A1, A2, A3, A4, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 5 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5)) { | ||||
|     return &SqGlobal<R>::template Func5<A1, A2, A3, A4, A5, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5)) { | ||||
|     return &SqGlobal<R&>::template Func5<A1, A2, A3, A4, A5, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 6 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6)) { | ||||
|     return &SqGlobal<R>::template Func6<A1, A2, A3, A4, A5, A6, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6)) { | ||||
|     return &SqGlobal<R&>::template Func6<A1, A2, A3, A4, A5, A6, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 7 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7)) { | ||||
|     return &SqGlobal<R>::template Func7<A1, A2, A3, A4, A5, A6, A7, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7)) { | ||||
|     return &SqGlobal<R&>::template Func7<A1, A2, A3, A4, A5, A6, A7, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 8 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8)) { | ||||
|     return &SqGlobal<R>::template Func8<A1, A2, A3, A4, A5, A6, A7, A8, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8)) { | ||||
|     return &SqGlobal<R&>::template Func8<A1, A2, A3, A4, A5, A6, A7, A8, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 9 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9)) { | ||||
|     return &SqGlobal<R>::template Func9<A1, A2, A3, A4, A5, A6, A7, A8, A9, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9)) { | ||||
|     return &SqGlobal<R&>::template Func9<A1, A2, A3, A4, A5, A6, A7, A8, A9, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 10 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)) { | ||||
|     return &SqGlobal<R>::template Func10<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)) { | ||||
|     return &SqGlobal<R&>::template Func10<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 11 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)) { | ||||
|     return &SqGlobal<R>::template Func11<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)) { | ||||
|     return &SqGlobal<R&>::template Func11<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 12 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)) { | ||||
|     return &SqGlobal<R>::template Func12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)) { | ||||
|     return &SqGlobal<R&>::template Func12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 13 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)) { | ||||
|     return &SqGlobal<R>::template Func13<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, 2, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)) { | ||||
|     return &SqGlobal<R&>::template Func13<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, 2, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 14 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)) { | ||||
|     return &SqGlobal<R>::template Func14<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, 2, true>; | ||||
| } | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14> | ||||
| SQFUNCTION SqGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)) { | ||||
|     return &SqGlobal<R&>::template Func14<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, 2, true>; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Member Global Overloaded Function Resolvers | ||||
| // | ||||
|  | ||||
| // Arg Count 1 | ||||
| template <class R, class A1> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1)) { | ||||
|     return &SqGlobal<R>::template Func1<A1, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1)) { | ||||
|     return &SqGlobal<R&>::template Func1<A1, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 2 | ||||
| template <class R, class A1, class A2> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2)) { | ||||
|     return &SqGlobal<R>::template Func2<A1, A2, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2)) { | ||||
|     return &SqGlobal<R&>::template Func2<A1, A2, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 3 | ||||
| template <class R, class A1, class A2, class A3> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3)) { | ||||
|     return &SqGlobal<R>::template Func3<A1, A2, A3, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3)) { | ||||
|     return &SqGlobal<R&>::template Func3<A1, A2, A3, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 4 | ||||
| template <class R, class A1, class A2, class A3, class A4> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4)) { | ||||
|     return &SqGlobal<R>::template Func4<A1, A2, A3, A4, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4)) { | ||||
|     return &SqGlobal<R&>::template Func4<A1, A2, A3, A4, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 5 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5)) { | ||||
|     return &SqGlobal<R>::template Func5<A1, A2, A3, A4, A5, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5)) { | ||||
|     return &SqGlobal<R&>::template Func5<A1, A2, A3, A4, A5, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 6 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6)) { | ||||
|     return &SqGlobal<R>::template Func6<A1, A2, A3, A4, A5, A6, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6)) { | ||||
|     return &SqGlobal<R&>::template Func6<A1, A2, A3, A4, A5, A6, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 7 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7)) { | ||||
|     return &SqGlobal<R>::template Func7<A1, A2, A3, A4, A5, A6, A7, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7)) { | ||||
|     return &SqGlobal<R&>::template Func7<A1, A2, A3, A4, A5, A6, A7, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 8 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8)) { | ||||
|     return &SqGlobal<R>::template Func8<A1, A2, A3, A4, A5, A6, A7, A8, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8)) { | ||||
|     return &SqGlobal<R&>::template Func8<A1, A2, A3, A4, A5, A6, A7, A8, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 9 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9)) { | ||||
|     return &SqGlobal<R>::template Func9<A1, A2, A3, A4, A5, A6, A7, A8, A9, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9)) { | ||||
|     return &SqGlobal<R&>::template Func9<A1, A2, A3, A4, A5, A6, A7, A8, A9, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 10 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)) { | ||||
|     return &SqGlobal<R>::template Func10<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)) { | ||||
|     return &SqGlobal<R&>::template Func10<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 11 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)) { | ||||
|     return &SqGlobal<R>::template Func11<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)) { | ||||
|     return &SqGlobal<R&>::template Func11<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 12 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)) { | ||||
|     return &SqGlobal<R>::template Func12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)) { | ||||
|     return &SqGlobal<R&>::template Func12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 13 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)) { | ||||
|     return &SqGlobal<R>::template Func13<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)) { | ||||
|     return &SqGlobal<R&>::template Func13<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, 1, true>; | ||||
| } | ||||
|  | ||||
| // Arg Count 14 | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)) { | ||||
|     return &SqGlobal<R>::template Func14<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, 1, true>; | ||||
| } | ||||
|  | ||||
| template <class R, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12, class A13, class A14> | ||||
| SQFUNCTION SqMemberGlobalOverloadedFunc(R& (* /*method*/)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)) { | ||||
|     return &SqGlobal<R&>::template Func14<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, 1, true>; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Member Overloaded Function Resolvers | ||||
| // | ||||
|   | ||||
		Reference in New Issue
	
	Block a user