CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ClassMethod Class Referenceabstract

#include <CeresEngine/Reflection/Class.hpp>

Inheritance diagram for CeresEngine::ClassMethod:
CeresEngine::ClassMember CeresEngine::MetaItem CeresEngine::TMetaMethod< F >

Public Member Functions

 ClassMethod (Class &owner, StringView name)
 
MetaCategory getCategory () const override
 Gets the category of the item.
 
virtual bool isStatic () const noexcept=0
 Returns true if the method is static.
 
virtual TypeID getReturnTypeID () const noexcept=0
 
Type getReturnType () const
 
virtual Span< const TypeIDgetParameterTypeIDs () const =0
 
Span< const TypegetParameterTypes () const
 
virtual Box invoke (const MetaValues &arguments) const =0
 
template<typename... Args>
auto invoke (Args &&... args) const
 
- Public Member Functions inherited from CeresEngine::MetaItem
virtual ~MetaItem () noexcept=default
 

Public Attributes

StringView name
 
ReflectionAttributeContainer attributes
 

Static Public Attributes

static constexpr MetaCategory kCategory = MetaCategory::Method
 Gets the category of the item.
 

Private Attributes

Vector< TypemParameterTypes
 

Constructor & Destructor Documentation

◆ ClassMethod()

CeresEngine::ClassMethod::ClassMethod ( Class owner,
StringView  name 
)
explicit

Member Function Documentation

◆ getCategory()

MetaCategory CeresEngine::ClassMethod::getCategory ( ) const
inlineoverridevirtual

Gets the category of the item.

Implements CeresEngine::MetaItem.

◆ getParameterTypeIDs()

virtual Span< const TypeID > CeresEngine::ClassMethod::getParameterTypeIDs ( ) const
pure virtual

◆ getParameterTypes()

Span< const Type > CeresEngine::ClassMethod::getParameterTypes ( ) const

◆ getReturnType()

Type CeresEngine::ClassMethod::getReturnType ( ) const

◆ getReturnTypeID()

virtual TypeID CeresEngine::ClassMethod::getReturnTypeID ( ) const
pure virtualnoexcept

◆ invoke() [1/2]

template<typename... Args>
auto CeresEngine::ClassMethod::invoke ( Args &&...  args) const

◆ invoke() [2/2]

virtual Box CeresEngine::ClassMethod::invoke ( const MetaValues arguments) const
pure virtual

◆ isStatic()

virtual bool CeresEngine::ClassMethod::isStatic ( ) const
pure virtualnoexcept

Returns true if the method is static.

Implemented in CeresEngine::TMetaMethod< F >.

Member Data Documentation

◆ attributes

ReflectionAttributeContainer CeresEngine::ClassMethod::attributes

◆ kCategory

constexpr MetaCategory CeresEngine::ClassMethod::kCategory = MetaCategory::Method
staticconstexpr

Gets the category of the item.

◆ mParameterTypes

Vector<Type> CeresEngine::ClassMethod::mParameterTypes
mutableprivate

◆ name

StringView CeresEngine::ClassMethod::name

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