![]() |
XII Release 0.1.0
|
[internal] Base class for enum / bitflags properties that already defines the type. More...
#include <EnumProperty.h>
Public Member Functions | |
xiiTypedEnumProperty (xiiStringView sPropertyName) | |
Passes the property name through to xiiAbstractEnumerationProperty. | |
virtual const xiiRTTI * | GetSpecificType () const override |
Returns the actual type of the property. You can then test whether it derives from xiiEnumBase or xiiBitflagsBase to determine whether we are dealing with an enum or bitflags property. | |
![]() | |
xiiAbstractEnumerationProperty (xiiStringView sPropertyName) | |
Passes the property name through to xiiAbstractMemberProperty. | |
virtual xiiInt64 | GetValue (const void *pInstance) const =0 |
Returns the value of the property. Pass the instance pointer to the surrounding class along. | |
virtual void | SetValue (void *pInstance, xiiInt64 value) const =0 |
Modifies the value of the property. Pass the instance pointer to the surrounding class along. | |
virtual void | GetValuePtr (const void *pInstance, void *pObject) const override |
Writes the value of this property in pInstance to pObject. pObject needs to point to an instance of this property's type. | |
virtual void | SetValuePtr (void *pInstance, const void *pObject) const override |
Sets the value of pObject to the property in pInstance. pObject needs to point to an instance of this property's type. | |
![]() | |
xiiAbstractMemberProperty (xiiStringView sPropertyName) | |
Passes the property name through to xiiAbstractProperty. | |
virtual xiiPropertyCategory::Enum | GetCategory () const override |
Returns xiiPropertyCategory::Member. | |
virtual void * | GetPropertyPointer (const void *pInstance) const =0 |
Returns a pointer to the property data or nullptr. If a valid pointer is returned, that pointer and the information from GetSpecificType() can be used to step deeper into the type (if required). | |
![]() | |
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. | |
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. | |
Additional Inherited Members | |
![]() | |
xiiBitflags< xiiPropertyFlags > | m_Flags |
xiiStringView | m_sPropertyName |
xiiHybridArray< const xiiPropertyAttribute *, 2U, xiiStaticAllocatorWrapper > | m_Attributes |
[internal] Base class for enum / bitflags properties that already defines the type.
|
inlineoverridevirtual |
Returns the actual type of the property. You can then test whether it derives from xiiEnumBase or xiiBitflagsBase to determine whether we are dealing with an enum or bitflags property.
Implements xiiAbstractProperty.