29 #if !defined(_SCRAT_MEMBER_METHODS_H_)
30 #define _SCRAT_MEMBER_METHODS_H_
33 #include "sqratTypes.h"
44 template <
class C,
class R>
46 #if !defined (SCRAT_NO_ERROR_CHECKING)
47 static const SQChar STATICCALLERROR[] ;
51 template <
bool overloaded >
52 static SQInteger Func0(HSQUIRRELVM vm) {
54 #if !defined (SCRAT_NO_ERROR_CHECKING)
55 if (!overloaded && sq_gettop(vm) != 2) {
56 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
62 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
63 M method = *methodPtr;
65 C* ptr = ClassType<C>::GetInstance(vm, 1);
67 #if !defined (SCRAT_NO_ERROR_CHECKING)
68 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
71 R ret = (ptr->*method)();
73 #if !defined (SCRAT_NO_ERROR_CHECKING)
83 template <
bool overloaded >
84 static SQInteger Func0C(HSQUIRRELVM vm) {
86 #if !defined (SCRAT_NO_ERROR_CHECKING)
87 if (!overloaded && sq_gettop(vm) != 2) {
88 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
91 typedef R (C::*M)()
const;
93 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
94 M method = *methodPtr;
96 C* ptr = ClassType<C>::GetInstance(vm, 1);
98 #if !defined (SCRAT_NO_ERROR_CHECKING)
99 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
102 R ret = (ptr->*method)();
104 #if !defined (SCRAT_NO_ERROR_CHECKING)
115 template <
class A1,
bool overloaded >
116 static SQInteger Func1(HSQUIRRELVM vm) {
118 #if !defined (SCRAT_NO_ERROR_CHECKING)
119 if (!overloaded && sq_gettop(vm) != 3) {
120 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
123 typedef R (C::*M)(A1);
125 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
126 M method = *methodPtr;
128 C* ptr = ClassType<C>::GetInstance(vm, 1);
130 #if !defined (SCRAT_NO_ERROR_CHECKING)
131 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
136 #if !defined (SCRAT_NO_ERROR_CHECKING)
145 R ret = (ptr->*method)(
149 #if !defined (SCRAT_NO_ERROR_CHECKING)
159 template <
class A1,
bool overloaded >
160 static SQInteger Func1C(HSQUIRRELVM vm) {
162 #if !defined (SCRAT_NO_ERROR_CHECKING)
163 if (!overloaded && sq_gettop(vm) != 3) {
164 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
167 typedef R (C::*M)(A1)
const;
169 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
170 M method = *methodPtr;
172 C* ptr = ClassType<C>::GetInstance(vm, 1);
174 #if !defined (SCRAT_NO_ERROR_CHECKING)
175 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
180 #if !defined (SCRAT_NO_ERROR_CHECKING)
189 R ret = (ptr->*method)(
193 #if !defined (SCRAT_NO_ERROR_CHECKING)
204 template <
class A1,
class A2,
bool overloaded >
205 static SQInteger Func2(HSQUIRRELVM vm) {
207 #if !defined (SCRAT_NO_ERROR_CHECKING)
208 if (!overloaded && sq_gettop(vm) != 4) {
209 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
212 typedef R (C::*M)(A1, A2);
214 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
215 M method = *methodPtr;
217 C* ptr = ClassType<C>::GetInstance(vm, 1);
219 #if !defined (SCRAT_NO_ERROR_CHECKING)
220 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
226 #if !defined (SCRAT_NO_ERROR_CHECKING)
235 R ret = (ptr->*method)(
240 #if !defined (SCRAT_NO_ERROR_CHECKING)
250 template <
class A1,
class A2,
bool overloaded >
251 static SQInteger Func2C(HSQUIRRELVM vm) {
253 #if !defined (SCRAT_NO_ERROR_CHECKING)
254 if (!overloaded && sq_gettop(vm) != 4) {
255 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
258 typedef R (C::*M)(A1, A2)
const;
260 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
261 M method = *methodPtr;
263 C* ptr = ClassType<C>::GetInstance(vm, 1);
265 #if !defined (SCRAT_NO_ERROR_CHECKING)
266 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
272 #if !defined (SCRAT_NO_ERROR_CHECKING)
281 R ret = (ptr->*method)(
286 #if !defined (SCRAT_NO_ERROR_CHECKING)
297 template <
class A1,
class A2,
class A3,
bool overloaded >
298 static SQInteger Func3(HSQUIRRELVM vm) {
300 #if !defined (SCRAT_NO_ERROR_CHECKING)
301 if (!overloaded && sq_gettop(vm) != 5) {
302 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
305 typedef R (C::*M)(A1, A2, A3);
307 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
308 M method = *methodPtr;
310 C* ptr = ClassType<C>::GetInstance(vm, 1);
312 #if !defined (SCRAT_NO_ERROR_CHECKING)
313 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
320 #if !defined (SCRAT_NO_ERROR_CHECKING)
329 R ret = (ptr->*method)(
335 #if !defined (SCRAT_NO_ERROR_CHECKING)
345 template <
class A1,
class A2,
class A3,
bool overloaded >
346 static SQInteger Func3C(HSQUIRRELVM vm) {
348 #if !defined (SCRAT_NO_ERROR_CHECKING)
349 if (!overloaded && sq_gettop(vm) != 5) {
350 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
353 typedef R (C::*M)(A1, A2, A3)
const;
355 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
356 M method = *methodPtr;
358 C* ptr = ClassType<C>::GetInstance(vm, 1);
360 #if !defined (SCRAT_NO_ERROR_CHECKING)
361 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
368 #if !defined (SCRAT_NO_ERROR_CHECKING)
377 R ret = (ptr->*method)(
383 #if !defined (SCRAT_NO_ERROR_CHECKING)
394 template <
class A1,
class A2,
class A3,
class A4,
bool overloaded >
395 static SQInteger Func4(HSQUIRRELVM vm) {
397 #if !defined (SCRAT_NO_ERROR_CHECKING)
398 if (!overloaded && sq_gettop(vm) != 6) {
399 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
402 typedef R (C::*M)(A1, A2, A3, A4);
404 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
405 M method = *methodPtr;
407 C* ptr = ClassType<C>::GetInstance(vm, 1);
409 #if !defined (SCRAT_NO_ERROR_CHECKING)
410 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
418 #if !defined (SCRAT_NO_ERROR_CHECKING)
427 R ret = (ptr->*method)(
434 #if !defined (SCRAT_NO_ERROR_CHECKING)
444 template <
class A1,
class A2,
class A3,
class A4,
bool overloaded >
445 static SQInteger Func4C(HSQUIRRELVM vm) {
447 #if !defined (SCRAT_NO_ERROR_CHECKING)
448 if (!overloaded && sq_gettop(vm) != 6) {
449 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
452 typedef R (C::*M)(A1, A2, A3, A4)
const;
454 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
455 M method = *methodPtr;
457 C* ptr = ClassType<C>::GetInstance(vm, 1);
459 #if !defined (SCRAT_NO_ERROR_CHECKING)
460 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
468 #if !defined (SCRAT_NO_ERROR_CHECKING)
477 R ret = (ptr->*method)(
484 #if !defined (SCRAT_NO_ERROR_CHECKING)
495 template <
class A1,
class A2,
class A3,
class A4,
class A5,
bool overloaded >
496 static SQInteger Func5(HSQUIRRELVM vm) {
498 #if !defined (SCRAT_NO_ERROR_CHECKING)
499 if (!overloaded && sq_gettop(vm) != 7) {
500 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
503 typedef R (C::*M)(A1, A2, A3, A4, A5);
505 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
506 M method = *methodPtr;
508 C* ptr = ClassType<C>::GetInstance(vm, 1);
510 #if !defined (SCRAT_NO_ERROR_CHECKING)
511 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
520 #if !defined (SCRAT_NO_ERROR_CHECKING)
529 R ret = (ptr->*method)(
537 #if !defined (SCRAT_NO_ERROR_CHECKING)
547 template <
class A1,
class A2,
class A3,
class A4,
class A5,
bool overloaded >
548 static SQInteger Func5C(HSQUIRRELVM vm) {
550 #if !defined (SCRAT_NO_ERROR_CHECKING)
551 if (!overloaded && sq_gettop(vm) != 7) {
552 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
555 typedef R (C::*M)(A1, A2, A3, A4, A5)
const;
557 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
558 M method = *methodPtr;
560 C* ptr = ClassType<C>::GetInstance(vm, 1);
562 #if !defined (SCRAT_NO_ERROR_CHECKING)
563 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
572 #if !defined (SCRAT_NO_ERROR_CHECKING)
581 R ret = (ptr->*method)(
589 #if !defined (SCRAT_NO_ERROR_CHECKING)
600 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
bool overloaded >
601 static SQInteger Func6(HSQUIRRELVM vm) {
603 #if !defined (SCRAT_NO_ERROR_CHECKING)
604 if (!overloaded && sq_gettop(vm) != 8) {
605 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
608 typedef R (C::*M)(A1, A2, A3, A4, A5, A6);
610 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
611 M method = *methodPtr;
613 C* ptr = ClassType<C>::GetInstance(vm, 1);
615 #if !defined (SCRAT_NO_ERROR_CHECKING)
616 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
626 #if !defined (SCRAT_NO_ERROR_CHECKING)
635 R ret = (ptr->*method)(
644 #if !defined (SCRAT_NO_ERROR_CHECKING)
654 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
bool overloaded >
655 static SQInteger Func6C(HSQUIRRELVM vm) {
657 #if !defined (SCRAT_NO_ERROR_CHECKING)
658 if (!overloaded && sq_gettop(vm) != 8) {
659 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
662 typedef R (C::*M)(A1, A2, A3, A4, A5, A6)
const;
664 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
665 M method = *methodPtr;
667 C* ptr = ClassType<C>::GetInstance(vm, 1);
669 #if !defined (SCRAT_NO_ERROR_CHECKING)
670 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
680 #if !defined (SCRAT_NO_ERROR_CHECKING)
689 R ret = (ptr->*method)(
698 #if !defined (SCRAT_NO_ERROR_CHECKING)
709 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
bool overloaded >
710 static SQInteger Func7(HSQUIRRELVM vm) {
712 #if !defined (SCRAT_NO_ERROR_CHECKING)
713 if (!overloaded && sq_gettop(vm) != 9) {
714 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
717 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7);
719 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
720 M method = *methodPtr;
722 C* ptr = ClassType<C>::GetInstance(vm, 1);
724 #if !defined (SCRAT_NO_ERROR_CHECKING)
725 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
736 #if !defined (SCRAT_NO_ERROR_CHECKING)
745 R ret = (ptr->*method)(
755 #if !defined (SCRAT_NO_ERROR_CHECKING)
765 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
bool overloaded >
766 static SQInteger Func7C(HSQUIRRELVM vm) {
768 #if !defined (SCRAT_NO_ERROR_CHECKING)
769 if (!overloaded && sq_gettop(vm) != 9) {
770 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
773 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7)
const;
775 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
776 M method = *methodPtr;
778 C* ptr = ClassType<C>::GetInstance(vm, 1);
780 #if !defined (SCRAT_NO_ERROR_CHECKING)
781 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
792 #if !defined (SCRAT_NO_ERROR_CHECKING)
801 R ret = (ptr->*method)(
811 #if !defined (SCRAT_NO_ERROR_CHECKING)
822 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
bool overloaded >
823 static SQInteger Func8(HSQUIRRELVM vm) {
825 #if !defined (SCRAT_NO_ERROR_CHECKING)
826 if (!overloaded && sq_gettop(vm) != 10) {
827 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
830 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8);
832 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
833 M method = *methodPtr;
835 C* ptr = ClassType<C>::GetInstance(vm, 1);
837 #if !defined (SCRAT_NO_ERROR_CHECKING)
838 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
850 #if !defined (SCRAT_NO_ERROR_CHECKING)
859 R ret = (ptr->*method)(
870 #if !defined (SCRAT_NO_ERROR_CHECKING)
880 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
bool overloaded >
881 static SQInteger Func8C(HSQUIRRELVM vm) {
883 #if !defined (SCRAT_NO_ERROR_CHECKING)
884 if (!overloaded && sq_gettop(vm) != 10) {
885 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
888 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8)
const;
890 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
891 M method = *methodPtr;
893 C* ptr = ClassType<C>::GetInstance(vm, 1);
895 #if !defined (SCRAT_NO_ERROR_CHECKING)
896 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
908 #if !defined (SCRAT_NO_ERROR_CHECKING)
917 R ret = (ptr->*method)(
928 #if !defined (SCRAT_NO_ERROR_CHECKING)
939 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
bool overloaded >
940 static SQInteger Func9(HSQUIRRELVM vm) {
942 #if !defined (SCRAT_NO_ERROR_CHECKING)
943 if (!overloaded && sq_gettop(vm) != 11) {
944 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
947 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9);
949 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
950 M method = *methodPtr;
952 C* ptr = ClassType<C>::GetInstance(vm, 1);
954 #if !defined (SCRAT_NO_ERROR_CHECKING)
955 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
968 #if !defined (SCRAT_NO_ERROR_CHECKING)
977 R ret = (ptr->*method)(
989 #if !defined (SCRAT_NO_ERROR_CHECKING)
999 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
bool overloaded >
1000 static SQInteger Func9C(HSQUIRRELVM vm) {
1002 #if !defined (SCRAT_NO_ERROR_CHECKING)
1003 if (!overloaded && sq_gettop(vm) != 11) {
1004 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1007 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9)
const;
1009 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1010 M method = *methodPtr;
1012 C* ptr = ClassType<C>::GetInstance(vm, 1);
1014 #if !defined (SCRAT_NO_ERROR_CHECKING)
1015 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1028 #if !defined (SCRAT_NO_ERROR_CHECKING)
1037 R ret = (ptr->*method)(
1049 #if !defined (SCRAT_NO_ERROR_CHECKING)
1061 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
bool overloaded >
1062 static SQInteger Func10(HSQUIRRELVM vm) {
1064 #if !defined (SCRAT_NO_ERROR_CHECKING)
1065 if (!overloaded && sq_gettop(vm) != 12) {
1066 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1069 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10);
1071 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1072 M method = *methodPtr;
1074 C* ptr = ClassType<C>::GetInstance(vm, 1);
1076 #if !defined (SCRAT_NO_ERROR_CHECKING)
1077 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1089 Var<A10> a10(vm, 11);
1091 #if !defined (SCRAT_NO_ERROR_CHECKING)
1100 R ret = (ptr->*method)(
1113 #if !defined (SCRAT_NO_ERROR_CHECKING)
1123 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
bool overloaded >
1124 static SQInteger Func10C(HSQUIRRELVM vm) {
1126 #if !defined (SCRAT_NO_ERROR_CHECKING)
1127 if (!overloaded && sq_gettop(vm) != 12) {
1128 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1131 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
const;
1133 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1134 M method = *methodPtr;
1136 C* ptr = ClassType<C>::GetInstance(vm, 1);
1138 #if !defined (SCRAT_NO_ERROR_CHECKING)
1139 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1151 Var<A10> a10(vm, 11);
1153 #if !defined (SCRAT_NO_ERROR_CHECKING)
1162 R ret = (ptr->*method)(
1175 #if !defined (SCRAT_NO_ERROR_CHECKING)
1187 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
bool overloaded >
1188 static SQInteger Func11(HSQUIRRELVM vm) {
1190 #if !defined (SCRAT_NO_ERROR_CHECKING)
1191 if (!overloaded && sq_gettop(vm) != 13) {
1192 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1195 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11);
1197 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1198 M method = *methodPtr;
1200 C* ptr = ClassType<C>::GetInstance(vm, 1);
1202 #if !defined (SCRAT_NO_ERROR_CHECKING)
1203 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1215 Var<A10> a10(vm, 11);
1216 Var<A11> a11(vm, 12);
1218 #if !defined (SCRAT_NO_ERROR_CHECKING)
1227 R ret = (ptr->*method)(
1241 #if !defined (SCRAT_NO_ERROR_CHECKING)
1251 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
bool overloaded >
1252 static SQInteger Func11C(HSQUIRRELVM vm) {
1254 #if !defined (SCRAT_NO_ERROR_CHECKING)
1255 if (!overloaded && sq_gettop(vm) != 13) {
1256 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1259 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
const;
1261 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1262 M method = *methodPtr;
1264 C* ptr = ClassType<C>::GetInstance(vm, 1);
1266 #if !defined (SCRAT_NO_ERROR_CHECKING)
1267 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1279 Var<A10> a10(vm, 11);
1280 Var<A11> a11(vm, 12);
1282 #if !defined (SCRAT_NO_ERROR_CHECKING)
1291 R ret = (ptr->*method)(
1305 #if !defined (SCRAT_NO_ERROR_CHECKING)
1317 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
bool overloaded >
1318 static SQInteger Func12(HSQUIRRELVM vm) {
1320 #if !defined (SCRAT_NO_ERROR_CHECKING)
1321 if (!overloaded && sq_gettop(vm) != 14) {
1322 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1325 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12);
1327 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1328 M method = *methodPtr;
1330 C* ptr = ClassType<C>::GetInstance(vm, 1);
1332 #if !defined (SCRAT_NO_ERROR_CHECKING)
1333 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1345 Var<A10> a10(vm, 11);
1346 Var<A11> a11(vm, 12);
1347 Var<A12> a12(vm, 13);
1349 #if !defined (SCRAT_NO_ERROR_CHECKING)
1358 R ret = (ptr->*method)(
1373 #if !defined (SCRAT_NO_ERROR_CHECKING)
1383 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
bool overloaded >
1384 static SQInteger Func12C(HSQUIRRELVM vm) {
1386 #if !defined (SCRAT_NO_ERROR_CHECKING)
1387 if (!overloaded && sq_gettop(vm) != 14) {
1388 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1391 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
const;
1393 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1394 M method = *methodPtr;
1396 C* ptr = ClassType<C>::GetInstance(vm, 1);
1398 #if !defined (SCRAT_NO_ERROR_CHECKING)
1399 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1411 Var<A10> a10(vm, 11);
1412 Var<A11> a11(vm, 12);
1413 Var<A12> a12(vm, 13);
1415 #if !defined (SCRAT_NO_ERROR_CHECKING)
1424 R ret = (ptr->*method)(
1439 #if !defined (SCRAT_NO_ERROR_CHECKING)
1450 template <
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,
bool overloaded >
1451 static SQInteger Func13(HSQUIRRELVM vm) {
1453 #if !defined (SCRAT_NO_ERROR_CHECKING)
1454 if (!overloaded && sq_gettop(vm) != 15) {
1455 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1458 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13);
1460 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1461 M method = *methodPtr;
1463 C* ptr = ClassType<C>::GetInstance(vm, 1);
1465 #if !defined (SCRAT_NO_ERROR_CHECKING)
1466 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1478 Var<A10> a10(vm, 11);
1479 Var<A11> a11(vm, 12);
1480 Var<A12> a12(vm, 13);
1481 Var<A13> a13(vm, 14);
1483 #if !defined (SCRAT_NO_ERROR_CHECKING)
1492 R ret = (ptr->*method)(
1508 #if !defined (SCRAT_NO_ERROR_CHECKING)
1518 template <
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,
bool overloaded >
1519 static SQInteger Func13C(HSQUIRRELVM vm) {
1521 #if !defined (SCRAT_NO_ERROR_CHECKING)
1522 if (!overloaded && sq_gettop(vm) != 15) {
1523 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1526 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
const;
1528 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1529 M method = *methodPtr;
1531 C* ptr = ClassType<C>::GetInstance(vm, 1);
1533 #if !defined (SCRAT_NO_ERROR_CHECKING)
1534 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1546 Var<A10> a10(vm, 11);
1547 Var<A11> a11(vm, 12);
1548 Var<A12> a12(vm, 13);
1549 Var<A13> a13(vm, 14);
1551 #if !defined (SCRAT_NO_ERROR_CHECKING)
1560 R ret = (ptr->*method)(
1576 #if !defined (SCRAT_NO_ERROR_CHECKING)
1587 template <
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,
bool overloaded >
1588 static SQInteger Func14(HSQUIRRELVM vm) {
1590 #if !defined (SCRAT_NO_ERROR_CHECKING)
1591 if (!overloaded && sq_gettop(vm) != 16) {
1592 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1595 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14);
1597 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1598 M method = *methodPtr;
1600 C* ptr = ClassType<C>::GetInstance(vm, 1);
1602 #if !defined (SCRAT_NO_ERROR_CHECKING)
1603 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1615 Var<A10> a10(vm, 11);
1616 Var<A11> a11(vm, 12);
1617 Var<A12> a12(vm, 13);
1618 Var<A13> a13(vm, 14);
1619 Var<A14> a14(vm, 15);
1621 #if !defined (SCRAT_NO_ERROR_CHECKING)
1630 R ret = (ptr->*method)(
1647 #if !defined (SCRAT_NO_ERROR_CHECKING)
1657 template <
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,
bool overloaded >
1658 static SQInteger Func14C(HSQUIRRELVM vm) {
1660 #if !defined (SCRAT_NO_ERROR_CHECKING)
1661 if (!overloaded && sq_gettop(vm) != 16) {
1662 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1665 typedef R (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
const;
1667 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1668 M method = *methodPtr;
1670 C* ptr = ClassType<C>::GetInstance(vm, 1);
1672 #if !defined (SCRAT_NO_ERROR_CHECKING)
1673 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1685 Var<A10> a10(vm, 11);
1686 Var<A11> a11(vm, 12);
1687 Var<A12> a12(vm, 13);
1688 Var<A13> a13(vm, 14);
1689 Var<A14> a14(vm, 15);
1691 #if !defined (SCRAT_NO_ERROR_CHECKING)
1700 R ret = (ptr->*method)(
1717 #if !defined (SCRAT_NO_ERROR_CHECKING)
1733 template <
class C,
class R>
1734 class SqMember<C, R&> {
1735 #if !defined (SCRAT_NO_ERROR_CHECKING)
1736 static const SQChar STATICCALLERROR[] ;
1740 template <
bool overloaded >
1741 static SQInteger Func0(HSQUIRRELVM vm) {
1743 #if !defined (SCRAT_NO_ERROR_CHECKING)
1744 if (!overloaded && sq_gettop(vm) != 2) {
1745 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1748 typedef R & (C::*M)();
1750 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1751 M method = *methodPtr;
1753 C* ptr = ClassType<C>::GetInstance(vm, 1);
1755 #if !defined (SCRAT_NO_ERROR_CHECKING)
1756 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1759 R & ret = (ptr->*method)();
1761 #if !defined (SCRAT_NO_ERROR_CHECKING)
1771 template <
bool overloaded >
1772 static SQInteger Func0C(HSQUIRRELVM vm) {
1774 #if !defined (SCRAT_NO_ERROR_CHECKING)
1775 if (!overloaded && sq_gettop(vm) != 2) {
1776 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1779 typedef R & (C::*M)()
const;
1781 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1782 M method = *methodPtr;
1784 C* ptr = ClassType<C>::GetInstance(vm, 1);
1786 #if !defined (SCRAT_NO_ERROR_CHECKING)
1787 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1790 R & ret = (ptr->*method)();
1792 #if !defined (SCRAT_NO_ERROR_CHECKING)
1803 template <
class A1,
bool overloaded >
1804 static SQInteger Func1(HSQUIRRELVM vm) {
1806 #if !defined (SCRAT_NO_ERROR_CHECKING)
1807 if (!overloaded && sq_gettop(vm) != 3) {
1808 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1811 typedef R & (C::*M)(A1);
1813 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1814 M method = *methodPtr;
1816 C* ptr = ClassType<C>::GetInstance(vm, 1);
1818 #if !defined (SCRAT_NO_ERROR_CHECKING)
1819 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1824 #if !defined (SCRAT_NO_ERROR_CHECKING)
1833 R & ret = (ptr->*method)(
1837 #if !defined (SCRAT_NO_ERROR_CHECKING)
1847 template <
class A1,
bool overloaded >
1848 static SQInteger Func1C(HSQUIRRELVM vm) {
1850 #if !defined (SCRAT_NO_ERROR_CHECKING)
1851 if (!overloaded && sq_gettop(vm) != 3) {
1852 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1855 typedef R & (C::*M)(A1)
const;
1857 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1858 M method = *methodPtr;
1860 C* ptr = ClassType<C>::GetInstance(vm, 1);
1862 #if !defined (SCRAT_NO_ERROR_CHECKING)
1863 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1868 #if !defined (SCRAT_NO_ERROR_CHECKING)
1877 R & ret = (ptr->*method)(
1881 #if !defined (SCRAT_NO_ERROR_CHECKING)
1892 template <
class A1,
class A2,
bool overloaded >
1893 static SQInteger Func2(HSQUIRRELVM vm) {
1895 #if !defined (SCRAT_NO_ERROR_CHECKING)
1896 if (!overloaded && sq_gettop(vm) != 4) {
1897 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1900 typedef R & (C::*M)(A1, A2);
1902 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1903 M method = *methodPtr;
1905 C* ptr = ClassType<C>::GetInstance(vm, 1);
1907 #if !defined (SCRAT_NO_ERROR_CHECKING)
1908 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1914 #if !defined (SCRAT_NO_ERROR_CHECKING)
1923 R & ret = (ptr->*method)(
1928 #if !defined (SCRAT_NO_ERROR_CHECKING)
1938 template <
class A1,
class A2,
bool overloaded >
1939 static SQInteger Func2C(HSQUIRRELVM vm) {
1941 #if !defined (SCRAT_NO_ERROR_CHECKING)
1942 if (!overloaded && sq_gettop(vm) != 4) {
1943 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1946 typedef R & (C::*M)(A1, A2)
const;
1948 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1949 M method = *methodPtr;
1951 C* ptr = ClassType<C>::GetInstance(vm, 1);
1953 #if !defined (SCRAT_NO_ERROR_CHECKING)
1954 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
1960 #if !defined (SCRAT_NO_ERROR_CHECKING)
1969 R & ret = (ptr->*method)(
1979 template <
class A1,
class A2,
class A3,
bool overloaded >
1980 static SQInteger Func3(HSQUIRRELVM vm) {
1982 #if !defined (SCRAT_NO_ERROR_CHECKING)
1983 if (!overloaded && sq_gettop(vm) != 5) {
1984 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
1987 typedef R & (C::*M)(A1, A2, A3);
1989 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
1990 M method = *methodPtr;
1992 C* ptr = ClassType<C>::GetInstance(vm, 1);
1994 #if !defined (SCRAT_NO_ERROR_CHECKING)
1995 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2002 #if !defined (SCRAT_NO_ERROR_CHECKING)
2011 R & ret = (ptr->*method)(
2017 #if !defined (SCRAT_NO_ERROR_CHECKING)
2027 template <
class A1,
class A2,
class A3,
bool overloaded >
2028 static SQInteger Func3C(HSQUIRRELVM vm) {
2030 #if !defined (SCRAT_NO_ERROR_CHECKING)
2031 if (!overloaded && sq_gettop(vm) != 5) {
2032 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2035 typedef R & (C::*M)(A1, A2, A3)
const;
2037 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2038 M method = *methodPtr;
2040 C* ptr = ClassType<C>::GetInstance(vm, 1);
2042 #if !defined (SCRAT_NO_ERROR_CHECKING)
2043 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2050 #if !defined (SCRAT_NO_ERROR_CHECKING)
2059 R & ret = (ptr->*method)(
2065 #if !defined (SCRAT_NO_ERROR_CHECKING)
2076 template <
class A1,
class A2,
class A3,
class A4,
bool overloaded >
2077 static SQInteger Func4(HSQUIRRELVM vm) {
2079 #if !defined (SCRAT_NO_ERROR_CHECKING)
2080 if (!overloaded && sq_gettop(vm) != 6) {
2081 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2084 typedef R & (C::*M)(A1, A2, A3, A4);
2086 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2087 M method = *methodPtr;
2089 C* ptr = ClassType<C>::GetInstance(vm, 1);
2091 #if !defined (SCRAT_NO_ERROR_CHECKING)
2092 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2100 #if !defined (SCRAT_NO_ERROR_CHECKING)
2109 R & ret = (ptr->*method)(
2116 #if !defined (SCRAT_NO_ERROR_CHECKING)
2126 template <
class A1,
class A2,
class A3,
class A4,
bool overloaded >
2127 static SQInteger Func4C(HSQUIRRELVM vm) {
2129 #if !defined (SCRAT_NO_ERROR_CHECKING)
2130 if (!overloaded && sq_gettop(vm) != 6) {
2131 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2134 typedef R & (C::*M)(A1, A2, A3, A4)
const;
2136 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2137 M method = *methodPtr;
2139 C* ptr = ClassType<C>::GetInstance(vm, 1);
2141 #if !defined (SCRAT_NO_ERROR_CHECKING)
2142 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2150 #if !defined (SCRAT_NO_ERROR_CHECKING)
2159 R & ret = (ptr->*method)(
2166 #if !defined (SCRAT_NO_ERROR_CHECKING)
2177 template <
class A1,
class A2,
class A3,
class A4,
class A5,
bool overloaded >
2178 static SQInteger Func5(HSQUIRRELVM vm) {
2180 #if !defined (SCRAT_NO_ERROR_CHECKING)
2181 if (!overloaded && sq_gettop(vm) != 7) {
2182 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2185 typedef R & (C::*M)(A1, A2, A3, A4, A5);
2187 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2188 M method = *methodPtr;
2190 C* ptr = ClassType<C>::GetInstance(vm, 1);
2192 #if !defined (SCRAT_NO_ERROR_CHECKING)
2193 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2202 #if !defined (SCRAT_NO_ERROR_CHECKING)
2211 R & ret = (ptr->*method)(
2219 #if !defined (SCRAT_NO_ERROR_CHECKING)
2229 template <
class A1,
class A2,
class A3,
class A4,
class A5,
bool overloaded >
2230 static SQInteger Func5C(HSQUIRRELVM vm) {
2232 #if !defined (SCRAT_NO_ERROR_CHECKING)
2233 if (!overloaded && sq_gettop(vm) != 7) {
2234 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2237 typedef R & (C::*M)(A1, A2, A3, A4, A5)
const;
2239 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2240 M method = *methodPtr;
2242 C* ptr = ClassType<C>::GetInstance(vm, 1);
2244 #if !defined (SCRAT_NO_ERROR_CHECKING)
2245 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2254 #if !defined (SCRAT_NO_ERROR_CHECKING)
2263 R & ret = (ptr->*method)(
2271 #if !defined (SCRAT_NO_ERROR_CHECKING)
2282 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
bool overloaded >
2283 static SQInteger Func6(HSQUIRRELVM vm) {
2285 #if !defined (SCRAT_NO_ERROR_CHECKING)
2286 if (!overloaded && sq_gettop(vm) != 8) {
2287 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2290 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6);
2292 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2293 M method = *methodPtr;
2295 C* ptr = ClassType<C>::GetInstance(vm, 1);
2297 #if !defined (SCRAT_NO_ERROR_CHECKING)
2298 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2308 #if !defined (SCRAT_NO_ERROR_CHECKING)
2317 R & ret = (ptr->*method)(
2326 #if !defined (SCRAT_NO_ERROR_CHECKING)
2336 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
bool overloaded >
2337 static SQInteger Func6C(HSQUIRRELVM vm) {
2339 #if !defined (SCRAT_NO_ERROR_CHECKING)
2340 if (!overloaded && sq_gettop(vm) != 8) {
2341 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2344 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6)
const;
2346 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2347 M method = *methodPtr;
2349 C* ptr = ClassType<C>::GetInstance(vm, 1);
2351 #if !defined (SCRAT_NO_ERROR_CHECKING)
2352 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2362 #if !defined (SCRAT_NO_ERROR_CHECKING)
2371 R & ret = (ptr->*method)(
2380 #if !defined (SCRAT_NO_ERROR_CHECKING)
2391 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
bool overloaded >
2392 static SQInteger Func7(HSQUIRRELVM vm) {
2394 #if !defined (SCRAT_NO_ERROR_CHECKING)
2395 if (!overloaded && sq_gettop(vm) != 9) {
2396 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2399 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7);
2401 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2402 M method = *methodPtr;
2404 C* ptr = ClassType<C>::GetInstance(vm, 1);
2406 #if !defined (SCRAT_NO_ERROR_CHECKING)
2407 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2418 #if !defined (SCRAT_NO_ERROR_CHECKING)
2427 R & ret = (ptr->*method)(
2437 #if !defined (SCRAT_NO_ERROR_CHECKING)
2447 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
bool overloaded >
2448 static SQInteger Func7C(HSQUIRRELVM vm) {
2450 #if !defined (SCRAT_NO_ERROR_CHECKING)
2451 if (!overloaded && sq_gettop(vm) != 9) {
2452 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2455 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7)
const;
2457 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2458 M method = *methodPtr;
2460 C* ptr = ClassType<C>::GetInstance(vm, 1);
2462 #if !defined (SCRAT_NO_ERROR_CHECKING)
2463 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2474 #if !defined (SCRAT_NO_ERROR_CHECKING)
2483 R & ret = (ptr->*method)(
2493 #if !defined (SCRAT_NO_ERROR_CHECKING)
2504 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
bool overloaded >
2505 static SQInteger Func8(HSQUIRRELVM vm) {
2507 #if !defined (SCRAT_NO_ERROR_CHECKING)
2508 if (!overloaded && sq_gettop(vm) != 10) {
2509 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2512 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8);
2514 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2515 M method = *methodPtr;
2517 C* ptr = ClassType<C>::GetInstance(vm, 1);
2519 #if !defined (SCRAT_NO_ERROR_CHECKING)
2520 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2532 #if !defined (SCRAT_NO_ERROR_CHECKING)
2541 R & ret = (ptr->*method)(
2552 #if !defined (SCRAT_NO_ERROR_CHECKING)
2562 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
bool overloaded >
2563 static SQInteger Func8C(HSQUIRRELVM vm) {
2565 #if !defined (SCRAT_NO_ERROR_CHECKING)
2566 if (!overloaded && sq_gettop(vm) != 10) {
2567 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2570 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8)
const;
2572 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2573 M method = *methodPtr;
2575 C* ptr = ClassType<C>::GetInstance(vm, 1);
2577 #if !defined (SCRAT_NO_ERROR_CHECKING)
2578 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2590 #if !defined (SCRAT_NO_ERROR_CHECKING)
2599 R & ret = (ptr->*method)(
2610 #if !defined (SCRAT_NO_ERROR_CHECKING)
2621 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
bool overloaded >
2622 static SQInteger Func9(HSQUIRRELVM vm) {
2624 #if !defined (SCRAT_NO_ERROR_CHECKING)
2625 if (!overloaded && sq_gettop(vm) != 11) {
2626 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2629 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9);
2631 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2632 M method = *methodPtr;
2634 C* ptr = ClassType<C>::GetInstance(vm, 1);
2636 #if !defined (SCRAT_NO_ERROR_CHECKING)
2637 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2650 #if !defined (SCRAT_NO_ERROR_CHECKING)
2659 R & ret = (ptr->*method)(
2671 #if !defined (SCRAT_NO_ERROR_CHECKING)
2681 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
bool overloaded >
2682 static SQInteger Func9C(HSQUIRRELVM vm) {
2684 #if !defined (SCRAT_NO_ERROR_CHECKING)
2685 if (!overloaded && sq_gettop(vm) != 11) {
2686 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2689 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9)
const;
2691 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2692 M method = *methodPtr;
2694 C* ptr = ClassType<C>::GetInstance(vm, 1);
2696 #if !defined (SCRAT_NO_ERROR_CHECKING)
2697 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2710 #if !defined (SCRAT_NO_ERROR_CHECKING)
2719 R & ret = (ptr->*method)(
2731 #if !defined (SCRAT_NO_ERROR_CHECKING)
2743 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
bool overloaded >
2744 static SQInteger Func10(HSQUIRRELVM vm) {
2746 #if !defined (SCRAT_NO_ERROR_CHECKING)
2747 if (!overloaded && sq_gettop(vm) != 12) {
2748 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2751 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10);
2753 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2754 M method = *methodPtr;
2756 C* ptr = ClassType<C>::GetInstance(vm, 1);
2758 #if !defined (SCRAT_NO_ERROR_CHECKING)
2759 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2771 Var<A10> a10(vm, 11);
2773 #if !defined (SCRAT_NO_ERROR_CHECKING)
2782 R & ret = (ptr->*method)(
2795 #if !defined (SCRAT_NO_ERROR_CHECKING)
2805 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
bool overloaded >
2806 static SQInteger Func10C(HSQUIRRELVM vm) {
2808 #if !defined (SCRAT_NO_ERROR_CHECKING)
2809 if (!overloaded && sq_gettop(vm) != 12) {
2810 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2813 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
const;
2815 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2816 M method = *methodPtr;
2818 C* ptr = ClassType<C>::GetInstance(vm, 1);
2820 #if !defined (SCRAT_NO_ERROR_CHECKING)
2821 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2833 Var<A10> a10(vm, 11);
2835 #if !defined (SCRAT_NO_ERROR_CHECKING)
2844 R & ret = (ptr->*method)(
2857 #if !defined (SCRAT_NO_ERROR_CHECKING)
2869 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
bool overloaded >
2870 static SQInteger Func11(HSQUIRRELVM vm) {
2872 #if !defined (SCRAT_NO_ERROR_CHECKING)
2873 if (!overloaded && sq_gettop(vm) != 13) {
2874 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2877 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11);
2879 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2880 M method = *methodPtr;
2882 C* ptr = ClassType<C>::GetInstance(vm, 1);
2884 #if !defined (SCRAT_NO_ERROR_CHECKING)
2885 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2897 Var<A10> a10(vm, 11);
2898 Var<A11> a11(vm, 12);
2900 #if !defined (SCRAT_NO_ERROR_CHECKING)
2909 R & ret = (ptr->*method)(
2923 #if !defined (SCRAT_NO_ERROR_CHECKING)
2933 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
bool overloaded >
2934 static SQInteger Func11C(HSQUIRRELVM vm) {
2936 #if !defined (SCRAT_NO_ERROR_CHECKING)
2937 if (!overloaded && sq_gettop(vm) != 13) {
2938 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
2941 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
const;
2943 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
2944 M method = *methodPtr;
2946 C* ptr = ClassType<C>::GetInstance(vm, 1);
2948 #if !defined (SCRAT_NO_ERROR_CHECKING)
2949 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
2961 Var<A10> a10(vm, 11);
2962 Var<A11> a11(vm, 12);
2964 #if !defined (SCRAT_NO_ERROR_CHECKING)
2973 R & ret = (ptr->*method)(
2987 #if !defined (SCRAT_NO_ERROR_CHECKING)
2999 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
bool overloaded >
3000 static SQInteger Func12(HSQUIRRELVM vm) {
3002 #if !defined (SCRAT_NO_ERROR_CHECKING)
3003 if (!overloaded && sq_gettop(vm) != 14) {
3004 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3007 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12);
3009 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3010 M method = *methodPtr;
3012 C* ptr = ClassType<C>::GetInstance(vm, 1);
3014 #if !defined (SCRAT_NO_ERROR_CHECKING)
3015 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
3027 Var<A10> a10(vm, 11);
3028 Var<A11> a11(vm, 12);
3029 Var<A12> a12(vm, 13);
3031 #if !defined (SCRAT_NO_ERROR_CHECKING)
3040 R & ret = (ptr->*method)(
3055 #if !defined (SCRAT_NO_ERROR_CHECKING)
3065 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
bool overloaded >
3066 static SQInteger Func12C(HSQUIRRELVM vm) {
3068 #if !defined (SCRAT_NO_ERROR_CHECKING)
3069 if (!overloaded && sq_gettop(vm) != 14) {
3070 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3073 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
const;
3075 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3076 M method = *methodPtr;
3078 C* ptr = ClassType<C>::GetInstance(vm, 1);
3080 #if !defined (SCRAT_NO_ERROR_CHECKING)
3081 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
3093 Var<A10> a10(vm, 11);
3094 Var<A11> a11(vm, 12);
3095 Var<A12> a12(vm, 13);
3097 #if !defined (SCRAT_NO_ERROR_CHECKING)
3106 R & ret = (ptr->*method)(
3121 #if !defined (SCRAT_NO_ERROR_CHECKING)
3132 template <
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,
bool overloaded >
3133 static SQInteger Func13(HSQUIRRELVM vm) {
3135 #if !defined (SCRAT_NO_ERROR_CHECKING)
3136 if (!overloaded && sq_gettop(vm) != 15) {
3137 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3140 typedef R &(C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13);
3142 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3143 M method = *methodPtr;
3145 C* ptr = ClassType<C>::GetInstance(vm, 1);
3147 #if !defined (SCRAT_NO_ERROR_CHECKING)
3148 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
3160 Var<A10> a10(vm, 11);
3161 Var<A11> a11(vm, 12);
3162 Var<A12> a12(vm, 13);
3163 Var<A13> a13(vm, 14);
3165 #if !defined (SCRAT_NO_ERROR_CHECKING)
3174 R & ret = (ptr->*method)(
3190 #if !defined (SCRAT_NO_ERROR_CHECKING)
3200 template <
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,
bool overloaded >
3201 static SQInteger Func13C(HSQUIRRELVM vm) {
3203 #if !defined (SCRAT_NO_ERROR_CHECKING)
3204 if (!overloaded && sq_gettop(vm) != 15) {
3205 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3208 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
const;
3210 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3211 M method = *methodPtr;
3213 C* ptr = ClassType<C>::GetInstance(vm, 1);
3215 #if !defined (SCRAT_NO_ERROR_CHECKING)
3216 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
3228 Var<A10> a10(vm, 11);
3229 Var<A11> a11(vm, 12);
3230 Var<A12> a12(vm, 13);
3231 Var<A13> a13(vm, 14);
3233 #if !defined (SCRAT_NO_ERROR_CHECKING)
3242 R & ret = (ptr->*method)(
3258 #if !defined (SCRAT_NO_ERROR_CHECKING)
3269 template <
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,
bool overloaded >
3270 static SQInteger Func14(HSQUIRRELVM vm) {
3272 #if !defined (SCRAT_NO_ERROR_CHECKING)
3273 if (!overloaded && sq_gettop(vm) != 16) {
3274 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3277 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14);
3279 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3280 M method = *methodPtr;
3282 C* ptr = ClassType<C>::GetInstance(vm, 1);
3284 #if !defined (SCRAT_NO_ERROR_CHECKING)
3285 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
3297 Var<A10> a10(vm, 11);
3298 Var<A11> a11(vm, 12);
3299 Var<A12> a12(vm, 13);
3300 Var<A13> a13(vm, 14);
3301 Var<A14> a14(vm, 15);
3303 #if !defined (SCRAT_NO_ERROR_CHECKING)
3312 R & ret = (ptr->*method)(
3329 #if !defined (SCRAT_NO_ERROR_CHECKING)
3339 template <
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,
bool overloaded >
3340 static SQInteger Func14C(HSQUIRRELVM vm) {
3342 #if !defined (SCRAT_NO_ERROR_CHECKING)
3343 if (!overloaded && sq_gettop(vm) != 16) {
3344 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3347 typedef R & (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
const;
3349 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3350 M method = *methodPtr;
3352 C* ptr = ClassType<C>::GetInstance(vm, 1);
3354 #if !defined (SCRAT_NO_ERROR_CHECKING)
3355 if (ptr == NULL)
return sq_throwerror(vm, STATICCALLERROR);
3367 Var<A10> a10(vm, 11);
3368 Var<A11> a11(vm, 12);
3369 Var<A12> a12(vm, 13);
3370 Var<A13> a13(vm, 14);
3371 Var<A14> a14(vm, 15);
3373 #if !defined (SCRAT_NO_ERROR_CHECKING)
3382 R & ret = (ptr->*method)(
3399 #if !defined (SCRAT_NO_ERROR_CHECKING)
3417 class SqMember<C, void> {
3420 template <
bool overloaded >
3421 static SQInteger Func0(HSQUIRRELVM vm) {
3423 #if !defined (SCRAT_NO_ERROR_CHECKING)
3424 if (!overloaded && sq_gettop(vm) != 2) {
3425 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3428 typedef void (C::*M)();
3430 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3431 M method = *methodPtr;
3433 C* ptr = ClassType<C>::GetInstance(vm, 1);
3436 #if !defined (SCRAT_NO_ERROR_CHECKING)
3444 template <
bool overloaded >
3445 static SQInteger Func0C(HSQUIRRELVM vm) {
3447 #if !defined (SCRAT_NO_ERROR_CHECKING)
3448 if (!overloaded && sq_gettop(vm) != 2) {
3449 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3452 typedef void (C::*M)()
const;
3454 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3455 M method = *methodPtr;
3457 C* ptr = ClassType<C>::GetInstance(vm, 1);
3460 #if !defined (SCRAT_NO_ERROR_CHECKING)
3469 template <
class A1,
bool overloaded >
3470 static SQInteger Func1(HSQUIRRELVM vm) {
3472 #if !defined (SCRAT_NO_ERROR_CHECKING)
3473 if (!overloaded && sq_gettop(vm) != 3) {
3474 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3477 typedef void (C::*M)(A1);
3479 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3480 M method = *methodPtr;
3482 C* ptr = ClassType<C>::GetInstance(vm, 1);
3486 #if !defined (SCRAT_NO_ERROR_CHECKING)
3498 #if !defined (SCRAT_NO_ERROR_CHECKING)
3506 template <
class A1,
bool overloaded >
3507 static SQInteger Func1C(HSQUIRRELVM vm) {
3509 #if !defined (SCRAT_NO_ERROR_CHECKING)
3510 if (!overloaded && sq_gettop(vm) != 3) {
3511 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3514 typedef void (C::*M)(A1)
const;
3516 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3517 M method = *methodPtr;
3519 C* ptr = ClassType<C>::GetInstance(vm, 1);
3523 #if !defined (SCRAT_NO_ERROR_CHECKING)
3535 #if !defined (SCRAT_NO_ERROR_CHECKING)
3544 template <
class A1,
class A2,
bool overloaded >
3545 static SQInteger Func2(HSQUIRRELVM vm) {
3547 #if !defined (SCRAT_NO_ERROR_CHECKING)
3548 if (!overloaded && sq_gettop(vm) != 4) {
3549 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3552 typedef void (C::*M)(A1, A2);
3554 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3555 M method = *methodPtr;
3557 C* ptr = ClassType<C>::GetInstance(vm, 1);
3562 #if !defined (SCRAT_NO_ERROR_CHECKING)
3575 #if !defined (SCRAT_NO_ERROR_CHECKING)
3583 template <
class A1,
class A2,
bool overloaded >
3584 static SQInteger Func2C(HSQUIRRELVM vm) {
3586 #if !defined (SCRAT_NO_ERROR_CHECKING)
3587 if (!overloaded && sq_gettop(vm) != 4) {
3588 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3591 typedef void (C::*M)(A1, A2)
const;
3593 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3594 M method = *methodPtr;
3596 C* ptr = ClassType<C>::GetInstance(vm, 1);
3601 #if !defined (SCRAT_NO_ERROR_CHECKING)
3614 #if !defined (SCRAT_NO_ERROR_CHECKING)
3623 template <
class A1,
class A2,
class A3,
bool overloaded >
3624 static SQInteger Func3(HSQUIRRELVM vm) {
3626 #if !defined (SCRAT_NO_ERROR_CHECKING)
3627 if (!overloaded && sq_gettop(vm) != 5) {
3628 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3631 typedef void (C::*M)(A1, A2, A3);
3633 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3634 M method = *methodPtr;
3636 C* ptr = ClassType<C>::GetInstance(vm, 1);
3642 #if !defined (SCRAT_NO_ERROR_CHECKING)
3656 #if !defined (SCRAT_NO_ERROR_CHECKING)
3664 template <
class A1,
class A2,
class A3,
bool overloaded >
3665 static SQInteger Func3C(HSQUIRRELVM vm) {
3667 #if !defined (SCRAT_NO_ERROR_CHECKING)
3668 if (!overloaded && sq_gettop(vm) != 5) {
3669 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3672 typedef void (C::*M)(A1, A2, A3)
const;
3674 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3675 M method = *methodPtr;
3677 C* ptr = ClassType<C>::GetInstance(vm, 1);
3683 #if !defined (SCRAT_NO_ERROR_CHECKING)
3697 #if !defined (SCRAT_NO_ERROR_CHECKING)
3706 template <
class A1,
class A2,
class A3,
class A4,
bool overloaded >
3707 static SQInteger Func4(HSQUIRRELVM vm) {
3709 #if !defined (SCRAT_NO_ERROR_CHECKING)
3710 if (!overloaded && sq_gettop(vm) != 6) {
3711 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3714 typedef void (C::*M)(A1, A2, A3, A4);
3716 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3717 M method = *methodPtr;
3719 C* ptr = ClassType<C>::GetInstance(vm, 1);
3726 #if !defined (SCRAT_NO_ERROR_CHECKING)
3741 #if !defined (SCRAT_NO_ERROR_CHECKING)
3749 template <
class A1,
class A2,
class A3,
class A4,
bool overloaded >
3750 static SQInteger Func4C(HSQUIRRELVM vm) {
3752 #if !defined (SCRAT_NO_ERROR_CHECKING)
3753 if (!overloaded && sq_gettop(vm) != 6) {
3754 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3757 typedef void (C::*M)(A1, A2, A3, A4)
const;
3759 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3760 M method = *methodPtr;
3762 C* ptr = ClassType<C>::GetInstance(vm, 1);
3769 #if !defined (SCRAT_NO_ERROR_CHECKING)
3784 #if !defined (SCRAT_NO_ERROR_CHECKING)
3793 template <
class A1,
class A2,
class A3,
class A4,
class A5,
bool overloaded >
3794 static SQInteger Func5(HSQUIRRELVM vm) {
3796 #if !defined (SCRAT_NO_ERROR_CHECKING)
3797 if (!overloaded && sq_gettop(vm) != 7) {
3798 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3801 typedef void (C::*M)(A1, A2, A3, A4, A5);
3803 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3804 M method = *methodPtr;
3806 C* ptr = ClassType<C>::GetInstance(vm, 1);
3814 #if !defined (SCRAT_NO_ERROR_CHECKING)
3830 #if !defined (SCRAT_NO_ERROR_CHECKING)
3838 template <
class A1,
class A2,
class A3,
class A4,
class A5,
bool overloaded >
3839 static SQInteger Func5C(HSQUIRRELVM vm) {
3841 #if !defined (SCRAT_NO_ERROR_CHECKING)
3842 if (!overloaded && sq_gettop(vm) != 7) {
3843 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3846 typedef void (C::*M)(A1, A2, A3, A4, A5)
const;
3848 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3849 M method = *methodPtr;
3851 C* ptr = ClassType<C>::GetInstance(vm, 1);
3859 #if !defined (SCRAT_NO_ERROR_CHECKING)
3875 #if !defined (SCRAT_NO_ERROR_CHECKING)
3884 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
bool overloaded >
3885 static SQInteger Func6(HSQUIRRELVM vm) {
3887 #if !defined (SCRAT_NO_ERROR_CHECKING)
3888 if (!overloaded && sq_gettop(vm) != 8) {
3889 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3892 typedef void (C::*M)(A1, A2, A3, A4, A5, A6);
3894 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3895 M method = *methodPtr;
3897 C* ptr = ClassType<C>::GetInstance(vm, 1);
3906 #if !defined (SCRAT_NO_ERROR_CHECKING)
3923 #if !defined (SCRAT_NO_ERROR_CHECKING)
3931 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
bool overloaded >
3932 static SQInteger Func6C(HSQUIRRELVM vm) {
3934 #if !defined (SCRAT_NO_ERROR_CHECKING)
3935 if (!overloaded && sq_gettop(vm) != 8) {
3936 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3939 typedef void (C::*M)(A1, A2, A3, A4, A5, A6)
const;
3941 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3942 M method = *methodPtr;
3944 C* ptr = ClassType<C>::GetInstance(vm, 1);
3953 #if !defined (SCRAT_NO_ERROR_CHECKING)
3970 #if !defined (SCRAT_NO_ERROR_CHECKING)
3979 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
bool overloaded >
3980 static SQInteger Func7(HSQUIRRELVM vm) {
3982 #if !defined (SCRAT_NO_ERROR_CHECKING)
3983 if (!overloaded && sq_gettop(vm) != 9) {
3984 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
3987 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7);
3989 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
3990 M method = *methodPtr;
3992 C* ptr = ClassType<C>::GetInstance(vm, 1);
4002 #if !defined (SCRAT_NO_ERROR_CHECKING)
4020 #if !defined (SCRAT_NO_ERROR_CHECKING)
4028 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
bool overloaded >
4029 static SQInteger Func7C(HSQUIRRELVM vm) {
4031 #if !defined (SCRAT_NO_ERROR_CHECKING)
4032 if (!overloaded && sq_gettop(vm) != 9) {
4033 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4036 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7)
const;
4038 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4039 M method = *methodPtr;
4041 C* ptr = ClassType<C>::GetInstance(vm, 1);
4051 #if !defined (SCRAT_NO_ERROR_CHECKING)
4069 #if !defined (SCRAT_NO_ERROR_CHECKING)
4078 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
bool overloaded >
4079 static SQInteger Func8(HSQUIRRELVM vm) {
4081 #if !defined (SCRAT_NO_ERROR_CHECKING)
4082 if (!overloaded && sq_gettop(vm) != 10) {
4083 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4086 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8);
4088 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4089 M method = *methodPtr;
4091 C* ptr = ClassType<C>::GetInstance(vm, 1);
4102 #if !defined (SCRAT_NO_ERROR_CHECKING)
4121 #if !defined (SCRAT_NO_ERROR_CHECKING)
4129 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
bool overloaded >
4130 static SQInteger Func8C(HSQUIRRELVM vm) {
4132 #if !defined (SCRAT_NO_ERROR_CHECKING)
4133 if (!overloaded && sq_gettop(vm) != 10) {
4134 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4137 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8)
const;
4139 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4140 M method = *methodPtr;
4142 C* ptr = ClassType<C>::GetInstance(vm, 1);
4153 #if !defined (SCRAT_NO_ERROR_CHECKING)
4172 #if !defined (SCRAT_NO_ERROR_CHECKING)
4181 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
bool overloaded >
4182 static SQInteger Func9(HSQUIRRELVM vm) {
4184 #if !defined (SCRAT_NO_ERROR_CHECKING)
4185 if (!overloaded && sq_gettop(vm) != 11) {
4186 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4189 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9);
4191 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4192 M method = *methodPtr;
4194 C* ptr = ClassType<C>::GetInstance(vm, 1);
4206 #if !defined (SCRAT_NO_ERROR_CHECKING)
4226 #if !defined (SCRAT_NO_ERROR_CHECKING)
4234 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
bool overloaded >
4235 static SQInteger Func9C(HSQUIRRELVM vm) {
4237 #if !defined (SCRAT_NO_ERROR_CHECKING)
4238 if (!overloaded && sq_gettop(vm) != 11) {
4239 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4242 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9)
const;
4244 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4245 M method = *methodPtr;
4247 C* ptr = ClassType<C>::GetInstance(vm, 1);
4259 #if !defined (SCRAT_NO_ERROR_CHECKING)
4279 #if !defined (SCRAT_NO_ERROR_CHECKING)
4288 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
bool overloaded >
4289 static SQInteger Func10(HSQUIRRELVM vm) {
4291 #if !defined (SCRAT_NO_ERROR_CHECKING)
4292 if (!overloaded && sq_gettop(vm) != 12) {
4293 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4296 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10);
4298 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4299 M method = *methodPtr;
4301 C* ptr = ClassType<C>::GetInstance(vm, 1);
4312 Var<A10> a10(vm, 11);
4314 #if !defined (SCRAT_NO_ERROR_CHECKING)
4335 #if !defined (SCRAT_NO_ERROR_CHECKING)
4343 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
bool overloaded >
4344 static SQInteger Func10C(HSQUIRRELVM vm) {
4346 #if !defined (SCRAT_NO_ERROR_CHECKING)
4347 if (!overloaded && sq_gettop(vm) != 12) {
4348 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4351 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
const;
4353 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4354 M method = *methodPtr;
4356 C* ptr = ClassType<C>::GetInstance(vm, 1);
4367 Var<A10> a10(vm, 11);
4369 #if !defined (SCRAT_NO_ERROR_CHECKING)
4390 #if !defined (SCRAT_NO_ERROR_CHECKING)
4399 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
bool overloaded >
4400 static SQInteger Func11(HSQUIRRELVM vm) {
4402 #if !defined (SCRAT_NO_ERROR_CHECKING)
4403 if (!overloaded && sq_gettop(vm) != 13) {
4404 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4407 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11);
4409 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4410 M method = *methodPtr;
4412 C* ptr = ClassType<C>::GetInstance(vm, 1);
4423 Var<A10> a10(vm, 11);
4424 Var<A11> a11(vm, 12);
4426 #if !defined (SCRAT_NO_ERROR_CHECKING)
4448 #if !defined (SCRAT_NO_ERROR_CHECKING)
4456 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
bool overloaded >
4457 static SQInteger Func11C(HSQUIRRELVM vm) {
4459 #if !defined (SCRAT_NO_ERROR_CHECKING)
4460 if (!overloaded && sq_gettop(vm) != 13) {
4461 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4464 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
const;
4466 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4467 M method = *methodPtr;
4469 C* ptr = ClassType<C>::GetInstance(vm, 1);
4480 Var<A10> a10(vm, 11);
4481 Var<A11> a11(vm, 12);
4483 #if !defined (SCRAT_NO_ERROR_CHECKING)
4505 #if !defined (SCRAT_NO_ERROR_CHECKING)
4514 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
bool overloaded >
4515 static SQInteger Func12(HSQUIRRELVM vm) {
4517 #if !defined (SCRAT_NO_ERROR_CHECKING)
4518 if (!overloaded && sq_gettop(vm) != 14) {
4519 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4522 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12);
4524 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4525 M method = *methodPtr;
4527 C* ptr = ClassType<C>::GetInstance(vm, 1);
4538 Var<A10> a10(vm, 11);
4539 Var<A11> a11(vm, 12);
4540 Var<A12> a12(vm, 13);
4542 #if !defined (SCRAT_NO_ERROR_CHECKING)
4565 #if !defined (SCRAT_NO_ERROR_CHECKING)
4573 template <
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
bool overloaded >
4574 static SQInteger Func12C(HSQUIRRELVM vm) {
4576 #if !defined (SCRAT_NO_ERROR_CHECKING)
4577 if (!overloaded && sq_gettop(vm) != 14) {
4578 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4581 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
const;
4583 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4584 M method = *methodPtr;
4586 C* ptr = ClassType<C>::GetInstance(vm, 1);
4597 Var<A10> a10(vm, 11);
4598 Var<A11> a11(vm, 12);
4599 Var<A12> a12(vm, 13);
4601 #if !defined (SCRAT_NO_ERROR_CHECKING)
4624 #if !defined (SCRAT_NO_ERROR_CHECKING)
4633 template <
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,
bool overloaded >
4634 static SQInteger Func13(HSQUIRRELVM vm) {
4636 #if !defined (SCRAT_NO_ERROR_CHECKING)
4637 if (!overloaded && sq_gettop(vm) != 15) {
4638 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4641 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13);
4643 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4644 M method = *methodPtr;
4646 C* ptr = ClassType<C>::GetInstance(vm, 1);
4657 Var<A10> a10(vm, 11);
4658 Var<A11> a11(vm, 12);
4659 Var<A12> a12(vm, 13);
4660 Var<A13> a13(vm, 14);
4662 #if !defined (SCRAT_NO_ERROR_CHECKING)
4686 #if !defined (SCRAT_NO_ERROR_CHECKING)
4694 template <
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,
bool overloaded >
4695 static SQInteger Func13C(HSQUIRRELVM vm) {
4697 #if !defined (SCRAT_NO_ERROR_CHECKING)
4698 if (!overloaded && sq_gettop(vm) != 15) {
4699 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4702 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
const;
4704 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4705 M method = *methodPtr;
4707 C* ptr = ClassType<C>::GetInstance(vm, 1);
4718 Var<A10> a10(vm, 11);
4719 Var<A11> a11(vm, 12);
4720 Var<A12> a12(vm, 13);
4721 Var<A13> a13(vm, 14);
4723 #if !defined (SCRAT_NO_ERROR_CHECKING)
4747 #if !defined (SCRAT_NO_ERROR_CHECKING)
4756 template <
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,
bool overloaded >
4757 static SQInteger Func14(HSQUIRRELVM vm) {
4759 #if !defined (SCRAT_NO_ERROR_CHECKING)
4760 if (!overloaded && sq_gettop(vm) != 16) {
4761 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4764 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14);
4766 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4767 M method = *methodPtr;
4769 C* ptr = ClassType<C>::GetInstance(vm, 1);
4780 Var<A10> a10(vm, 11);
4781 Var<A11> a11(vm, 12);
4782 Var<A12> a12(vm, 13);
4783 Var<A13> a13(vm, 14);
4784 Var<A14> a14(vm, 15);
4786 #if !defined (SCRAT_NO_ERROR_CHECKING)
4811 #if !defined (SCRAT_NO_ERROR_CHECKING)
4819 template <
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,
bool overloaded >
4820 static SQInteger Func14C(HSQUIRRELVM vm) {
4822 #if !defined (SCRAT_NO_ERROR_CHECKING)
4823 if (!overloaded && sq_gettop(vm) != 16) {
4824 return sq_throwerror(vm, _SC(
"wrong number of parameters"));
4827 typedef void (C::*M)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
const;
4829 sq_getuserdata(vm, -1, (SQUserPointer*)&methodPtr, NULL);
4830 M method = *methodPtr;
4832 C* ptr = ClassType<C>::GetInstance(vm, 1);
4843 Var<A10> a10(vm, 11);
4844 Var<A11> a11(vm, 12);
4845 Var<A12> a12(vm, 13);
4846 Var<A13> a13(vm, 14);
4847 Var<A14> a14(vm, 15);
4849 #if !defined (SCRAT_NO_ERROR_CHECKING)
4874 #if !defined (SCRAT_NO_ERROR_CHECKING)
4890 template <
class C,
class R>
4891 inline SQFUNCTION SqMemberFunc(R (C::*)()) {
4892 return &SqMember<C, R>::template Func0<false>;
4895 template <
class C,
class R>
4896 inline SQFUNCTION SqMemberFunc(R (C::*)()
const) {
4897 return &SqMember<C, R>::template Func0C<false>;
4900 template <
class C,
class R>
4901 inline SQFUNCTION SqMemberFunc(R & (C::*)()) {
4902 return &SqMember<C, R& >::template Func0<false>;
4905 template <
class C,
class R>
4906 inline SQFUNCTION SqMemberFunc(R & (C::*)()
const) {
4907 return &SqMember<C, R& >::template Func0C<false>;
4911 template <
class C,
class R,
class A1>
4912 inline SQFUNCTION SqMemberFunc(R (C::*)(A1)) {
4913 return &SqMember<C, R>::template Func1<A1, false>;
4916 template <
class C,
class R,
class A1>
4917 inline SQFUNCTION SqMemberFunc(R (C::*)(A1)
const) {
4918 return &SqMember<C, R>::template Func1C<A1, false>;
4921 template <
class C,
class R,
class A1>
4922 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1)) {
4923 return &SqMember<C, R& >::template Func1<A1, false>;
4926 template <
class C,
class R,
class A1>
4927 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1)
const) {
4928 return &SqMember<C, R& >::template Func1C<A1, false>;
4932 template <
class C,
class R,
class A1,
class A2>
4933 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2)) {
4934 return &SqMember<C, R>::template Func2<A1, A2, false>;
4937 template <
class C,
class R,
class A1,
class A2>
4938 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2)
const) {
4939 return &SqMember<C, R>::template Func2C<A1, A2, false>;
4942 template <
class C,
class R,
class A1,
class A2>
4943 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2)) {
4944 return &SqMember<C, R& >::template Func2<A1, A2, false>;
4947 template <
class C,
class R,
class A1,
class A2>
4948 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2)
const) {
4949 return &SqMember<C, R&>::template Func2C<A1, A2, false>;
4953 template <
class C,
class R,
class A1,
class A2,
class A3>
4954 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3)) {
4955 return &SqMember<C, R>::template Func3<A1, A2, A3, false>;
4958 template <
class C,
class R,
class A1,
class A2,
class A3>
4959 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3)
const) {
4960 return &SqMember<C, R>::template Func3C<A1, A2, A3, false>;
4963 template <
class C,
class R,
class A1,
class A2,
class A3>
4964 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3)) {
4965 return &SqMember<C, R& >::template Func3<A1, A2, A3, false>;
4968 template <
class C,
class R,
class A1,
class A2,
class A3>
4969 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3)
const) {
4970 return &SqMember<C, R& >::template Func3C<A1, A2, A3, false>;
4974 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4>
4975 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4)) {
4976 return &SqMember<C, R>::template Func4<A1, A2, A3, A4, false>;
4979 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4>
4980 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4)
const) {
4981 return &SqMember<C, R>::template Func4C<A1, A2, A3, A4, false>;
4984 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4>
4985 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4)) {
4986 return &SqMember<C, R& >::template Func4<A1, A2, A3, A4, false>;
4989 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4>
4990 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4)
const) {
4991 return &SqMember<C, R&>::template Func4C<A1, A2, A3, A4, false>;
4995 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5>
4996 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5)) {
4997 return &SqMember<C, R>::template Func5<A1, A2, A3, A4, A5, false>;
5000 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5>
5001 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5)
const) {
5002 return &SqMember<C, R>::template Func5C<A1, A2, A3, A4, A5, false>;
5005 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5>
5006 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5)) {
5007 return &SqMember<C, R& >::template Func5<A1, A2, A3, A4, A5, false>;
5010 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5>
5011 inline SQFUNCTION SqMemberFunc(R &(C::*)(A1, A2, A3, A4, A5)
const) {
5012 return &SqMember<C, R& >::template Func5C<A1, A2, A3, A4, A5, false>;
5016 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
5017 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6)) {
5018 return &SqMember<C, R>::template Func6<A1, A2, A3, A4, A5, A6, false>;
5021 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
5022 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6)
const) {
5023 return &SqMember<C, R>::template Func6C<A1, A2, A3, A4, A5, A6, false>;
5026 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
5027 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6)) {
5028 return &SqMember<C, R& >::template Func6<A1, A2, A3, A4, A5, A6, false>;
5031 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
5032 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6)
const) {
5033 return &SqMember<C, R& >::template Func6C<A1, A2, A3, A4, A5, A6, false>;
5037 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
5038 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7)) {
5039 return &SqMember<C, R>::template Func7<A1, A2, A3, A4, A5, A6, A7, false>;
5042 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
5043 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7)
const) {
5044 return &SqMember<C, R>::template Func7C<A1, A2, A3, A4, A5, A6, A7, false>;
5047 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
5048 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7)) {
5049 return &SqMember<C, R& >::template Func7<A1, A2, A3, A4, A5, A6, A7, false>;
5052 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
5053 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7)
const) {
5054 return &SqMember<C, R& >::template Func7C<A1, A2, A3, A4, A5, A6, A7, false>;
5058 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
5059 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8)) {
5060 return &SqMember<C, R>::template Func8<A1, A2, A3, A4, A5, A6, A7, A8, false>;
5063 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
5064 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8)
const) {
5065 return &SqMember<C, R>::template Func8C<A1, A2, A3, A4, A5, A6, A7, A8, false>;
5068 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
5069 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8)) {
5070 return &SqMember<C, R& >::template Func8<A1, A2, A3, A4, A5, A6, A7, A8, false>;
5073 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
5074 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8)
const) {
5075 return &SqMember<C, R& >::template Func8C<A1, A2, A3, A4, A5, A6, A7, A8, false>;
5079 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
5080 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9)) {
5081 return &SqMember<C, R>::template Func9<A1, A2, A3, A4, A5, A6, A7, A8, A9, false>;
5084 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
5085 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9)
const) {
5086 return &SqMember<C, R>::template Func9C<A1, A2, A3, A4, A5, A6, A7, A8, A9, false>;
5089 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
5090 inline SQFUNCTION SqMemberFunc(R &(C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9)) {
5091 return &SqMember<C, R& >::template Func9<A1, A2, A3, A4, A5, A6, A7, A8, A9, false>;
5094 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
5095 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9)
const) {
5096 return &SqMember<C, R& >::template Func9C<A1, A2, A3, A4, A5, A6, A7, A8, A9, false>;
5100 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
5101 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)) {
5102 return &SqMember<C, R>::template Func10<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, false>;
5105 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
5106 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
const) {
5107 return &SqMember<C, R>::template Func10C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, false>;
5109 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
5110 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)) {
5111 return &SqMember<C, R& >::template Func10<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, false>;
5114 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
5115 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
const) {
5116 return &SqMember<C, R& >::template Func10C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, false>;
5120 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11>
5121 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)) {
5122 return &SqMember<C, R>::template Func11<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, false>;
5125 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11>
5126 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
const) {
5127 return &SqMember<C, R>::template Func11C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, false>;
5129 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11>
5130 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)) {
5131 return &SqMember<C, R& >::template Func11<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, false>;
5134 template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11>
5135 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
const) {
5136 return &SqMember<C, R& >::template Func11C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, false>;
5140 template <
class C,
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>
5141 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)) {
5142 return &SqMember<C, R>::template Func12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, false>;
5145 template <
class C,
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>
5146 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
const) {
5147 return &SqMember<C, R>::template Func12C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, false>;
5150 template <
class C,
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>
5151 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)) {
5152 return &SqMember<C, R& >::template Func12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, false>;
5155 template <
class C,
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>
5156 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
const) {
5157 return &SqMember<C, R& >::template Func12C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, false>;
5161 template <
class C,
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>
5162 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)) {
5163 return &SqMember<C, R>::template Func13<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, false>;
5166 template <
class C,
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>
5167 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
const) {
5168 return &SqMember<C, R>::template Func13C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, false>;
5171 template <
class C,
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>
5172 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)) {
5173 return &SqMember<C, R & >::template Func13<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, false>;
5176 template <
class C,
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>
5177 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
const) {
5178 return &SqMember<C, R & >::template Func13C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, false>;
5182 template <
class C,
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>
5183 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)) {
5184 return &SqMember<C, R>::template Func14<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, false>;
5187 template <
class C,
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>
5188 inline SQFUNCTION SqMemberFunc(R (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
const) {
5189 return &SqMember<C, R>::template Func14C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, false>;
5192 template <
class C,
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>
5193 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)) {
5194 return &SqMember<C, R& >::template Func14<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, false>;
5197 template <
class C,
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>
5198 inline SQFUNCTION SqMemberFunc(R & (C::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
const) {
5199 return &SqMember<C, R& >::template Func14C<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, false>;
5207 template <
class C,
class V>
5208 inline SQInteger sqDefaultGet(HSQUIRRELVM vm) {
5209 C* ptr = ClassType<C>::GetInstance(vm, 1);
5212 M* memberPtr = NULL;
5213 sq_getuserdata(vm, -1, (SQUserPointer*)&memberPtr, NULL);
5214 M member = *memberPtr;
5216 PushVar(vm, ptr->*member);
5222 template <
class C,
class V>
5223 inline SQInteger sqStaticGet(HSQUIRRELVM vm) {
5225 M* memberPtr = NULL;
5226 sq_getuserdata(vm, -1, (SQUserPointer*)&memberPtr, NULL);
5227 M member = *memberPtr;
5229 PushVar(vm, *member);
5235 inline SQInteger sqVarGet(HSQUIRRELVM vm) {
5238 #if !defined (SCRAT_NO_ERROR_CHECKING)
5239 if (SQ_FAILED( sq_get(vm,-2) )) {
5240 #if (SQUIRREL_VERSION_NUMBER >= 200) && (SQUIRREL_VERSION_NUMBER < 300) // Squirrel 2.x
5241 return sq_throwerror(vm,_SC(
"member variable not found"));
5242 #else // Squirrel 3.x
5244 return sq_throwobject(vm);
5256 #if !defined (SCRAT_NO_ERROR_CHECKING)
5270 template <
class C,
class V>
5271 inline SQInteger sqDefaultSet(HSQUIRRELVM vm) {
5272 C* ptr = ClassType<C>::GetInstance(vm, 1);
5275 M* memberPtr = NULL;
5276 sq_getuserdata(vm, -1, (SQUserPointer*)&memberPtr, NULL);
5277 M member = *memberPtr;
5279 ptr->*member = Var<V>(vm, 2).value;
5283 template <
class C,
class V>
5284 inline SQInteger sqStaticSet(HSQUIRRELVM vm) {
5286 M* memberPtr = NULL;
5287 sq_getuserdata(vm, -1, (SQUserPointer*)&memberPtr, NULL);
5288 M member = *memberPtr;
5290 *member = Var<V>(vm, 2).value;
5294 inline SQInteger sqVarSet(HSQUIRRELVM vm) {
5297 #if !defined (SCRAT_NO_ERROR_CHECKING)
5298 if (SQ_FAILED( sq_get(vm,-2) )) {
5299 #if (SQUIRREL_VERSION_NUMBER >= 200) && (SQUIRREL_VERSION_NUMBER < 300) // Squirrel 2.x
5300 return sq_throwerror(vm,_SC(
"member variable not found"));
5301 #else // Squirrel 3.x
5303 return sq_throwobject(vm);
5316 #if !defined (SCRAT_NO_ERROR_CHECKING)
5325 #if !defined (SCRAT_NO_ERROR_CHECKING)
5326 template <
class C,
class R>
5327 const SQChar SqMember<C, R>::STATICCALLERROR[] = _SC(
"this function isn't static");
5328 template <
class C,
class R>
5329 const SQChar SqMember<C, R&>::STATICCALLERROR[] = _SC(
"this function isn't static");
static bool IsEnabled()
Definition: sqratUtil.h:244
static Error & Instance()
Definition: sqratUtil.h:134
bool Occurred(HSQUIRRELVM vm)
Definition: sqratUtil.h:198