![]() |
Plasma Engine
2.0
|
The base class for all typed member properties. Ie. once the type of a property is determined, it can be cast to the proper version of this. More...
#include <ConstantProperty.h>
Public Member Functions | |
plTypedConstantProperty (const char *szPropertyName) | |
Passes the property name through to plAbstractMemberProperty. | |
virtual const plRTTI * | GetSpecificType () const override |
Returns the actual type of the property. You can then compare that with known types, eg. compare it to plGetStaticRTTI<int>() to see whether this is an int property. | |
virtual Type | GetValue () const =0 |
Returns the value of the property. Pass the instance pointer to the surrounding class along. | |
![]() | |
plAbstractConstantProperty (const char *szPropertyName) | |
Passes the property name through to plAbstractProperty. | |
virtual plPropertyCategory::Enum | GetCategory () const override |
Returns plPropertyCategory::Constant. | |
virtual void * | GetPropertyPointer () const =0 |
Returns a pointer to the constant data or nullptr. See plAbstractMemberProperty::GetPropertyPointer for more information. | |
virtual plVariant | GetConstant () const =0 |
Returns the constant value as an plVariant. | |
![]() | |
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. | |
plAbstractProperty * | AddFlags (plBitflags< plPropertyFlags > flags) |
Adds flags to the property. Returns itself to allow to be called during initialization. | |
plAbstractProperty * | AddAttributes (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 | |
![]() | |
plBitflags< plPropertyFlags > | m_Flags |
const char * | m_szPropertyName |
plHybridArray< const plPropertyAttribute *, 2, plStaticsAllocatorWrapper > | m_Attributes |
The base class for all typed member properties. Ie. once the type of a property is determined, it can be cast to the proper version of this.
For example, when you have a pointer to an plAbstractMemberProperty and it returns that the property is of type 'int', you can cast the pointer to an pointer to plTypedMemberProperty<int> which then allows you to access its values.
|
inlineoverridevirtual |
Returns the actual type of the property. You can then compare that with known types, eg. compare it to plGetStaticRTTI<int>() to see whether this is an int property.
Implements plAbstractProperty.
|
pure virtual |
Returns the value of the property. Pass the instance pointer to the surrounding class along.
Implemented in plConstantProperty< Type >.