// DO NOT EDIT. This file is generated #pragma once #include #include namespace Urho3D { // Constructors that don't require parameter conversion between C++ and AngelScript #ifdef AS_MAX_PORTABILITY template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0))); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1))); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2))); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3))); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4))); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4)), *reinterpret_cast(gen->GetAddressOfArg(5))); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4)), *reinterpret_cast(gen->GetAddressOfArg(5)), *reinterpret_cast(gen->GetAddressOfArg(6))); } template void ASCompatibleConstructor(asIScriptGeneric* gen) { new (gen->GetObject()) C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4)), *reinterpret_cast(gen->GetAddressOfArg(5)), *reinterpret_cast(gen->GetAddressOfArg(6)), *reinterpret_cast(gen->GetAddressOfArg(7))); } #else template void ASCompatibleConstructor(C* ptr) { new (ptr) C(); } template void ASCompatibleConstructor(C* ptr, P0 p0) { new (ptr) C(p0); } template void ASCompatibleConstructor(C* ptr, P0 p0, P1 p1) { new (ptr) C(p0, p1); } template void ASCompatibleConstructor(C* ptr, P0 p0, P1 p1, P2 p2) { new (ptr) C(p0, p1, p2); } template void ASCompatibleConstructor(C* ptr, P0 p0, P1 p1, P2 p2, P3 p3) { new (ptr) C(p0, p1, p2, p3); } template void ASCompatibleConstructor(C* ptr, P0 p0, P1 p1, P2 p2, P3 p3, P4 p4) { new (ptr) C(p0, p1, p2, p3, p4); } template void ASCompatibleConstructor(C* ptr, P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { new (ptr) C(p0, p1, p2, p3, p4, p5); } template void ASCompatibleConstructor(C* ptr, P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { new (ptr) C(p0, p1, p2, p3, p4, p5, p6); } template void ASCompatibleConstructor(C* ptr, P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { new (ptr) C(p0, p1, p2, p3, p4, p5, p6, p7); } #endif // Factories that don't require parameter conversion between C++ and AngelScript #ifdef AS_MAX_PORTABILITY template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C()); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)))); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)))); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)))); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)))); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4)))); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4)), *reinterpret_cast(gen->GetAddressOfArg(5)))); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4)), *reinterpret_cast(gen->GetAddressOfArg(5)), *reinterpret_cast(gen->GetAddressOfArg(6)))); } template void ASCompatibleFactory(asIScriptGeneric* gen) { gen->SetReturnAddress(new C(*reinterpret_cast(gen->GetAddressOfArg(0)), *reinterpret_cast(gen->GetAddressOfArg(1)), *reinterpret_cast(gen->GetAddressOfArg(2)), *reinterpret_cast(gen->GetAddressOfArg(3)), *reinterpret_cast(gen->GetAddressOfArg(4)), *reinterpret_cast(gen->GetAddressOfArg(5)), *reinterpret_cast(gen->GetAddressOfArg(6)), *reinterpret_cast(gen->GetAddressOfArg(7)))); } #else template C* ASCompatibleFactory() { return new C(); } template C* ASCompatibleFactory(P0 p0) { return new C(p0); } template C* ASCompatibleFactory(P0 p0, P1 p1) { return new C(p0, p1); } template C* ASCompatibleFactory(P0 p0, P1 p1, P2 p2) { return new C(p0, p1, p2); } template C* ASCompatibleFactory(P0 p0, P1 p1, P2 p2, P3 p3) { return new C(p0, p1, p2, p3); } template C* ASCompatibleFactory(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4) { return new C(p0, p1, p2, p3, p4); } template C* ASCompatibleFactory(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { return new C(p0, p1, p2, p3, p4, p5); } template C* ASCompatibleFactory(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { return new C(p0, p1, p2, p3, p4, p5, p6); } template C* ASCompatibleFactory(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { return new C(p0, p1, p2, p3, p4, p5, p6, p7); } #endif } // namespace Urho3D