ProxyInvocation Struct Reference

#include <reflectionbase.h>

Public Member Functions

 ProxyInvocation (void *result, const Block< Argument > &args, InvocationWrapper wrapper, const void *super)
 
template<typename T >
T & GetResult () const
 
template<typename T >
auto GetArgument (Int index) const -> decltype(Argument().Get< T >())
 
Int GetArgumentCount () const
 
Block< ArgumentGetArguments () const
 
const Block< Argument > & GetArgumentsIncludingSelf () const
 
Bool HasSuper () const
 
void Super () const
 

Private Attributes

void * _result
 
Block< Argument_args
 
InvocationWrapper _wrapper
 
const void * _super
 

Constructor & Destructor Documentation

◆ ProxyInvocation()

ProxyInvocation ( void *  result,
const Block< Argument > &  args,
InvocationWrapper  wrapper,
const void *  super 
)

Member Function Documentation

◆ GetResult()

T& GetResult ( ) const

◆ GetArgument()

auto GetArgument ( Int  index) const -> decltype(Argument().Get<T>())

◆ GetArgumentCount()

Int GetArgumentCount ( ) const

◆ GetArguments()

Block<Argument> GetArguments ( ) const

◆ GetArgumentsIncludingSelf()

const Block<Argument>& GetArgumentsIncludingSelf ( ) const

◆ HasSuper()

Bool HasSuper ( ) const

◆ Super()

void Super ( ) const

Member Data Documentation

◆ _result

void* _result
private

◆ _args

Block<Argument> _args
private

◆ _wrapper

InvocationWrapper _wrapper
private

◆ _super

const void* _super
private