ezEngine Release 26.3
Loading...
Searching...
No Matches
ezAbstractArrayProperty Class Referenceabstract

Base class for properties that represent arrays or sequential containers. More...

#include <AbstractProperty.h>

Inheritance diagram for ezAbstractArrayProperty:

Public Member Functions

 ezAbstractArrayProperty (const char *szPropertyName)
 Passes the property name through to ezAbstractProperty.
 
virtual ezPropertyCategory::Enum GetCategory () const override
 Returns ezPropertyCategory::Array.
 
virtual ezUInt32 GetCount (const void *pInstance) const =0
 Returns number of elements.
 
virtual void GetValue (const void *pInstance, ezUInt32 uiIndex, void *pObject) const =0
 Writes element at index uiIndex to the target of pObject.
 
virtual void SetValue (void *pInstance, ezUInt32 uiIndex, const void *pObject) const =0
 Writes the target of pObject to the element at index uiIndex.
 
virtual void Insert (void *pInstance, ezUInt32 uiIndex, const void *pObject) const =0
 Inserts the target of pObject into the array at index uiIndex.
 
virtual void Remove (void *pInstance, ezUInt32 uiIndex) const =0
 Removes the element in the array at index uiIndex.
 
virtual void Clear (void *pInstance) const =0
 Clears the array.
 
virtual void SetCount (void *pInstance, ezUInt32 uiCount) const =0
 Resizes the array to uiCount.
 
virtual void * GetValuePointer (void *pInstance, ezUInt32 uiIndex) const
 
- 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

Base class for properties that represent arrays or sequential containers.

Array properties provide indexed access to collections of elements with dynamic or fixed sizing. They support all standard container operations: access, insertion, removal, and resizing.

Supported container types:

Key operations:

Performance considerations:

  • GetCount() may involve virtual calls for dynamic containers
  • Insert/Remove operations may require element shifting
  • SetCount() can be expensive for complex element types
  • GetValuePointer() provides direct access when available

Member Function Documentation

◆ Clear()

virtual void ezAbstractArrayProperty::Clear ( void *  pInstance) const
pure virtual

◆ GetCategory()

virtual ezPropertyCategory::Enum ezAbstractArrayProperty::GetCategory ( ) const
inlineoverridevirtual

◆ GetCount()

virtual ezUInt32 ezAbstractArrayProperty::GetCount ( const void *  pInstance) const
pure virtual

◆ GetValue()

virtual void ezAbstractArrayProperty::GetValue ( const void *  pInstance,
ezUInt32  uiIndex,
void *  pObject 
) const
pure virtual

◆ Insert()

virtual void ezAbstractArrayProperty::Insert ( void *  pInstance,
ezUInt32  uiIndex,
const void *  pObject 
) const
pure virtual

◆ Remove()

virtual void ezAbstractArrayProperty::Remove ( void *  pInstance,
ezUInt32  uiIndex 
) const
pure virtual

◆ SetCount()

virtual void ezAbstractArrayProperty::SetCount ( void *  pInstance,
ezUInt32  uiCount 
) const
pure virtual

◆ SetValue()

virtual void ezAbstractArrayProperty::SetValue ( void *  pInstance,
ezUInt32  uiIndex,
const void *  pObject 
) const
pure virtual

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