![]() |
XII Release 0.1.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 | |
xiiAbstractProperty (xiiStringView sPropertyName) | |
The constructor must get the name of the property. The string must be a compile-time constant. | |
xiiStringView | GetPropertyName () const |
Returns the name of the property. | |
virtual const xiiRTTI * | GetSpecificType () const =0 |
Returns the type information of the constant property. Use this to cast this property to a specific version of xiiTypedConstantProperty. | |
virtual xiiPropertyCategory::Enum | GetCategory () const =0 |
Returns the category of this property. Cast this property to the next higher type for more information. | |
const xiiBitflags< xiiPropertyFlags > & | GetFlags () const |
Returns the flags of the property. | |
xiiAbstractProperty * | AddFlags (xiiBitflags< xiiPropertyFlags > flags) |
Adds flags to the property. Returns itself to allow to be called during initialization. | |
xiiAbstractProperty * | AddAttributes (xiiPropertyAttribute *pAttrib1, xiiPropertyAttribute *pAttrib2=nullptr, xiiPropertyAttribute *pAttrib3=nullptr, xiiPropertyAttribute *pAttrib4=nullptr, xiiPropertyAttribute *pAttrib5=nullptr, xiiPropertyAttribute *pAttrib6=nullptr) |
Adds attributes to the property. Returns itself to allow to be called during initialization. Allocate an attribute using standard 'new'. | |
xiiArrayPtr< const xiiPropertyAttribute *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 | |
xiiBitflags< xiiPropertyFlags > | m_Flags |
xiiStringView | m_sPropertyName |
xiiHybridArray< const xiiPropertyAttribute *, 2U, xiiStaticAllocatorWrapper > | 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 xiiAbstractArrayProperty, xiiAbstractConstantProperty, xiiAbstractFunctionProperty, xiiAbstractMapProperty, xiiAbstractMemberProperty, and xiiAbstractSetProperty.
|
pure virtual |
Returns the type information of the constant property. Use this to cast this property to a specific version of xiiTypedConstantProperty.
Implemented in xiiAbstractFunctionProperty, xiiPhantomArrayProperty, xiiPhantomConstantProperty, xiiPhantomMapProperty, xiiPhantomMemberProperty, xiiPhantomSetProperty, xiiTypedArrayProperty< Type >, xiiTypedArrayProperty< const char * >, xiiTypedArrayProperty< const char * >, xiiTypedArrayProperty< xiiTypeTraits< Type >::NonConstReferenceType >, xiiTypedConstantProperty< Type >, xiiTypedEnumProperty< EnumType >, xiiTypedMapProperty< Type >, xiiTypedMapProperty< xiiTypeTraits< Type >::NonConstReferenceType >, xiiTypedMemberProperty< Type >, xiiTypedMemberProperty< const char * >, xiiTypedMemberProperty< const char * >, xiiTypedMemberProperty< xiiColor >, xiiTypedMemberProperty< xiiColorGammaUB >, xiiTypedMemberProperty< xiiStringView >, xiiTypedMemberProperty< xiiTypeTraits< Type >::NonConstReferenceType >, xiiTypedSetProperty< Type >, xiiTypedSetProperty< const char * >, xiiTypedSetProperty< const char * >, xiiTypedSetProperty< xiiStringView >, xiiTypedSetProperty< xiiTypeTraits< Type >::NonConstReferenceType >, and xiiTypedSetProperty< xiiTypeTraits< xiiStringView >::NonConstReferenceType >.