Plasma Engine  2.0
Loading...
Searching...
No Matches
plAbstractProperty Class Referenceabstract

This is the base interface for all properties in the reflection system. It provides enough information to cast to the next better base class. More...

#include <AbstractProperty.h>

Inheritance diagram for plAbstractProperty:

Public Member Functions

 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.
 
virtual const plRTTIGetSpecificType () const =0
 Returns the type information of the constant property. Use this to cast this property to a specific version of plTypedConstantProperty.
 
virtual plPropertyCategory::Enum GetCategory () const =0
 Returns the category of this property. Cast this property to the next higher type for more information.
 
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.
 

Protected Attributes

plBitflags< plPropertyFlagsm_Flags
 
const char * m_szPropertyName
 
plHybridArray< const plPropertyAttribute *, 2, plStaticsAllocatorWrapperm_Attributes
 

Detailed Description

This is the base interface for all properties in the reflection system. It provides enough information to cast to the next better base class.

Member Function Documentation

◆ GetCategory()

virtual plPropertyCategory::Enum plAbstractProperty::GetCategory ( ) const
pure virtual

Returns the category of this property. Cast this property to the next higher type for more information.

Implemented in plAbstractArrayProperty, plAbstractConstantProperty, plAbstractFunctionProperty, plAbstractMapProperty, plAbstractMemberProperty, and plAbstractSetProperty.

◆ GetSpecificType()


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