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

反射类型注册表 更多...

#include <registry.hpp>

Public 成员函数

template<typename T>
meta_typeregister_type (string_view name)
 注册类型
meta_typefind_unlocked (string_view name)
 查找类型
meta_typefind (string_view name)
 查找类型
meta_typefind (type_id id)
 查找类型
template<typename Func>
void for_each (Func &&func)
 遍历所有注册的类型
void resolve_all_bases ()
 解析所有类型的基类关系

静态 Public 成员函数

static registryinstance ()
 获取单例实例

详细描述

反射类型注册表

全局唯一的类型注册表,存储所有已注册的反射类型元数据。 提供类型查找、遍历和基类解析功能。

在文件 registry.hpp30 行定义.

成员函数说明

◆ find() [1/2]

meta_type * registry::find ( string_view name)
inline

查找类型

参数
name类型名称
返回
类型元数据指针,不存在返回nullptr

在文件 registry.hpp86 行定义.

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

◆ find() [2/2]

meta_type * registry::find ( type_id id)
inline

查找类型

参数
id类型ID
返回
类型元数据指针,不存在返回nullptr

在文件 registry.hpp96 行定义.

◆ find_unlocked()

meta_type * registry::find_unlocked ( string_view name)
inline

查找类型

参数
name类型名称
返回
类型元数据指针,不存在返回nullptr
注解
调用前需已持有互斥锁

在文件 registry.hpp76 行定义.

引用了 name().

被这些函数引用 find().

◆ for_each()

template<typename Func>
void registry::for_each ( Func && func)
inline

遍历所有注册的类型

模板参数
Func回调函数类型
参数
func回调函数,接收meta_type&参数

对每个注册的类型调用回调函数。

在文件 registry.hpp110 行定义.

◆ instance()

registry & registry::instance ( )
inlinestatic

获取单例实例

返回
注册表实例引用

在文件 registry.hpp42 行定义.

被这些函数引用 type_builder< T >::base().

◆ register_type()

template<typename T>
meta_type & registry::register_type ( string_view name)
inline

注册类型

模板参数
T要注册的类型
参数
name类型名称
返回
类型元数据引用

如果类型已注册,返回现有元数据;否则创建新的元数据。

在文件 registry.hpp56 行定义.

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

◆ resolve_all_bases()

void registry::resolve_all_bases ( )
inline

解析所有类型的基类关系

遍历所有类型,解析其待解析的基类名称。 应在所有类型注册完成后调用。

在文件 registry.hpp123 行定义.


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