Plasma Engine  2.0
Loading...
Searching...
No Matches
plAccessorMapProperty< Class, Type, Container > Class Template Reference
Inheritance diagram for plAccessorMapProperty< Class, Type, Container >:

Public Types

using ContainerType = typename plTypeTraits<Container>::NonConstReferenceType
 
using RealType = typename plTypeTraits<Type>::NonConstReferenceType
 
using InsertFunc = void (Class::*)(const char* szKey, Type value)
 
using RemoveFunc = void (Class::*)(const char* szKey)
 
using GetValueFunc = bool (Class::*)(const char* szKey, RealType& value) const
 
using GetKeyRangeFunc = Container (Class::*)() const
 

Public Member Functions

 plAccessorMapProperty (const char *szPropertyName, GetKeyRangeFunc getKeys, GetValueFunc getValue, InsertFunc insert, RemoveFunc remove)
 
virtual bool IsEmpty (const void *pInstance) const override
 Returns whether the set is empty.
 
virtual void Clear (void *pInstance) const override
 Clears the set.
 
virtual void Insert (void *pInstance, const char *szKey, const void *pObject) const override
 Inserts the target of pObject into the set.
 
virtual void Remove (void *pInstance, const char *szKey) const override
 Removes the target of pObject from the set.
 
virtual bool Contains (const void *pInstance, const char *szKey) const override
 Returns whether the target of pObject is in the set.
 
virtual bool GetValue (const void *pInstance, const char *szKey, void *pObject) const override
 Writes element at index uiIndex to the target of pObject.
 
virtual void GetKeys (const void *pInstance, plHybridArray< plString, 16 > &out_keys) const override
 Writes the content of the set to out_keys.
 
- Public Member Functions inherited from plTypedMapProperty< Type >
 plTypedMapProperty (const char *szPropertyName)
 
virtual const plRTTIGetSpecificType () const override
 Returns the type information of the constant property. Use this to cast this property to a specific version of plTypedConstantProperty.
 
- Public Member Functions inherited from plAbstractMapProperty
 plAbstractMapProperty (const char *szPropertyName)
 Passes the property name through to plAbstractProperty.
 
virtual plPropertyCategory::Enum GetCategory () const override
 Returns plPropertyCategory::Map.
 
- Public Member Functions inherited from plAbstractProperty
 plAbstractProperty (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 plBitflags< plPropertyFlags > & GetFlags () const
 Returns the flags of the property.
 
plAbstractPropertyAddFlags (plBitflags< plPropertyFlags > flags)
 Adds flags to the property. Returns itself to allow to be called during initialization.
 
plAbstractPropertyAddAttributes (plPropertyAttribute *pAttrib1, plPropertyAttribute *pAttrib2=nullptr, plPropertyAttribute *pAttrib3=nullptr, plPropertyAttribute *pAttrib4=nullptr, plPropertyAttribute *pAttrib5=nullptr, plPropertyAttribute *pAttrib6=nullptr)
 Adds attributes to the property. Returns itself to allow to be called during initialization. Allocate an attribute using standard 'new'.
 
plArrayPtr< const plPropertyAttribute *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 plAbstractProperty
plBitflags< plPropertyFlagsm_Flags
 
const char * m_szPropertyName
 
plHybridArray< const plPropertyAttribute *, 2, plStaticsAllocatorWrapperm_Attributes
 

Member Function Documentation

◆ Clear()

template<typename Class , typename Type , typename Container >
virtual void plAccessorMapProperty< Class, Type, Container >::Clear ( void * pInstance) const
inlineoverridevirtual

Clears the set.

Implements plAbstractMapProperty.

◆ Contains()

template<typename Class , typename Type , typename Container >
virtual bool plAccessorMapProperty< Class, Type, Container >::Contains ( const void * pInstance,
const char * szKey ) const
inlineoverridevirtual

Returns whether the target of pObject is in the set.

Implements plAbstractMapProperty.

◆ GetKeys()

template<typename Class , typename Type , typename Container >
virtual void plAccessorMapProperty< Class, Type, Container >::GetKeys ( const void * pInstance,
plHybridArray< plString, 16 > & out_keys ) const
inlineoverridevirtual

Writes the content of the set to out_keys.

Implements plAbstractMapProperty.

◆ GetValue()

template<typename Class , typename Type , typename Container >
virtual bool plAccessorMapProperty< Class, Type, Container >::GetValue ( const void * pInstance,
const char * szKey,
void * pObject ) const
inlineoverridevirtual

Writes element at index uiIndex to the target of pObject.

Implements plAbstractMapProperty.

◆ Insert()

template<typename Class , typename Type , typename Container >
virtual void plAccessorMapProperty< Class, Type, Container >::Insert ( void * pInstance,
const char * szKey,
const void * pObject ) const
inlineoverridevirtual

Inserts the target of pObject into the set.

Implements plAbstractMapProperty.

◆ IsEmpty()

template<typename Class , typename Type , typename Container >
virtual bool plAccessorMapProperty< Class, Type, Container >::IsEmpty ( const void * pInstance) const
inlineoverridevirtual

Returns whether the set is empty.

Implements plAbstractMapProperty.

◆ Remove()

template<typename Class , typename Type , typename Container >
virtual void plAccessorMapProperty< Class, Type, Container >::Remove ( void * pInstance,
const char * szKey ) const
inlineoverridevirtual

Removes the target of pObject from the set.

Implements plAbstractMapProperty.


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