![]() |
XII Release 0.1.0
|
[internal] An implementation of xiiTypedMemberProperty that accesses the property data directly. More...
#include <MemberProperty.h>
Public Types | |
| using | GetterFunc = Type (*)(const Class* pInstance) |
| using | SetterFunc = void (*)(Class* pInstance, Type value) |
| using | PointerFunc = void* (*)(const Class* pInstance) |
Public Member Functions | |
| xiiMemberProperty (xiiStringView sPropertyName, GetterFunc getter, SetterFunc setter, PointerFunc pointer) | |
| Constructor. | |
| virtual void * | GetPropertyPointer (const void *pInstance) const override |
| Returns a pointer to the member property. | |
| virtual Type | GetValue (const void *pInstance) const override |
| Returns the value of the property. Pass the instance pointer to the surrounding class along. | |
| virtual void | SetValue (void *pInstance, Type value) const override |
| Modifies the value of the property. Pass the instance pointer to the surrounding class along. | |
Public Member Functions inherited from xiiTypedMemberProperty< Type > | |
| xiiTypedMemberProperty (xiiStringView sPropertyName) | |
| Passes the property name through to xiiAbstractMemberProperty. | |
| virtual const xiiRTTI * | GetSpecificType () const override |
| Returns the actual type of the property. You can then compare that with known types, eg. compare it to xiiGetStaticRTTI<int>() to see whether this is an int property. | |
| 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. | |
Public Member Functions inherited from xiiAbstractMemberProperty | |
| xiiAbstractMemberProperty (xiiStringView sPropertyName) | |
| Passes the property name through to xiiAbstractProperty. | |
| virtual xiiPropertyCategory::Enum | GetCategory () const override |
| Returns xiiPropertyCategory::Member. | |
Public Member Functions inherited from xiiAbstractProperty | |
| 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 | |
Protected Attributes inherited from xiiAbstractProperty | |
| xiiBitflags< xiiPropertyFlags > | m_Flags |
| xiiStringView | m_sPropertyName |
| xiiHybridArray< const xiiPropertyAttribute *, 2U, xiiStaticAllocatorWrapper > | m_Attributes |
[internal] An implementation of xiiTypedMemberProperty that accesses the property data directly.
|
inlineoverridevirtual |
Returns a pointer to the member property.
Implements xiiAbstractMemberProperty.
|
inlineoverridevirtual |
Returns the value of the property. Pass the instance pointer to the surrounding class along.
Implements xiiTypedMemberProperty< Type >.
|
inlineoverridevirtual |
Modifies the value of the property. Pass the instance pointer to the surrounding class along.
Implements xiiTypedMemberProperty< Type >.