// This file was generated by the angelscript autowrapper addon // Modified by Nathanial Lydick for Urho3D (including the addition of the above notice) #ifndef AS_GEN_WRAPPER_H #define AS_GEN_WRAPPER_H #ifndef ANGELSCRIPT_H // Avoid having to inform include path if header is already include before #include #endif #include namespace gw { template class Proxy { public: T value; Proxy(T value) : value(value) {} static T cast(void * ptr) { return reinterpret_cast *>(&ptr)->value; } private: Proxy(const Proxy &); Proxy & operator=(const Proxy &); }; template struct Wrapper {}; template struct ObjFirst {}; template struct ObjLast {}; template struct Constructor {}; template void destroy(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { static_cast(gen->GetObject())->~T(); } template <> struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)()); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)()); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)()); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)()); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)()); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)()); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()))); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T(); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct Wrapper { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((static_cast(gen->GetObject())->*fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct ObjFirst { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( Proxy::cast(gen->GetObject()), static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value)); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { ((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value, Proxy::cast(gen->GetObject()))); } }; template struct ObjLast { template static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetAddressOfReturnLocation()) Proxy((fp)( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value, Proxy::cast(gen->GetObject()))); } }; template struct Constructor { static void f(AS_NAMESPACE_QUALIFIER asIScriptGeneric * gen) { new (gen->GetObject()) T( static_cast *>(gen->GetAddressOfArg(0))->value, static_cast *>(gen->GetAddressOfArg(1))->value, static_cast *>(gen->GetAddressOfArg(2))->value, static_cast *>(gen->GetAddressOfArg(3))->value, static_cast *>(gen->GetAddressOfArg(4))->value, static_cast *>(gen->GetAddressOfArg(5))->value, static_cast *>(gen->GetAddressOfArg(6))->value, static_cast *>(gen->GetAddressOfArg(7))->value, static_cast *>(gen->GetAddressOfArg(8))->value, static_cast *>(gen->GetAddressOfArg(9))->value, static_cast *>(gen->GetAddressOfArg(10))->value, static_cast *>(gen->GetAddressOfArg(11))->value, static_cast *>(gen->GetAddressOfArg(12))->value, static_cast *>(gen->GetAddressOfArg(13))->value, static_cast *>(gen->GetAddressOfArg(14))->value, static_cast *>(gen->GetAddressOfArg(15))->value); } }; template struct Id { template AS_NAMESPACE_QUALIFIER asSFuncPtr f(void) { return asFunctionPtr(&Wrapper::template f); } template AS_NAMESPACE_QUALIFIER asSFuncPtr of(void) { return asFunctionPtr(&ObjFirst::template f); } template AS_NAMESPACE_QUALIFIER asSFuncPtr ol(void) { return asFunctionPtr(&ObjLast::template f); } }; template Id id(T fn_ptr) { return Id(); } // On some versions of GNUC it is necessary to use the template keyword as disambiguator, // on others the template keyword gives an error, hence the need for the following define. // MSVC on the other hand seems to accept both with or without the template keyword. #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || (__GNUC__ == 5)) // GNUC 4.4.3 doesn't need the template keyword, and // hopefully upcoming versions won't need it either #define TMPL template #else #define TMPL #endif #define WRAP_FN(name) (::gw::id(name).TMPL f< name >()) #define WRAP_MFN(ClassType, name) (::gw::id(&ClassType::name).TMPL f< &ClassType::name >()) #define WRAP_OBJ_FIRST(name) (::gw::id(name).TMPL of< name >()) #define WRAP_OBJ_LAST(name) (::gw::id(name).TMPL ol< name >()) #define WRAP_FN_PR(name, Parameters, ReturnType) asFunctionPtr((::gw::Wrapper::TMPL f< name >)) // Urho3D: The template method did not compile for me (emscripten and gcc), hence the lambda stuff in the wrap.h file //#define WRAP_MFN_PR(ClassType, name, Parameters, ReturnType) asFunctionPtr((::gw::Wrapper::TMPL f< &ClassType::name >)) #define WRAP_OBJ_FIRST_PR(name, Parameters, ReturnType) asFunctionPtr((::gw::ObjFirst::TMPL f< name >)) #define WRAP_OBJ_LAST_PR(name, Parameters, ReturnType) asFunctionPtr((::gw::ObjLast::TMPL f< name >)) #define WRAP_CON(ClassType, Parameters) asFunctionPtr((::gw::Constructor::f)) #define WRAP_DES(ClassType) asFunctionPtr((::gw::destroy)) } // end namespace gw // Urho3D: The template method did not compile for me (emscripten and gcc), hence the lambda stuff in the wrap.h file #include "wrap.h" #endif