Go to the source code of this file.
Classes | |
class | FUObjectType |
An object type. More... | |
Defines | |
#define | DeclareObjectType(_ParentClass) |
Declares the object type for an object class. | |
#define | ImplementObjectType(ClassName) |
Implements the object type for an object class. | |
#define | ImplementObjectTypeT(ClassName) |
See above. | |
#define | ImplementObjectType_NoDefaultRelease(ClassName) FUObjectType ClassName::__classType(Parent::GetClassType(), #ClassName); |
Implements the object type for an object class, but without the Release() function. |
|
Value: private: \ static class FUObjectType __classType; \ typedef _ParentClass Parent; \ public: \ static const FUObjectType& GetClassType() { return __classType; } \ virtual const FUObjectType& GetObjectType() const { return __classType; } \ virtual void Release(); \ private: Use this macro inside the class declarations of up-classes of the FUObject class to easily implement RTTI.
|
|
Value: FUObjectType ClassName::__classType(Parent::GetClassType(), #ClassName); \ void ClassName::Release() { Detach(); delete this; } Use this macro inside your code files only to create the objects necessary to support RTTI in your up-classes of the FUObject class.
|
|
Implements the object type for an object class, but without the Release() function. Use this macro inside your code files only to create the objects necessary to support RTTI in your up-classes of the FUObject class. You will need to manually implement the Release() function, without declaring it. The default implementation of the Release() function is the following: Release() { delete this; }.
|
|
Value: template <> \ FUObjectType ClassName::__classType(Parent::GetClassType(), #ClassName); \ template <> \ void ClassName::Release() { Detach(); delete this; }
|