ezEngine  Release 25.03
ezAbstractEnumerationProperty Class Referenceabstract

The base class for enum and bitflags member properties. More...

#include <EnumProperty.h>

Inheritance diagram for ezAbstractEnumerationProperty:

Public Member Functions

 ezAbstractEnumerationProperty (const char *szPropertyName)
 Passes the property name through to ezAbstractMemberProperty.
 
virtual ezInt64 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, ezInt64 value) const =0
 Modifies the value of the property. Pass the instance pointer to the surrounding class along. More...
 
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.
 
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). More...
 
- 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.
 
virtual const ezRTTIGetSpecificType () const =0
 Returns the type information of the constant property. Use this to cast this property to a specific version of ezTypedConstantProperty.
 
const ezBitflags< ezPropertyFlags > & GetFlags () const
 Returns the flags of the property.
 
ezAbstractPropertyAddFlags (ezBitflags< ezPropertyFlags > flags)
 Adds flags to the property. Returns itself to allow to be called during initialization.
 
ezAbstractPropertyAddAttributes (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< ezPropertyFlagsm_Flags
 
const char * m_szPropertyName
 
ezHybridArray< const ezPropertyAttribute *, 2, ezStaticsAllocatorWrapperm_Attributes
 

Detailed Description

The base class for enum and bitflags member properties.

Cast any property whose type derives from ezEnumBase or ezBitflagsBase class to access its value.

Member Function Documentation

◆ SetValue()

virtual void ezAbstractEnumerationProperty::SetValue ( void *  pInstance,
ezInt64  value 
) const
pure virtual

Modifies the value of the property. Pass the instance pointer to the surrounding class along.

Note
Make sure the property is not read-only before calling this, otherwise an assert will fire.

Implemented in ezEnumMemberProperty< Class, EnumType, Type >, ezEnumAccessorProperty< Class, EnumType, Type >, ezBitflagsMemberProperty< Class, EnumType, Type >, and ezBitflagsAccessorProperty< Class, EnumType, Type >.


The documentation for this class was generated from the following file: