NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
meta_function类 参考

函数反射元数据类 更多...

#include <function.hpp>

Public 类型

using invoker = function<meta_any(void*, const vector<meta_any>&)>
 函数调用器类型

Public 成员函数

 meta_function (string_view name, invoker invoker)
 构造函数
NEFORCE_NODISCARD string_view name () const noexcept
 获取函数名称
meta_any invoke (void *obj, const vector< meta_any > &args) const
 调用函数
meta_any invoke (void *obj) const noexcept
 调用无参函数
NEFORCE_NODISCARD size_t min_args () const
 获取最小参数数量
NEFORCE_NODISCARD size_t max_args () const
 获取最大参数数量
void set_arg_hints (size_t min, size_t max)
 设置参数数量提示

详细描述

函数反射元数据类

描述一个可调用函数的元信息,支持通过反射调用该函数。

在文件 reflect/function.hpp29 行定义.

构造及析构函数说明

◆ meta_function()

meta_function::meta_function ( string_view name,
invoker invoker )
inline

构造函数

参数
name函数名称
invoker调用器

在文件 reflect/function.hpp45 行定义.

引用了 move() , 以及 name().

成员函数说明

◆ invoke() [1/2]

meta_any meta_function::invoke ( void * obj) const
inlinenoexcept

调用无参函数

参数
obj对象指针
返回
返回值包装为meta_any

在文件 reflect/function.hpp77 行定义.

引用了 invoke().

被这些函数引用 invoke().

◆ invoke() [2/2]

meta_any meta_function::invoke ( void * obj,
const vector< meta_any > & args ) const
inline

调用函数

参数
obj对象指针
args参数列表
返回
返回值包装为meta_any

在文件 reflect/function.hpp61 行定义.

引用了 move().

◆ max_args()

NEFORCE_NODISCARD size_t meta_function::max_args ( ) const
inline

获取最大参数数量

返回
最大参数数量

在文件 reflect/function.hpp89 行定义.

◆ min_args()

NEFORCE_NODISCARD size_t meta_function::min_args ( ) const
inline

获取最小参数数量

返回
最小参数数量

在文件 reflect/function.hpp83 行定义.

◆ name()

NEFORCE_NODISCARD string_view meta_function::name ( ) const
inlinenoexcept

获取函数名称

返回
名称视图

在文件 reflect/function.hpp53 行定义.

被这些函数引用 meta_function().

◆ set_arg_hints()

void meta_function::set_arg_hints ( size_t min,
size_t max )
inline

设置参数数量提示

参数
min最小参数数量
max最大参数数量

在文件 reflect/function.hpp96 行定义.

引用了 max() , 以及 min().


该类的文档由以下文件生成: