siplasplas
A library for C++ reflection and introspection
cpp::static_reflection::meta::Function< SourceInfo, FunctionType, function > Class Template Reference

Stores static reflection information of a non-const member function. More...

#include <siplasplas/reflection/static/function.hpp>

Public Types

using type = R(Class::*)(Args...)
 Pointer to member function type.
 
using class_type = Class
 Type of the class the member function belongs to.
 
using SourceInfo = SourceInfo_
 Source information of the member function. See cpp::static_reflection::meta::SourceInfo.
 

Public Member Functions

template<typename... Args_>
constexpr R operator() (const Class &object, Args_ &&...args) const
 Invokes the function with the given object and arguments. More...
 
template<typename... Args_>
constexpr R operator() (Class &object, Args_ &&...args) const
 Invokes the function with the given object and arguments. More...
 

Static Public Member Functions

template<typename... Args_>
static constexpr R invoke (Class &object, Args_ &&...args)
 Invokes the member function with the given object and arguments. More...
 
template<typename... Args_>
static constexpr R invoke (const Class &object, Args_ &&...args)
 Invokes the member function with the given object and arguments. More...
 
static constexpr type get ()
 Returns a pointer to the member function.
 

Detailed Description

template<typename SourceInfo, typename FunctionType, FunctionType function>
class cpp::static_reflection::meta::Function< SourceInfo, FunctionType, function >

Stores static reflection information of a non-const member function.

Member Function Documentation

template<typename SourceInfo, typename FunctionType, FunctionType function>
template<typename... Args_>
static constexpr R cpp::static_reflection::meta::Function< SourceInfo, FunctionType, function >::invoke ( Class object,
Args_ &&...  args 
)
inlinestatic

Invokes the member function with the given object and arguments.

Equivalent to cpp::invoke(get(), object, std::forward(args)...)

template<typename SourceInfo, typename FunctionType, FunctionType function>
template<typename... Args_>
static constexpr R cpp::static_reflection::meta::Function< SourceInfo, FunctionType, function >::invoke ( const Class object,
Args_ &&...  args 
)
inlinestatic

Invokes the member function with the given object and arguments.

Equivalent to cpp::invoke(get(), object, std::forward(args)...)

template<typename SourceInfo, typename FunctionType, FunctionType function>
template<typename... Args_>
constexpr R cpp::static_reflection::meta::Function< SourceInfo, FunctionType, function >::operator() ( const Class object,
Args_ &&...  args 
) const
inline

Invokes the function with the given object and arguments.

Equivalent to cpp::invoke(get(), std::forward(args)...)

template<typename SourceInfo, typename FunctionType, FunctionType function>
template<typename... Args_>
constexpr R cpp::static_reflection::meta::Function< SourceInfo, FunctionType, function >::operator() ( Class object,
Args_ &&...  args 
) const
inline

Invokes the function with the given object and arguments.

Equivalent to cpp::invoke(get(), std::forward(args)...)


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