15enum EInternal {EC_InternalUseOnlyConstructor};
23#define DEFINE_DEFAULT_CONSTRUCTOR_CALL(TClass) \
24 static void __DefaultConstructor(const FObjectInitializer& X) { new((EInternal*)X.GetObj())TClass; }
26#define DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(TClass) \
27 static void __DefaultConstructor(const FObjectInitializer& X) { new((EInternal*)X.GetObj())TClass(X); }
44#define DECLARE_KARMA_CLASS(TClass, TSuperClass) \
46 DEFINE_DEFAULT_CONSTRUCTOR_CALL(TClass) \
48 typedef TSuperClass Super;\
50 static UClass* StaticClass() \
52 UClass* returnClass_##TClass = nullptr; \
53 if(strcmp(#TClass, #TSuperClass) != 0) \
55 GetPrivateStaticClassBody( \
58 returnClass_##TClass, \
61 (ClassConstructorType)InternalConstructor<TClass>, \
62 &TClass::Super::StaticClass \
67 GetPrivateStaticClassBody( \
70 returnClass_##TClass, \
73 (ClassConstructorType)InternalConstructor<TClass>, \
74 &TClass::Super::NullClass \
77 return returnClass_##TClass; \
79 inline static UClass* NullClass() \
Internal class to finalize UObject creation (initialize properties) after the real C++ constructor is...
Definition UObjectGlobals.h:921