CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::TMetaMethod< F > Class Template Reference

#include <CeresEngine/Reflection/Class.define.hpp>

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

Public Member Functions

 TMetaMethod (Class &owner, const StringView name, const F &func) noexcept
 
 TMetaMethod (Class &owner, const StringView name, F &&func) noexcept
 
bool isStatic () const noexcept override
 
TypeID getReturnTypeID () const noexcept override
 
Span< const TypeIDgetParameterTypeIDs () const noexcept override
 
String signature (StringView name) const
 
Box invoke (const MetaValues &arguments)
 
- Public Member Functions inherited from CeresEngine::ClassMethod
 ClassMethod (Class &owner, StringView name)
 
MetaCategory getCategory () const override
 Gets the category of the item.
 
Type getReturnType () const
 
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
 

Private Types

using invoker_t = internal::MethodInvokerInternal< F, internal::MethodInvokerTag< F > >
 

Private Attributes

F const mFunc
 

Additional Inherited Members

- Public Attributes inherited from CeresEngine::ClassMethod
StringView name
 
ReflectionAttributeContainer attributes
 
- Static Public Attributes inherited from CeresEngine::ClassMethod
static constexpr MetaCategory kCategory = MetaCategory::Method
 Gets the category of the item.
 

Member Typedef Documentation

◆ invoker_t

Constructor & Destructor Documentation

◆ TMetaMethod() [1/2]

template<typename F >
CeresEngine::TMetaMethod< F >::TMetaMethod ( Class owner,
const StringView  name,
const F func 
)
inlinenoexcept

◆ TMetaMethod() [2/2]

template<typename F >
CeresEngine::TMetaMethod< F >::TMetaMethod ( Class owner,
const StringView  name,
F &&  func 
)
inlinenoexcept

Member Function Documentation

◆ getParameterTypeIDs()

template<typename F >
Span< const TypeID > CeresEngine::TMetaMethod< F >::getParameterTypeIDs ( ) const
inlineoverridevirtualnoexcept

◆ getReturnTypeID()

template<typename F >
TypeID CeresEngine::TMetaMethod< F >::getReturnTypeID ( ) const
inlineoverridevirtualnoexcept

◆ invoke()

template<typename F >
Box CeresEngine::TMetaMethod< F >::invoke ( const MetaValues arguments)
inline

◆ isStatic()

template<typename F >
bool CeresEngine::TMetaMethod< F >::isStatic ( ) const
inlineoverridevirtualnoexcept

◆ signature()

template<typename F >
String CeresEngine::TMetaMethod< F >::signature ( StringView  name) const
inline

Member Data Documentation

◆ mFunc

template<typename F >
F const CeresEngine::TMetaMethod< F >::mFunc
private

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