Open Search
    maxon::reflection Namespace Reference

    Classes

    class  ParameterType
     
    class  Proxy
     
    class  Argument
     
    struct  InvocationBase
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,,)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,,)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)>
     
    struct  InvocationBase< void MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)>
     
    struct  InvocationBase< T MAXON_MAKE_LIST(MAXON_INVOCATION_BASE_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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_HELPER2,,,, 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 
    )