XII Release 0.1.0
Loading...
Searching...
No Matches
xiiTypedFunctionProperty< R, Args > Class Template Reference
Inheritance diagram for xiiTypedFunctionProperty< R, Args >:
[legend]

Public Member Functions

 xiiTypedFunctionProperty (xiiStringView sPropertyName)
virtual const xiiRTTI * GetReturnType () const override
 Returns the type of the return value.
virtual xiiBitflags< xiiPropertyFlags > GetReturnFlags () const override
 Returns property flags of the return value.
virtual xiiUInt32 GetArgumentCount () const override
 Returns the number of arguments.
template<std::size_t... I>
const xiiRTTI * GetParameterTypeImpl (xiiUInt32 uiParamIndex, std::index_sequence< I... >) const
virtual const xiiRTTI * GetArgumentType (xiiUInt32 uiParamIndex) const override
 Returns the type of the given argument.
template<std::size_t... I>
xiiBitflags< xiiPropertyFlags > GetParameterFlagsImpl (xiiUInt32 uiParamIndex, std::index_sequence< I... >) const
virtual xiiBitflags< xiiPropertyFlags > GetArgumentFlags (xiiUInt32 uiParamIndex) const override
 Returns the property flags of the given argument.
Public Member Functions inherited from xiiAbstractFunctionProperty
 xiiAbstractFunctionProperty (xiiStringView sPropertyName)
 Passes the property name through to xiiAbstractProperty.
virtual xiiPropertyCategory::Enum GetCategory () const override
 Returns the category of this property. Cast this property to the next higher type for more information.
virtual xiiFunctionType::Enum GetFunctionType () const =0
 Returns the type of function, see xiiFunctionPropertyType::Enum.
virtual void Execute (void *pInstance, xiiArrayPtr< xiiVariant > arguments, xiiVariant &out_returnValue) const =0
virtual const xiiRTTI * GetSpecificType () const override
xiiAbstractFunctionProperty * AddFlags (xiiBitflags< xiiPropertyFlags > flags)
 Adds flags to the property. Returns itself to allow to be called during initialization.
xiiAbstractFunctionProperty * AddAttributes (xiiPropertyAttribute *pAttrib1, xiiPropertyAttribute *pAttrib2=nullptr, xiiPropertyAttribute *pAttrib3=nullptr, xiiPropertyAttribute *pAttrib4=nullptr, xiiPropertyAttribute *pAttrib5=nullptr, xiiPropertyAttribute *pAttrib6=nullptr)
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.
virtual ~xiiAbstractProperty ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
xiiStringView GetPropertyName () const
 Returns the name of the property.
const xiiBitflags< xiiPropertyFlags > & GetFlags () const
 Returns the flags of the property.
xiiAbstractProperty * AddFlags (xiiBitflags< xiiPropertyFlags > flags)
 Adds flags to the property. Returns itself to allow to be called during initialization.
xiiAbstractProperty * AddAttributes (xiiPropertyAttribute *pAttrib1, xiiPropertyAttribute *pAttrib2=nullptr, xiiPropertyAttribute *pAttrib3=nullptr, xiiPropertyAttribute *pAttrib4=nullptr, xiiPropertyAttribute *pAttrib5=nullptr, xiiPropertyAttribute *pAttrib6=nullptr)
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< xiiPropertyFlags > m_Flags
xiiStringView m_sPropertyName
xiiHybridArray< const xiiPropertyAttribute *, 2U, xiiStaticAllocatorWrapper > m_Attributes

Member Function Documentation

◆ GetArgumentCount()

template<class R, class... Args>
virtual xiiUInt32 xiiTypedFunctionProperty< R, Args >::GetArgumentCount ( ) const
inlineoverridevirtual

Returns the number of arguments.

Implements xiiAbstractFunctionProperty.

◆ GetArgumentFlags()

template<class R, class... Args>
virtual xiiBitflags< xiiPropertyFlags > xiiTypedFunctionProperty< R, Args >::GetArgumentFlags ( xiiUInt32 uiParamIndex) const
inlineoverridevirtual

Returns the property flags of the given argument.

Implements xiiAbstractFunctionProperty.

◆ GetArgumentType()

template<class R, class... Args>
virtual const xiiRTTI * xiiTypedFunctionProperty< R, Args >::GetArgumentType ( xiiUInt32 uiParamIndex) const
inlineoverridevirtual

Returns the type of the given argument.

Implements xiiAbstractFunctionProperty.

◆ GetReturnFlags()

template<class R, class... Args>
virtual xiiBitflags< xiiPropertyFlags > xiiTypedFunctionProperty< R, Args >::GetReturnFlags ( ) const
inlineoverridevirtual

Returns property flags of the return value.

Implements xiiAbstractFunctionProperty.

◆ GetReturnType()

template<class R, class... Args>
virtual const xiiRTTI * xiiTypedFunctionProperty< R, Args >::GetReturnType ( ) const
inlineoverridevirtual

Returns the type of the return value.

Implements xiiAbstractFunctionProperty.


The documentation for this class was generated from the following file:
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Reflection/Implementation/FunctionProperty.h