XII Release 0.1.0
Loading...
Searching...
No Matches
xiiTypedConstantProperty< 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 xiiTypedConstantProperty< Type >:
[legend]

Public Member Functions

 xiiTypedConstantProperty (xiiStringView sPropertyName)
 Passes the property name through to xiiAbstractMemberProperty.
 
virtual const xiiRTTIGetSpecificType () const override
 Returns the actual type of the property. You can then compare that with known types, eg. compare it to xiiGetStaticRTTI<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 xiiAbstractConstantProperty
 xiiAbstractConstantProperty (xiiStringView sPropertyName)
 Passes the property name through to xiiAbstractProperty.
 
virtual xiiPropertyCategory::Enum GetCategory () const override
 Returns xiiPropertyCategory::Constant.
 
virtual void * GetPropertyPointer () const =0
 Returns a pointer to the constant data or nullptr. See xiiAbstractMemberProperty::GetPropertyPointer for more information.
 
virtual xiiVariant GetConstant () const =0
 Returns the constant value as a xiiVariant.
 
- Public Member Functions inherited from xiiAbstractProperty
 xiiAbstractProperty (xiiStringView sPropertyName)
 The constructor must get the name of the property. The string must be a compile-time constant.
 
xiiStringView GetPropertyName () const
 Returns the name of the property.
 
const xiiBitflags< xiiPropertyFlags > & GetFlags () const
 Returns the flags of the property.
 
xiiAbstractPropertyAddFlags (xiiBitflags< xiiPropertyFlags > flags)
 Adds flags to the property. Returns itself to allow to be called during initialization.
 
xiiAbstractPropertyAddAttributes (xiiPropertyAttribute *pAttrib1, xiiPropertyAttribute *pAttrib2=nullptr, xiiPropertyAttribute *pAttrib3=nullptr, xiiPropertyAttribute *pAttrib4=nullptr, xiiPropertyAttribute *pAttrib5=nullptr, xiiPropertyAttribute *pAttrib6=nullptr)
 Adds attributes to the property. Returns itself to allow to be called during initialization. Allocate an attribute using standard 'new'.
 
xiiArrayPtr< const xiiPropertyAttribute *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 xiiAbstractProperty
xiiBitflags< xiiPropertyFlagsm_Flags
 
xiiStringView m_sPropertyName
 
xiiHybridArray< const xiiPropertyAttribute *, 2U, xiiStaticAllocatorWrapperm_Attributes
 

Detailed Description

template<typename Type>
class xiiTypedConstantProperty< 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 a xiiAbstractMemberProperty and it returns that the property is of type 'int', you can cast the pointer to an pointer to xiiTypedMemberProperty<int> which then allows you to access its values.

Member Function Documentation

◆ GetSpecificType()

template<typename Type>
virtual const xiiRTTI * xiiTypedConstantProperty< Type >::GetSpecificType ( ) const
inlineoverridevirtual

Returns the actual type of the property. You can then compare that with known types, eg. compare it to xiiGetStaticRTTI<int>() to see whether this is an int property.

Implements xiiAbstractProperty.

◆ GetValue()

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

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

Implemented in xiiConstantProperty< Type >.


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