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

Public Member Functions

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

Protected Attributes

xiiBitflags< xiiPropertyFlagsm_Flags
 
xiiStringView m_sPropertyName
 
xiiHybridArray< const xiiPropertyAttribute *, 2U, xiiStaticAllocatorWrapperm_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 xiiPropertyCategory::Enum xiiAbstractProperty::GetCategory ( ) const
pure virtual

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

Implemented in xiiAbstractArrayProperty, xiiAbstractConstantProperty, xiiAbstractFunctionProperty, xiiAbstractMapProperty, xiiAbstractMemberProperty, and xiiAbstractSetProperty.

◆ GetSpecificType()


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