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

Base class for properties that represent sets or unique value collections. More...

#include <AbstractProperty.h>

Inheritance diagram for ezAbstractSetProperty:

Public Member Functions

 ezAbstractSetProperty (const char *szPropertyName)
 Passes the property name through to ezAbstractProperty.
 
virtual ezPropertyCategory::Enum GetCategory () const override
 Returns ezPropertyCategory::Set.
 
virtual bool IsEmpty (const void *pInstance) const =0
 Returns whether the set is empty.
 
virtual void Clear (void *pInstance) const =0
 Clears the set.
 
virtual void Insert (void *pInstance, const void *pObject) const =0
 Inserts the target of pObject into the set.
 
virtual void Remove (void *pInstance, const void *pObject) const =0
 Removes the target of pObject from the set.
 
virtual bool Contains (const void *pInstance, const void *pObject) const =0
 Returns whether the target of pObject is in the set.
 
virtual void GetValues (const void *pInstance, ezDynamicArray< ezVariant > &out_keys) const =0
 Writes the content of the set to out_keys.
 
- 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 sets or unique value collections.

Set properties provide collection semantics with unique elements and no ordering guarantees. They support standard set operations: insertion, removal, membership testing, and enumeration.

Supported set types:

  • ezSet (tree-based, ordered)
  • ezHashSet (hash-based, unordered)
  • Custom containers implementing the set interface

Element type restrictions:

  • Standard types (int, float, string, etc.)
  • Pointer types (for object references)
  • Types with proper equality and hash operations

Performance characteristics:

Member Function Documentation

◆ Clear()

◆ Contains()

virtual bool ezAbstractSetProperty::Contains ( const void *  pInstance,
const void *  pObject 
) const
pure virtual

◆ GetCategory()

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

◆ GetValues()

virtual void ezAbstractSetProperty::GetValues ( const void *  pInstance,
ezDynamicArray< ezVariant > &  out_keys 
) const
pure virtual

◆ Insert()

virtual void ezAbstractSetProperty::Insert ( void *  pInstance,
const void *  pObject 
) const
pure virtual

◆ IsEmpty()

virtual bool ezAbstractSetProperty::IsEmpty ( const void *  pInstance) const
pure virtual

◆ Remove()

virtual void ezAbstractSetProperty::Remove ( void *  pInstance,
const void *  pObject 
) const
pure virtual

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