![]() |
ezEngine Release 26.3
|
Implementation of ezTypedMemberProperty that provides direct access to member variables. 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 | |
| ezMemberProperty (const char *szPropertyName, 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 ezTypedMemberProperty< Type > | |
| ezTypedMemberProperty (const char *szPropertyName) | |
| Passes the property name through to ezAbstractMemberProperty. | |
| virtual const ezRTTI * | GetSpecificType () const override |
| Returns the actual type of the property. You can then compare that with known types, eg. compare it to ezGetStaticRTTI<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 ezAbstractMemberProperty | |
| ezAbstractMemberProperty (const char *szPropertyName) | |
| Passes the property name through to ezAbstractProperty. | |
| virtual ezPropertyCategory::Enum | GetCategory () const override |
| Returns ezPropertyCategory::Member. | |
Public Member Functions inherited from ezAbstractProperty | |
| ezAbstractProperty (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. | |
| const ezBitflags< ezPropertyFlags > & | GetFlags () const |
| Returns the flags of the property. | |
| ezAbstractProperty * | AddFlags (ezBitflags< ezPropertyFlags > flags) |
| Adds flags to the property. Returns itself to allow to be called during initialization. | |
| ezAbstractProperty * | AddAttributes (ezPropertyAttribute *pAttrib1, ezPropertyAttribute *pAttrib2=nullptr, ezPropertyAttribute *pAttrib3=nullptr, ezPropertyAttribute *pAttrib4=nullptr, ezPropertyAttribute *pAttrib5=nullptr, ezPropertyAttribute *pAttrib6=nullptr) |
| Adds attributes to the property. Returns itself to allow to be called during initialization. Allocate an attribute using standard 'new'. | |
| ezArrayPtr< const ezPropertyAttribute *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 ezAbstractProperty | |
| ezBitflags< ezPropertyFlags > | m_Flags |
| const char * | m_szPropertyName |
| ezHybridArray< const ezPropertyAttribute *, 2, ezStaticsAllocatorWrapper > | m_Attributes |
Implementation of ezTypedMemberProperty that provides direct access to member variables.
This property type offers the most efficient access to object members by directly reading from and writing to the memory location of a class member. It's the preferred choice for simple data members that don't require special handling.
|
inlineoverridevirtual |
Returns a pointer to the member property.
Implements ezAbstractMemberProperty.
|
inlineoverridevirtual |
Returns the value of the property. Pass the instance pointer to the surrounding class along.
Implements ezTypedMemberProperty< Type >.
|
inlineoverridevirtual |
Modifies the value of the property. Pass the instance pointer to the surrounding class along.
Implements ezTypedMemberProperty< Type >.