Plasma Engine  2.0
Loading...
Searching...
No Matches
plTypedConstantProperty< Type > Class Template Referenceabstract

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>

Inheritance diagram for plTypedConstantProperty< Type >:

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.
 
- Public Member Functions inherited from plAbstractConstantProperty
 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.
 
- 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.
 
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

- Protected Attributes inherited from plAbstractProperty
plBitflags< plPropertyFlags > m_Flags
 
const char * m_szPropertyName
 
plHybridArray< const plPropertyAttribute *, 2, plStaticsAllocatorWrapper > m_Attributes
 

Detailed Description

template<typename Type>
class plTypedConstantProperty< Type >

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.

Member Function Documentation

◆ GetSpecificType()

template<typename Type >
virtual const plRTTI * plTypedConstantProperty< Type >::GetSpecificType ( ) const
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.

◆ GetValue()

template<typename Type >
virtual Type plTypedConstantProperty< Type >::GetValue ( ) const
pure virtual

Returns the value of the property. Pass the instance pointer to the surrounding class along.

Implemented in plConstantProperty< Type >.


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