![]() |
Plasma Engine
2.0
|
This is the base interface for all properties in the reflection system. It provides enough information to cast to the next better base class. More...
#include <AbstractProperty.h>

Public Member Functions | |
| plAbstractProperty (const char *szPropertyName) | |
| The constructor must get the name of the property. The string must be a compile-time constant. | |
| const char * | GetPropertyName () const |
| Returns the name of the property. | |
| virtual const plRTTI * | GetSpecificType () const =0 |
| Returns the type information of the constant property. Use this to cast this property to a specific version of plTypedConstantProperty. | |
| virtual plPropertyCategory::Enum | GetCategory () const =0 |
| Returns the category of this property. Cast this property to the next higher type for more information. | |
| const plBitflags< plPropertyFlags > & | GetFlags () const |
| Returns the flags of the property. | |
| plAbstractProperty * | AddFlags (plBitflags< plPropertyFlags > flags) |
| Adds flags to the property. Returns itself to allow to be called during initialization. | |
| plAbstractProperty * | AddAttributes (plPropertyAttribute *pAttrib1, plPropertyAttribute *pAttrib2=nullptr, plPropertyAttribute *pAttrib3=nullptr, plPropertyAttribute *pAttrib4=nullptr, plPropertyAttribute *pAttrib5=nullptr, plPropertyAttribute *pAttrib6=nullptr) |
| Adds attributes to the property. Returns itself to allow to be called during initialization. Allocate an attribute using standard 'new'. | |
| plArrayPtr< const plPropertyAttribute *const > | GetAttributes () const |
| Returns the array of property attributes. | |
| template<typename Type > | |
| const Type * | GetAttributeByType () const |
| Returns the first attribute that derives from the given type, or nullptr if nothing is found. | |
Protected Attributes | |
| plBitflags< plPropertyFlags > | m_Flags |
| const char * | m_szPropertyName |
| plHybridArray< const plPropertyAttribute *, 2, plStaticsAllocatorWrapper > | m_Attributes |
This is the base interface for all properties in the reflection system. It provides enough information to cast to the next better base class.
|
pure virtual |
Returns the category of this property. Cast this property to the next higher type for more information.
Implemented in plAbstractArrayProperty, plAbstractConstantProperty, plAbstractFunctionProperty, plAbstractMapProperty, plAbstractMemberProperty, and plAbstractSetProperty.
|
pure virtual |
Returns the type information of the constant property. Use this to cast this property to a specific version of plTypedConstantProperty.
Implemented in plAbstractFunctionProperty, plPhantomArrayProperty, plPhantomConstantProperty, plPhantomMapProperty, plPhantomMemberProperty, plPhantomSetProperty, plTypedArrayProperty< Type >, plTypedArrayProperty< const char * >, plTypedArrayProperty< plTypeTraits< Type >::NonConstReferenceType >, plTypedConstantProperty< Type >, plTypedEnumProperty< EnumType >, plTypedMapProperty< Type >, plTypedMapProperty< plTypeTraits< Type >::NonConstReferenceType >, plTypedMemberProperty< Type >, plTypedMemberProperty< const char * >, plTypedMemberProperty< plColor >, plTypedMemberProperty< plColorGammaUB >, plTypedMemberProperty< plTypeTraits< Type >::NonConstReferenceType >, plTypedSetProperty< Type >, plTypedSetProperty< const char * >, plTypedSetProperty< plTypeTraits< const char * >::NonConstReferenceType >, and plTypedSetProperty< plTypeTraits< Type >::NonConstReferenceType >.