Plasma Engine  2.0
Loading...
Searching...
No Matches
plTypedFunctionProperty< R, Args > Class Template Reference
Inheritance diagram for plTypedFunctionProperty< R, Args >:

Public Member Functions

 plTypedFunctionProperty (const char *szPropertyName)
 
virtual const plRTTIGetReturnType () const override
 Returns the type of the return value.
 
virtual plBitflags< plPropertyFlagsGetReturnFlags () const override
 Returns property flags of the return value.
 
virtual plUInt32 GetArgumentCount () const override
 Returns the number of arguments.
 
template<std::size_t... I>
const plRTTIGetParameterTypeImpl (plUInt32 uiParamIndex, std::index_sequence< I... >) const
 
virtual const plRTTIGetArgumentType (plUInt32 uiParamIndex) const override
 Returns the type of the given argument.
 
template<std::size_t... I>
plBitflags< plPropertyFlagsGetParameterFlagsImpl (plUInt32 uiParamIndex, std::index_sequence< I... >) const
 
virtual plBitflags< plPropertyFlagsGetArgumentFlags (plUInt32 uiParamIndex) const override
 Returns the property flags of the given argument.
 
- Public Member Functions inherited from plAbstractFunctionProperty
 plAbstractFunctionProperty (const char *szPropertyName)
 Passes the property name through to plAbstractProperty.
 
virtual plPropertyCategory::Enum GetCategory () const override
 Returns the category of this property. Cast this property to the next higher type for more information.
 
virtual plFunctionType::Enum GetFunctionType () const =0
 Returns the type of function, see plFunctionPropertyType::Enum.
 
virtual void Execute (void *pInstance, plArrayPtr< plVariant > arguments, plVariant &out_returnValue) const =0
 Calls the function. Provide the instance on which the function is supposed to be called.
 
virtual const plRTTIGetSpecificType () const override
 Returns the type information of the constant property. Use this to cast this property to a specific version of plTypedConstantProperty.
 
plAbstractFunctionPropertyAddFlags (plBitflags< plPropertyFlags > flags)
 Adds flags to the property. Returns itself to allow to be called during initialization.
 
plAbstractFunctionPropertyAddAttributes (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'.
 
- 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.
 
plAbstractPropertyAddFlags (plBitflags< plPropertyFlags > flags)
 Adds flags to the property. Returns itself to allow to be called during initialization.
 
plAbstractPropertyAddAttributes (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< plPropertyFlagsm_Flags
 
const char * m_szPropertyName
 
plHybridArray< const plPropertyAttribute *, 2, plStaticsAllocatorWrapperm_Attributes
 

Member Function Documentation

◆ GetArgumentCount()

template<class R , class... Args>
virtual plUInt32 plTypedFunctionProperty< R, Args >::GetArgumentCount ( ) const
inlineoverridevirtual

Returns the number of arguments.

Implements plAbstractFunctionProperty.

◆ GetArgumentFlags()

template<class R , class... Args>
virtual plBitflags< plPropertyFlags > plTypedFunctionProperty< R, Args >::GetArgumentFlags ( plUInt32 uiParamIndex) const
inlineoverridevirtual

Returns the property flags of the given argument.

Implements plAbstractFunctionProperty.

◆ GetArgumentType()

template<class R , class... Args>
virtual const plRTTI * plTypedFunctionProperty< R, Args >::GetArgumentType ( plUInt32 uiParamIndex) const
inlineoverridevirtual

Returns the type of the given argument.

Implements plAbstractFunctionProperty.

◆ GetReturnFlags()

template<class R , class... Args>
virtual plBitflags< plPropertyFlags > plTypedFunctionProperty< R, Args >::GetReturnFlags ( ) const
inlineoverridevirtual

Returns property flags of the return value.

Implements plAbstractFunctionProperty.

◆ GetReturnType()

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

Returns the type of the return value.

Implements plAbstractFunctionProperty.


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