49 #if (defined(_MSC_VER)) && (_MANAGED != 1) && (!defined (_WIN64)) 71 template <
typename R,
typename P1>
79 template <
typename R,
typename P1>
87 template <
typename R,
typename P1>
95 template <
typename R,
typename P1,
typename P2>
104 template <
typename R,
typename P1,
typename P2>
108 using ResultType = R;
113 template <
typename R,
typename P1,
typename P2>
114 struct FunTraits<R(__fastcall *)(P1, P2)>
117 using ResultType = R;
122 template <
typename R,
typename P1,
typename P2,
typename P3>
123 struct FunTraits<R(__cdecl *)(P1, P2, P3)>
126 using ResultType = R;
132 template <
typename R,
typename P1,
typename P2,
typename P3>
133 struct FunTraits<R(__stdcall *)(P1, P2, P3)>
136 using ResultType = R;
142 template <
typename R,
typename P1,
typename P2,
typename P3>
143 struct FunTraits<R(__fastcall *)(P1, P2, P3)>
146 using ResultType = R;
152 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
153 struct FunTraits<R(__cdecl *)(P1, P2, P3, P4)>
156 using ResultType = R;
161 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
163 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
164 struct FunTraits<R(__stdcall *)(P1, P2, P3, P4)>
167 using ResultType = R;
172 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
174 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
175 struct FunTraits<R(__fastcall *)(P1, P2, P3, P4)>
178 using ResultType = R;
183 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
185 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
186 struct FunTraits<R(__cdecl *)(P1, P2, P3, P4, P5)>
189 using ResultType = R;
195 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
197 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
198 struct FunTraits<R(__stdcall *)(P1, P2, P3, P4, P5)>
201 using ResultType = R;
207 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
209 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
210 struct FunTraits<R(__fastcall *)(P1, P2, P3, P4, P5)>
213 using ResultType = R;
219 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
221 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
222 struct FunTraits<R(__cdecl *)(P1, P2, P3, P4, P5, P6)>
225 using ResultType = R;
232 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
234 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
235 struct FunTraits<R(__stdcall *)(P1, P2, P3, P4, P5, P6)>
238 using ResultType = R;
245 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
247 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
248 struct FunTraits<R(__fastcall *)(P1, P2, P3, P4, P5, P6)>
251 using ResultType = R;
258 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
260 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
261 struct FunTraits<R(__cdecl *)(P1, P2, P3, P4, P5, P6, P7)>
264 using ResultType = R;
272 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
274 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
275 struct FunTraits<R(__stdcall *)(P1, P2, P3, P4, P5, P6, P7)>
278 using ResultType = R;
286 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
288 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
289 struct FunTraits<R(__fastcall *)(P1, P2, P3, P4, P5, P6, P7)>
292 using ResultType = R;
300 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
302 template <
class O,
typename R>
303 struct FunTraits<R(__cdecl O::*)() const>
306 using ResultType = R;
309 template <
class O,
typename R>
310 struct FunTraits<R(__stdcall O::*)() const>
313 using ResultType = R;
316 template <
class O,
typename R>
317 struct FunTraits<R(__fastcall O::*)() const>
320 using ResultType = R;
323 template <
class O,
typename R,
typename P1>
324 struct FunTraits<R(__cdecl O::*)(P1) const>
327 using ResultType = R;
331 template <
class O,
typename R,
typename P1>
332 struct FunTraits<R(__stdcall O::*)(P1) const>
335 using ResultType = R;
339 template <
class O,
typename R,
typename P1>
340 struct FunTraits<R(__fastcall O::*)(P1) const>
343 using ResultType = R;
347 template <
class O,
typename R,
typename P1,
typename P2>
348 struct FunTraits<R(__cdecl O::*)(P1, P2) const>
351 using ResultType = R;
356 template <
class O,
typename R,
typename P1,
typename P2>
357 struct FunTraits<R(__stdcall O::*)(P1, P2) const>
360 using ResultType = R;
365 template <
class O,
typename R,
typename P1,
typename P2>
366 struct FunTraits<R(__fastcall O::*)(P1, P2) const>
369 using ResultType = R;
374 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
375 struct FunTraits<R(__cdecl O::*)(P1, P2, P3) const>
378 using ResultType = R;
384 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
385 struct FunTraits<R(__stdcall O::*)(P1, P2, P3) const>
388 using ResultType = R;
394 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
395 struct FunTraits<R(__fastcall O::*)(P1, P2, P3) const>
398 using ResultType = R;
404 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
405 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4) const>
408 using ResultType = R;
413 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
415 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
416 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4) const>
419 using ResultType = R;
424 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
426 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
427 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4) const>
430 using ResultType = R;
435 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
437 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
438 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4, P5) const>
441 using ResultType = R;
447 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
449 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
450 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4, P5) const>
453 using ResultType = R;
459 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
461 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
462 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4, P5) const>
465 using ResultType = R;
471 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
473 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
474 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4, P5, P6) const>
477 using ResultType = R;
484 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
486 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
487 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4, P5, P6) const>
490 using ResultType = R;
497 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
499 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
500 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4, P5, P6) const>
503 using ResultType = R;
510 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
512 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
513 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4, P5, P6, P7) const>
516 using ResultType = R;
524 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
526 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
527 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4, P5, P6, P7) const>
530 using ResultType = R;
538 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
540 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
541 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4, P5, P6, P7) const>
544 using ResultType = R;
552 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
554 template <
class O,
typename R>
558 using ResultType = R;
561 template <
class O,
typename R>
565 using ResultType = R;
568 template <
class O,
typename R>
572 using ResultType = R;
575 template <
class O,
typename R,
typename P1>
579 using ResultType = R;
583 template <
class O,
typename R,
typename P1>
587 using ResultType = R;
591 template <
class O,
typename R,
typename P1>
595 using ResultType = R;
599 template <
class O,
typename R,
typename P1,
typename P2>
600 struct FunTraits<R(__cdecl O::*)(P1, P2)>
603 using ResultType = R;
608 template <
class O,
typename R,
typename P1,
typename P2>
609 struct FunTraits<R(__stdcall O::*)(P1, P2)>
612 using ResultType = R;
617 template <
class O,
typename R,
typename P1,
typename P2>
618 struct FunTraits<R(__fastcall O::*)(P1, P2)>
621 using ResultType = R;
626 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
627 struct FunTraits<R(__cdecl O::*)(P1, P2, P3)>
630 using ResultType = R;
636 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
637 struct FunTraits<R(__stdcall O::*)(P1, P2, P3)>
640 using ResultType = R;
646 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
647 struct FunTraits<R(__fastcall O::*)(P1, P2, P3)>
650 using ResultType = R;
656 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
657 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4)>
660 using ResultType = R;
665 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
667 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
668 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4)>
671 using ResultType = R;
676 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
678 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
679 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4)>
682 using ResultType = R;
687 using TypeListType =
TYPELIST_4(P1, P2, P3, P4);
689 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
690 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4, P5)>
693 using ResultType = R;
699 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
701 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
702 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4, P5)>
705 using ResultType = R;
711 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
713 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
714 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4, P5)>
717 using ResultType = R;
723 using TypeListType =
TYPELIST_5(P1, P2, P3, P4, P5);
725 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
726 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4, P5, P6)>
729 using ResultType = R;
736 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
738 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
739 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4, P5, P6)>
742 using ResultType = R;
749 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
751 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
752 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4, P5, P6)>
755 using ResultType = R;
762 using TypeListType =
TYPELIST_6(P1, P2, P3, P4, P5, P6);
764 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
765 struct FunTraits<R(__cdecl O::*)(P1, P2, P3, P4, P5, P6, P7)>
768 using ResultType = R;
776 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
778 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
779 struct FunTraits<R(__stdcall O::*)(P1, P2, P3, P4, P5, P6, P7)>
782 using ResultType = R;
790 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
792 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
793 struct FunTraits<R(__fastcall O::*)(P1, P2, P3, P4, P5, P6, P7)>
796 using ResultType = R;
804 using TypeListType =
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7);
806 #else // #if (defined(_MSC_VER)) && (_MANAGED != 1) && (!defined (_WIN64)) 807 template <
typename R>
814 template <
typename R,
typename P1>
822 template <
typename R,
typename P1,
typename P2>
831 template <
typename R,
typename P1,
typename P2,
typename P3>
841 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
852 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
864 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
877 template <
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
891 #endif //#if (defined(_MSC_VER)) && (_MANAGED != 1) && (!defined (_WIN64)) 893 template <
class O,
typename R>
900 template <
class O,
typename R,
typename P1>
908 template <
class O,
typename R,
typename P1,
typename P2>
917 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
927 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
938 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
950 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
963 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
977 template <
class O,
typename R>
984 template <
class O,
typename R,
typename P1>
992 template <
class O,
typename R,
typename P1,
typename P2>
1001 template <
class O,
typename R,
typename P1,
typename P2,
typename P3>
1011 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
1022 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
1034 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
1047 template <
class O,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
TYPELIST_1(P1) TypeListType
TYPELIST_4(P1, P2, P3, P4) TypeListType
TYPELIST_6(P1, P2, P3, P4, P5, P6) TypeListType
TYPELIST_1(P1) TypeListType
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7) TypeListType
TYPELIST_6(P1, P2, P3, P4, P5, P6) TypeListType
TYPELIST_3(P1, P2, P3) TypeListType
#define TYPELIST_3(T1, T2, T3)
TYPELIST_1(P1) TypeListType
#define TYPELIST_5(T1, T2, T3, T4, T5)
TYPELIST_5(P1, P2, P3, P4, P5) TypeListType
TYPELIST_3(P1, P2, P3) TypeListType
TYPELIST_6(P1, P2, P3, P4, P5, P6) TypeListType
TYPELIST_7(P1, P2, P3, P4, P5, P6, P6) TypeListType
#define TYPELIST_4(T1, T2, T3, T4)
TYPELIST_7(P1, P2, P3, P4, P5, P6, P7) TypeListType
TYPELIST_2(P1, P2) TypeListType
TYPELIST_2(P1, P2) TypeListType
TYPELIST_3(P1, P2, P3) TypeListType
#define TYPELIST_7(T1, T2, T3, T4, T5, T6, T7)
#define TYPELIST_6(T1, T2, T3, T4, T5, T6)
TYPELIST_5(P1, P2, P3, P4, P5) TypeListType
Namespace that holds various utility classes for the engine.
TYPELIST_4(P1, P2, P3, P4) TypeListType
TYPELIST_4(P1, P2, P3, P4) TypeListType
TYPELIST_2(P1, P2) TypeListType
#define TYPELIST_2(T1, T2)
TYPELIST_5(P1, P2, P3, P4, P5) TypeListType