maxon::reflection Namespace Reference

Classes

class  ParameterType
 
class  Proxy
 
class  Argument
 
struct  InvocationBase
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,,)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,,)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19)>
 
struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20)>
 
struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER4,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20)>
 
struct  Invocation
 
struct  DelegateInvocation
 
struct  DelegateHandlerData
 
struct  DelegateHandlerStub
 
struct  DelegateHandlerStub< void, ARGS... >
 
struct  DelegateHandlerStub< R >
 
struct  DelegateHandlerStub< void >
 
struct  FunctionInfo
 
struct  ContainerInfo
 
class  ReflectionWrapper
 
class  ReflectionWrapper< T(*)(ARGS...)>
 
class  Member
 
class  Container
 
class  Package
 
class  Class
 
struct  InvokeHelper
 
class  Function
 
struct  InvokeHelper< T(ARGS...)>
 
struct  InvokeHelper< void(ARGS...)>
 
struct  ProxyInvocation
 

Typedefs

using Parameter = Tuple< ParameterType, Id >
 
using DelegateFunctionPointer = void(*)(const DelegateBase &, void *, const Block< Argument > &)
 
using DelegateHandler = Delegate< void(const DelegateDataType &type, const DelegateInvocation &invocation)>
 
using FunctionRegistrationCallback = Result< void >(*)(Class *cls, const EntityReference *interfaceRef, const Block< FunctionInfo > &functions)
 
using ReflectionRegistration = Result< void >(*)(Class *cls, FunctionRegistrationCallback callback)
 
using InvocationWrapper = void(*)(const void *native, void *result, const Block< Argument > &arguments)
 
using ProxyHandler = maxon::Delegate< void(const Function *, ObjectInterface *, const ProxyInvocation &)>
 

Functions

template<typename X = void>
void GetParameterTypes (const ParameterType *array)
 
template<typename X , typename... ARGS>
void GetParameterTypes (ParameterType *array)
 
template<typename T >
FunctionInfo GetFunctionInfo (const Char *name, Member::KIND kind, const Char *paramNames, Int64 inOut, T fn)
 
template<typename T >
FunctionInfo GetVirtualFunctionInfo (Member::KIND kind, const Char *paramNames, Int64 inOut, const Function **reflectionMethod)
 

Typedef Documentation

◆ Parameter

◆ DelegateFunctionPointer

using DelegateFunctionPointer = void (*) (const DelegateBase&, void*, const Block<Argument>&)

◆ DelegateHandler

using DelegateHandler = Delegate<void(const DelegateDataType& type, const DelegateInvocation& invocation)>

◆ FunctionRegistrationCallback

using FunctionRegistrationCallback = Result<void> (*)(Class* cls, const EntityReference* interfaceRef, const Block<FunctionInfo>& functions)

◆ ReflectionRegistration

◆ InvocationWrapper

using InvocationWrapper = void(*)(const void* native, void* result, const Block<Argument>& arguments)

◆ ProxyHandler

Function Documentation

◆ GetParameterTypes() [1/2]

void maxon::reflection::GetParameterTypes ( const ParameterType array)

◆ GetParameterTypes() [2/2]

void maxon::reflection::GetParameterTypes ( ParameterType array)

◆ GetFunctionInfo()

FunctionInfo maxon::reflection::GetFunctionInfo ( const Char name,
Member::KIND  kind,
const Char paramNames,
Int64  inOut,
fn 
)

◆ GetVirtualFunctionInfo()

FunctionInfo maxon::reflection::GetVirtualFunctionInfo ( Member::KIND  kind,
const Char paramNames,
Int64  inOut,
const Function **  reflectionMethod 
)