1#ifndef AS_GEN_WRAPPER_H
2#define AS_GEN_WRAPPER_H
6#include <angelscript.h>
12template <
typename T>
class Proxy {
16 static T
cast(
void * ptr) {
31void destroy(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
32 static_cast<T *
>(gen->GetObject())->~T();
36 template <
void (*fp)(
void)>
37 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
43 template <R (*fp)(
void)>
44 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
45 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)());
50 template <
void (T::*fp)(
void)>
51 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
52 ((
static_cast<T *
>(gen->GetObject())->*fp)());
55template <
typename T,
typename R>
57 template <R (T::*fp)(
void)>
58 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
59 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)());
64 template <
void (T::*fp)(
void) const>
65 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
66 ((
static_cast<T *
>(gen->GetObject())->*fp)());
69template <
typename T,
typename R>
71 template <R (T::*fp)(
void) const>
72 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
73 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)());
78 template <
void (T::*fp)(
void)>
79 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
80 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)());
83template <
typename T,
typename R>
85 template <R (T::*fp)(
void)>
86 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
87 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)());
92 template <
void (T::*fp)(
void) const>
93 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
94 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)());
97template <
typename T,
typename R>
99 template <R (T::*fp)(
void) const>
100 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
101 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)());
106 template <
void (*fp)(T)>
107 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
112template <
typename T,
typename R>
114 template <R (*fp)(T)>
115 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
116 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
122 template <
void (*fp)(T)>
123 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
128template <
typename T,
typename R>
130 template <R (*fp)(T)>
131 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
132 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
138 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
139 new (gen->GetObject()) T();
142template <
typename A0>
144 template <
void (*fp)(A0)>
145 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
147 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
150template <
typename R,
typename A0>
152 template <R (*fp)(A0)>
153 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
154 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
155 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
158template <
typename T,
typename A0>
160 template <
void (T::*fp)(A0)>
161 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
162 ((
static_cast<T *
>(gen->GetObject())->*fp)(
163 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
166template <
typename T,
typename R,
typename A0>
168 template <R (T::*fp)(A0)>
169 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
170 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
171 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
174template <
typename T,
typename A0>
176 template <
void (T::*fp)(A0) const>
177 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
178 ((
static_cast<T *
>(gen->GetObject())->*fp)(
179 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
182template <
typename T,
typename R,
typename A0>
184 template <R (T::*fp)(A0) const>
185 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
186 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
187 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
190template <
typename T,
typename A0>
192 template <
void (T::*fp)(A0)>
193 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
194 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
195 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
198template <
typename T,
typename R,
typename A0>
200 template <R (T::*fp)(A0)>
201 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
202 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
203 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
206template <
typename T,
typename A0>
208 template <
void (T::*fp)(A0) const>
209 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
210 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
211 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
214template <
typename T,
typename R,
typename A0>
216 template <R (T::*fp)(A0) const>
217 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
218 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
219 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
222template <
typename T,
typename A0>
224 template <
void (*fp)(T, A0)>
225 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
228 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
231template <
typename T,
typename R,
typename A0>
233 template <R (*fp)(T, A0)>
234 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
235 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
237 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value));
240template <
typename T,
typename A0>
242 template <
void (*fp)(A0, T)>
243 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
245 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
249template <
typename T,
typename R,
typename A0>
251 template <R (*fp)(A0, T)>
252 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
253 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
254 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
258template <
typename T,
typename A0>
260 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
261 new (gen->GetObject()) T(
262 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value);
265template <
typename A0,
typename A1>
267 template <
void (*fp)(A0, A1)>
268 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
270 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
271 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
274template <
typename R,
typename A0,
typename A1>
276 template <R (*fp)(A0, A1)>
277 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
278 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
279 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
280 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
283template <
typename T,
typename A0,
typename A1>
285 template <
void (T::*fp)(A0, A1)>
286 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
287 ((
static_cast<T *
>(gen->GetObject())->*fp)(
288 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
289 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
292template <
typename T,
typename R,
typename A0,
typename A1>
294 template <R (T::*fp)(A0, A1)>
295 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
296 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
297 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
298 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
301template <
typename T,
typename A0,
typename A1>
303 template <
void (T::*fp)(A0, A1) const>
304 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
305 ((
static_cast<T *
>(gen->GetObject())->*fp)(
306 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
307 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
310template <
typename T,
typename R,
typename A0,
typename A1>
312 template <R (T::*fp)(A0, A1) const>
313 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
314 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
315 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
316 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
319template <
typename T,
typename A0,
typename A1>
321 template <
void (T::*fp)(A0, A1)>
322 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
323 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
324 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
325 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
328template <
typename T,
typename R,
typename A0,
typename A1>
330 template <R (T::*fp)(A0, A1)>
331 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
332 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
333 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
334 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
337template <
typename T,
typename A0,
typename A1>
339 template <
void (T::*fp)(A0, A1) const>
340 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
341 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
342 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
343 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
346template <
typename T,
typename R,
typename A0,
typename A1>
348 template <R (T::*fp)(A0, A1) const>
349 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
350 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
351 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
352 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
355template <
typename T,
typename A0,
typename A1>
357 template <
void (*fp)(T, A0, A1)>
358 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
361 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
362 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
365template <
typename T,
typename R,
typename A0,
typename A1>
367 template <R (*fp)(T, A0, A1)>
368 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
369 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
371 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
372 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value));
375template <
typename T,
typename A0,
typename A1>
377 template <
void (*fp)(A0, A1, T)>
378 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
380 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
381 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
385template <
typename T,
typename R,
typename A0,
typename A1>
387 template <R (*fp)(A0, A1, T)>
388 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
389 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
390 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
391 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
395template <
typename T,
typename A0,
typename A1>
397 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
398 new (gen->GetObject()) T(
399 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
400 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value);
403template <
typename A0,
typename A1,
typename A2>
405 template <
void (*fp)(A0, A1, A2)>
406 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
408 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
409 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
410 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
413template <
typename R,
typename A0,
typename A1,
typename A2>
415 template <R (*fp)(A0, A1, A2)>
416 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
417 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
418 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
419 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
420 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
423template <
typename T,
typename A0,
typename A1,
typename A2>
425 template <
void (T::*fp)(A0, A1, A2)>
426 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
427 ((
static_cast<T *
>(gen->GetObject())->*fp)(
428 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
429 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
430 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
433template <
typename T,
typename R,
typename A0,
typename A1,
typename A2>
435 template <R (T::*fp)(A0, A1, A2)>
436 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
437 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
438 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
439 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
440 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
443template <
typename T,
typename A0,
typename A1,
typename A2>
444struct Wrapper<void (T::*)(A0, A1, A2) const> {
445 template <
void (T::*fp)(A0, A1, A2) const>
446 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
447 ((
static_cast<T *
>(gen->GetObject())->*fp)(
448 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
449 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
450 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
453template <
typename T,
typename R,
typename A0,
typename A1,
typename A2>
455 template <R (T::*fp)(A0, A1, A2) const>
456 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
457 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
458 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
459 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
460 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
463template <
typename T,
typename A0,
typename A1,
typename A2>
465 template <
void (T::*fp)(A0, A1, A2)>
466 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
467 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
468 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
469 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
470 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
473template <
typename T,
typename R,
typename A0,
typename A1,
typename A2>
475 template <R (T::*fp)(A0, A1, A2)>
476 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
477 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
478 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
479 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
480 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
483template <
typename T,
typename A0,
typename A1,
typename A2>
485 template <
void (T::*fp)(A0, A1, A2) const>
486 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
487 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
488 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
489 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
490 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
493template <
typename T,
typename R,
typename A0,
typename A1,
typename A2>
495 template <R (T::*fp)(A0, A1, A2) const>
496 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
497 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
498 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
499 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
500 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
503template <
typename T,
typename A0,
typename A1,
typename A2>
505 template <
void (*fp)(T, A0, A1, A2)>
506 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
509 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
510 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
511 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
514template <
typename T,
typename R,
typename A0,
typename A1,
typename A2>
516 template <R (*fp)(T, A0, A1, A2)>
517 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
518 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
520 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
521 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
522 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value));
525template <
typename T,
typename A0,
typename A1,
typename A2>
527 template <
void (*fp)(A0, A1, A2, T)>
528 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
530 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
531 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
532 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
536template <
typename T,
typename R,
typename A0,
typename A1,
typename A2>
538 template <R (*fp)(A0, A1, A2, T)>
539 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
540 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
541 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
542 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
543 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
547template <
typename T,
typename A0,
typename A1,
typename A2>
549 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
550 new (gen->GetObject()) T(
551 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
552 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
553 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value);
556template <
typename A0,
typename A1,
typename A2,
typename A3>
558 template <
void (*fp)(A0, A1, A2, A3)>
559 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
561 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
562 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
563 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
564 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
567template <
typename R,
typename A0,
typename A1,
typename A2,
typename A3>
569 template <R (*fp)(A0, A1, A2, A3)>
570 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
571 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
572 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
573 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
574 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
575 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
578template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3>
580 template <
void (T::*fp)(A0, A1, A2, A3)>
581 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
582 ((
static_cast<T *
>(gen->GetObject())->*fp)(
583 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
584 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
585 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
586 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
589template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3>
591 template <R (T::*fp)(A0, A1, A2, A3)>
592 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
593 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
594 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
595 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
596 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
597 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
600template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3>
601struct Wrapper<void (T::*)(A0, A1, A2, A3) const> {
602 template <
void (T::*fp)(A0, A1, A2, A3) const>
603 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
604 ((
static_cast<T *
>(gen->GetObject())->*fp)(
605 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
606 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
607 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
608 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
611template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3>
612struct Wrapper<R (T::*)(A0, A1, A2, A3) const> {
613 template <R (T::*fp)(A0, A1, A2, A3) const>
614 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
615 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
616 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
617 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
618 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
619 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
622template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3>
624 template <
void (T::*fp)(A0, A1, A2, A3)>
625 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
626 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
627 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
628 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
629 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
630 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
633template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3>
635 template <R (T::*fp)(A0, A1, A2, A3)>
636 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
637 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
638 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
639 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
640 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
641 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
644template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3>
646 template <
void (T::*fp)(A0, A1, A2, A3) const>
647 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
648 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
649 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
650 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
651 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
652 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
655template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3>
657 template <R (T::*fp)(A0, A1, A2, A3) const>
658 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
659 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
660 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
661 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
662 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
663 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
666template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3>
668 template <
void (*fp)(T, A0, A1, A2, A3)>
669 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
672 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
673 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
674 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
675 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
678template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3>
680 template <R (*fp)(T, A0, A1, A2, A3)>
681 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
682 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
684 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
685 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
686 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
687 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value));
690template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3>
692 template <
void (*fp)(A0, A1, A2, A3, T)>
693 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
695 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
696 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
697 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
698 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
702template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3>
704 template <R (*fp)(A0, A1, A2, A3, T)>
705 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
706 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
707 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
708 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
709 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
710 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
714template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3>
716 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
717 new (gen->GetObject()) T(
718 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
719 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
720 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
721 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value);
724template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
726 template <
void (*fp)(A0, A1, A2, A3, A4)>
727 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
729 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
730 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
731 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
732 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
733 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
736template <
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
738 template <R (*fp)(A0, A1, A2, A3, A4)>
739 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
740 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
741 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
742 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
743 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
744 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
745 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
748template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
749struct Wrapper<void (T::*)(A0, A1, A2, A3, A4)> {
750 template <
void (T::*fp)(A0, A1, A2, A3, A4)>
751 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
752 ((
static_cast<T *
>(gen->GetObject())->*fp)(
753 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
754 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
755 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
756 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
757 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
760template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
762 template <R (T::*fp)(A0, A1, A2, A3, A4)>
763 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
764 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
765 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
766 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
767 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
768 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
769 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
772template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
773struct Wrapper<void (T::*)(A0, A1, A2, A3, A4) const> {
774 template <
void (T::*fp)(A0, A1, A2, A3, A4) const>
775 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
776 ((
static_cast<T *
>(gen->GetObject())->*fp)(
777 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
778 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
779 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
780 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
781 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
784template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
785struct Wrapper<R (T::*)(A0, A1, A2, A3, A4) const> {
786 template <R (T::*fp)(A0, A1, A2, A3, A4) const>
787 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
788 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
789 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
790 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
791 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
792 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
793 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
796template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
798 template <
void (T::*fp)(A0, A1, A2, A3, A4)>
799 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
800 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
801 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
802 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
803 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
804 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
805 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
808template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
810 template <R (T::*fp)(A0, A1, A2, A3, A4)>
811 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
812 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
813 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
814 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
815 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
816 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
817 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
820template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
822 template <
void (T::*fp)(A0, A1, A2, A3, A4) const>
823 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
824 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
825 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
826 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
827 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
828 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
829 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
832template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
834 template <R (T::*fp)(A0, A1, A2, A3, A4) const>
835 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
836 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
837 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
838 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
839 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
840 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
841 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
844template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
846 template <
void (*fp)(T, A0, A1, A2, A3, A4)>
847 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
850 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
851 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
852 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
853 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
854 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
857template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
859 template <R (*fp)(T, A0, A1, A2, A3, A4)>
860 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
861 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
863 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
864 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
865 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
866 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
867 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value));
870template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
871struct ObjLast<void (*)(A0, A1, A2, A3, A4, T)> {
872 template <
void (*fp)(A0, A1, A2, A3, A4, T)>
873 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
875 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
876 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
877 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
878 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
879 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
883template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
885 template <R (*fp)(A0, A1, A2, A3, A4, T)>
886 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
887 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
888 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
889 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
890 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
891 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
892 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
896template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
898 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
899 new (gen->GetObject()) T(
900 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
901 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
902 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
903 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
904 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value);
907template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
908struct Wrapper<void (*)(A0, A1, A2, A3, A4, A5)> {
909 template <
void (*fp)(A0, A1, A2, A3, A4, A5)>
910 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
912 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
913 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
914 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
915 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
916 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
917 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
920template <
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
921struct Wrapper<R (*)(A0, A1, A2, A3, A4, A5)> {
922 template <R (*fp)(A0, A1, A2, A3, A4, A5)>
923 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
924 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
925 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
926 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
927 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
928 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
929 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
930 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
933template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
934struct Wrapper<void (T::*)(A0, A1, A2, A3, A4, A5)> {
935 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5)>
936 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
937 ((
static_cast<T *
>(gen->GetObject())->*fp)(
938 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
939 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
940 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
941 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
942 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
943 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
946template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
947struct Wrapper<R (T::*)(A0, A1, A2, A3, A4, A5)> {
948 template <R (T::*fp)(A0, A1, A2, A3, A4, A5)>
949 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
950 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
951 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
952 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
953 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
954 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
955 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
956 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
959template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
960struct Wrapper<void (T::*)(A0, A1, A2, A3, A4, A5) const> {
961 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5) const>
962 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
963 ((
static_cast<T *
>(gen->GetObject())->*fp)(
964 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
965 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
966 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
967 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
968 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
969 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
972template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
973struct Wrapper<R (T::*)(A0, A1, A2, A3, A4, A5) const> {
974 template <R (T::*fp)(A0, A1, A2, A3, A4, A5) const>
975 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
976 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
977 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
978 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
979 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
980 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
981 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
982 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
985template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
987 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5)>
988 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
989 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
990 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
991 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
992 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
993 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
994 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
995 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
998template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1000 template <R (T::*fp)(A0, A1, A2, A3, A4, A5)>
1001 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1002 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1003 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1004 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1005 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1006 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1007 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1008 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
1011template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1013 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5) const>
1014 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1015 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1016 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1017 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1018 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1019 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1020 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1021 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
1024template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1026 template <R (T::*fp)(A0, A1, A2, A3, A4, A5) const>
1027 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1028 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1029 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1030 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1031 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1032 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1033 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1034 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
1037template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1039 template <
void (*fp)(T, A0, A1, A2, A3, A4, A5)>
1040 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1043 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1044 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1045 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1046 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1047 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1048 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
1051template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1053 template <R (*fp)(T, A0, A1, A2, A3, A4, A5)>
1054 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1055 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1057 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1058 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1059 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1060 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1061 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1062 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value));
1065template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1066struct ObjLast<void (*)(A0, A1, A2, A3, A4, A5, T)> {
1067 template <
void (*fp)(A0, A1, A2, A3, A4, A5, T)>
1068 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1070 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1071 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1072 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1073 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1074 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1075 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1079template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1081 template <R (*fp)(A0, A1, A2, A3, A4, A5, T)>
1082 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1083 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1084 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1085 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1086 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1087 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1088 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1089 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1093template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1095 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1096 new (gen->GetObject()) T(
1097 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1098 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1099 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1100 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1101 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1102 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value);
1105template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1106struct Wrapper<void (*)(A0, A1, A2, A3, A4, A5, A6)> {
1107 template <
void (*fp)(A0, A1, A2, A3, A4, A5, A6)>
1108 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1110 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1111 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1112 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1113 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1114 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1115 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1116 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1119template <
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1120struct Wrapper<R (*)(A0, A1, A2, A3, A4, A5, A6)> {
1121 template <R (*fp)(A0, A1, A2, A3, A4, A5, A6)>
1122 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1123 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1124 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1125 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1126 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1127 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1128 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1129 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1130 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1133template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1134struct Wrapper<void (T::*)(A0, A1, A2, A3, A4, A5, A6)> {
1135 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6)>
1136 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1137 ((
static_cast<T *
>(gen->GetObject())->*fp)(
1138 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1139 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1140 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1141 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1142 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1143 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1144 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1147template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1148struct Wrapper<R (T::*)(A0, A1, A2, A3, A4, A5, A6)> {
1149 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6)>
1150 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1151 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
1152 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1153 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1154 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1155 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1156 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1157 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1158 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1161template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1162struct Wrapper<void (T::*)(A0, A1, A2, A3, A4, A5, A6) const> {
1163 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6) const>
1164 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1165 ((
static_cast<T *
>(gen->GetObject())->*fp)(
1166 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1167 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1168 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1169 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1170 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1171 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1172 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1175template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1176struct Wrapper<R (T::*)(A0, A1, A2, A3, A4, A5, A6) const> {
1177 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6) const>
1178 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1179 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
1180 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1181 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1182 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1183 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1184 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1185 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1186 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1189template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1191 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6)>
1192 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1193 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1194 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1195 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1196 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1197 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1198 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1199 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1200 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1203template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1205 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6)>
1206 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1207 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1208 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1209 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1210 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1211 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1212 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1213 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1214 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1217template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1219 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6) const>
1220 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1221 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1222 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1223 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1224 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1225 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1226 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1227 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1228 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1231template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1233 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6) const>
1234 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1235 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1236 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1237 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1238 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1239 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1240 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1241 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1242 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1245template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1246struct ObjFirst<void (*)(T, A0, A1, A2, A3, A4, A5, A6)> {
1247 template <
void (*fp)(T, A0, A1, A2, A3, A4, A5, A6)>
1248 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1251 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1252 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1253 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1254 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1255 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1256 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1257 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1260template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1262 template <R (*fp)(T, A0, A1, A2, A3, A4, A5, A6)>
1263 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1264 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1266 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1267 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1268 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1269 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1270 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1271 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1272 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value));
1275template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1276struct ObjLast<void (*)(A0, A1, A2, A3, A4, A5, A6, T)> {
1277 template <
void (*fp)(A0, A1, A2, A3, A4, A5, A6, T)>
1278 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1280 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1281 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1282 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1283 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1284 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1285 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1286 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1290template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1291struct ObjLast<R (*)(A0, A1, A2, A3, A4, A5, A6, T)> {
1292 template <R (*fp)(A0, A1, A2, A3, A4, A5, A6, T)>
1293 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1294 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1295 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1296 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1297 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1298 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1299 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1300 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1301 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1305template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1307 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1308 new (gen->GetObject()) T(
1309 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1310 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1311 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1312 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1313 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1314 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1315 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value);
1318template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1319struct Wrapper<void (*)(A0, A1, A2, A3, A4, A5, A6, A7)> {
1320 template <
void (*fp)(A0, A1, A2, A3, A4, A5, A6, A7)>
1321 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1323 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1324 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1325 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1326 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1327 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1328 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1329 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1330 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1333template <
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1334struct Wrapper<R (*)(A0, A1, A2, A3, A4, A5, A6, A7)> {
1335 template <R (*fp)(A0, A1, A2, A3, A4, A5, A6, A7)>
1336 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1337 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1338 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1339 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1340 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1341 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1342 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1343 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1344 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1345 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1348template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1349struct Wrapper<void (T::*)(A0, A1, A2, A3, A4, A5, A6, A7)> {
1350 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7)>
1351 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1352 ((
static_cast<T *
>(gen->GetObject())->*fp)(
1353 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1354 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1355 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1356 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1357 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1358 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1359 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1360 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1363template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1364struct Wrapper<R (T::*)(A0, A1, A2, A3, A4, A5, A6, A7)> {
1365 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7)>
1366 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1367 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
1368 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1369 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1370 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1371 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1372 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1373 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1374 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1375 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1378template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1379struct Wrapper<void (T::*)(A0, A1, A2, A3, A4, A5, A6, A7) const> {
1380 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7) const>
1381 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1382 ((
static_cast<T *
>(gen->GetObject())->*fp)(
1383 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1384 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1385 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1386 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1387 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1388 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1389 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1390 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1393template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1394struct Wrapper<R (T::*)(A0, A1, A2, A3, A4, A5, A6, A7) const> {
1395 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7) const>
1396 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1397 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetObject())->*fp)(
1398 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1399 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1400 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1401 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1402 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1403 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1404 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1405 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1408template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1410 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7)>
1411 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1412 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1413 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1414 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1415 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1416 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1417 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1418 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1419 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1420 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1423template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1425 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7)>
1426 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1427 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1428 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1429 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1430 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1431 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1432 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1433 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1434 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1435 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1438template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1440 template <
void (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7) const>
1441 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1442 ((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1443 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1444 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1445 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1446 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1447 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1448 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1449 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1450 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1453template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1455 template <R (T::*fp)(A0, A1, A2, A3, A4, A5, A6, A7) const>
1456 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1457 new (gen->GetAddressOfReturnLocation())
Proxy<R>((
static_cast<T *
>(gen->GetAuxiliary())->*fp)(
1458 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1459 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1460 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1461 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1462 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1463 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1464 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1465 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1468template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1469struct ObjFirst<void (*)(T, A0, A1, A2, A3, A4, A5, A6, A7)> {
1470 template <
void (*fp)(T, A0, A1, A2, A3, A4, A5, A6, A7)>
1471 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1474 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1475 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1476 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1477 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1478 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1479 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1480 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1481 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1484template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1485struct ObjFirst<R (*)(T, A0, A1, A2, A3, A4, A5, A6, A7)> {
1486 template <R (*fp)(T, A0, A1, A2, A3, A4, A5, A6, A7)>
1487 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1488 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1490 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1491 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1492 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1493 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1494 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1495 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1496 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1497 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value));
1500template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1501struct ObjLast<void (*)(A0, A1, A2, A3, A4, A5, A6, A7, T)> {
1502 template <
void (*fp)(A0, A1, A2, A3, A4, A5, A6, A7, T)>
1503 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1505 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1506 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1507 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1508 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1509 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1510 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1511 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1512 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value,
1516template <
typename T,
typename R,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1517struct ObjLast<R (*)(A0, A1, A2, A3, A4, A5, A6, A7, T)> {
1518 template <R (*fp)(A0, A1, A2, A3, A4, A5, A6, A7, T)>
1519 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1520 new (gen->GetAddressOfReturnLocation())
Proxy<R>((fp)(
1521 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1522 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1523 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1524 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1525 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1526 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1527 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1528 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value,
1532template <
typename T,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1534 static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) {
1535 new (gen->GetObject()) T(
1536 static_cast<Proxy <A0> *
>(gen->GetAddressOfArg(0))->value,
1537 static_cast<Proxy <A1> *
>(gen->GetAddressOfArg(1))->value,
1538 static_cast<Proxy <A2> *
>(gen->GetAddressOfArg(2))->value,
1539 static_cast<Proxy <A3> *
>(gen->GetAddressOfArg(3))->value,
1540 static_cast<Proxy <A4> *
>(gen->GetAddressOfArg(4))->value,
1541 static_cast<Proxy <A5> *
>(gen->GetAddressOfArg(5))->value,
1542 static_cast<Proxy <A6> *
>(gen->GetAddressOfArg(6))->value,
1543 static_cast<Proxy <A7> *
>(gen->GetAddressOfArg(7))->value);
1546template <
typename T>
1554template <
typename T>
1559#if defined(__GNUC__)
1560 #define TMPL template
1565#define WRAP_FN(name) (::gw::id(name).TMPL f< name >())
1566#define WRAP_MFN(ClassType, name) (::gw::id(&ClassType::name).TMPL f< &ClassType::name >())
1567#define WRAP_MFN_GLOBAL(ClassType, name) (::gw::id(&ClassType::name).TMPL fg< &ClassType::name >())
1568#define WRAP_OBJ_FIRST(name) (::gw::id(name).TMPL of< name >())
1569#define WRAP_OBJ_LAST(name) (::gw::id(name).TMPL ol< name >())
1571#define WRAP_FN_PR(name, Parameters, ReturnType) asFUNCTION((::gw::Wrapper<ReturnType (*)Parameters>::TMPL f< name >))
1572#if defined(__clang__)
1574 #define WRAP_MFN_PR(ClassType, name, Parameters, ReturnType) asFUNCTION((::gw::Wrapper<ReturnType (ClassType::*)Parameters>::TMPL f< &ClassType::name >))
1575 #define WRAP_MFN_GLOBAL_PR(ClassType, name, Parameters, ReturnType) asFUNCTION((::gw::WrapperGlobal<ReturnType (ClassType::*)Parameters>::TMPL f< &ClassType::name >))
1577 #define WRAP_MFN_PR(ClassType, name, Parameters, ReturnType) asFUNCTION((::gw::Wrapper<ReturnType (ClassType::*)Parameters>::TMPL f< AS_METHOD_AMBIGUITY_CAST(ReturnType (ClassType::*)Parameters)(&ClassType::name) >))
1578 #define WRAP_MFN_GLOBAL_PR(ClassType, name, Parameters, ReturnType) asFUNCTION((::gw::WrapperGlobal<ReturnType (ClassType::*)Parameters>::TMPL f< AS_METHOD_AMBIGUITY_CAST(ReturnType (ClassType::*)Parameters)(&ClassType::name) >))
1580#define WRAP_OBJ_FIRST_PR(name, Parameters, ReturnType) asFUNCTION((::gw::ObjFirst<ReturnType (*)Parameters>::TMPL f< name >))
1581#define WRAP_OBJ_LAST_PR(name, Parameters, ReturnType) asFUNCTION((::gw::ObjLast<ReturnType (*)Parameters>::TMPL f< name >))
1583#define WRAP_CON(ClassType, Parameters) asFUNCTION((::gw::Constructor<ClassType Parameters>::f))
1584#define WRAP_DES(ClassType) asFUNCTION((::gw::destroy<ClassType>))
Proxy & operator=(const Proxy &)
void destroy(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
AS_NAMESPACE_QUALIFIER asSFuncPtr fg(void)
AS_NAMESPACE_QUALIFIER asSFuncPtr f(void)
AS_NAMESPACE_QUALIFIER asSFuncPtr ol(void)
AS_NAMESPACE_QUALIFIER asSFuncPtr of(void)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)
static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric *gen)