NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
反射系统

运行时类型反射系统 更多...

struct  type_name< T >
 类型名称获取器 更多...
class  meta_any
 类型擦除容器 更多...
class  meta_function
 函数反射元数据类 更多...
class  meta_property
 属性反射元数据类 更多...
class  type_builder< T >
 类型反射构建器 更多...
class  registry
 反射类型注册表 更多...
class  meta_type
 类型反射元数据类 更多...

宏定义

#define NEFORCE_REFLECT_REGISTER_N(Class, Name)
 注册类型(无基类)
#define NEFORCE_REFLECT_REGISTER_N_DERIVED(Class, Base, Name)
 注册类型(带基类)
#define NEFORCE_REFLECT_REGISTER(Class)
 注册类型(无基类)
#define NEFORCE_REFLECT_REGISTER_DERIVED(Class, Base)
 注册类型(带基类)

类型定义

using type_id = size_t
 类型标识符

函数

template<typename T>
type_builder< T > reflect (string_view name)
 创建类型反射构建器

变量

template<typename T>
NEFORCE_INLINE17 constexpr string_view type_name_v = type_name<T>::value
 type_name的便捷访问变量模板

详细描述

运行时类型反射系统

宏定义说明

◆ NEFORCE_REFLECT_REGISTER

#define NEFORCE_REFLECT_REGISTER ( Class)
值:
#define NEFORCE_REFLECT_REGISTER_N(Class, Name)
注册类型(无基类)

注册类型(无基类)

参数
Class类名

注册一个没有基类的类型。

在文件 reflect.hpp233 行定义.

◆ NEFORCE_REFLECT_REGISTER_DERIVED

#define NEFORCE_REFLECT_REGISTER_DERIVED ( Class,
Base )
值:
#define NEFORCE_REFLECT_REGISTER_N_DERIVED(Class, Base, Name)
注册类型(带基类)

注册类型(带基类)

参数
Class类名
Base基类名

注册一个有基类的类型,自动解析继承关系。

在文件 reflect.hpp242 行定义.

◆ NEFORCE_REFLECT_REGISTER_N

#define NEFORCE_REFLECT_REGISTER_N ( Class,
Name )
值:
static auto _neforce_reflect_##Class = _NEFORCE reflect::reflect<Class>(Name)

注册类型(无基类)

参数
Class类名
Name注册名

注册一个没有基类的类型。

在文件 reflect.hpp210 行定义.

◆ NEFORCE_REFLECT_REGISTER_N_DERIVED

#define NEFORCE_REFLECT_REGISTER_N_DERIVED ( Class,
Base,
Name )
值:
static auto _neforce_reflect_##Class = []() { \
_NEFORCE reflect::registry::instance().resolve_all_bases(); \
return _NEFORCE reflect::reflect<Class>(#Class).template base<Base>(); \
}()

注册类型(带基类)

参数
Class类名
Base基类名
Name注册名

注册一个有基类的类型,自动解析继承关系。

在文件 reflect.hpp221 行定义.

函数说明

◆ reflect()

template<typename T>
type_builder< T > reflect ( string_view name)

创建类型反射构建器

模板参数
T要注册的类型
参数
name类型名称
返回
类型构建器

在文件 reflect.hpp198 行定义.

引用了 name().