Experimental library header <experimental/reflect>
From cppreference.net
<
cpp
|
header
|
experimental
此头文件是 Reflection TS 的组成部分。
|
定义于命名空间
std::experimental::reflect
|
|
|
定义于内联命名空间
std::experimental::reflect::v1
|
|
概念 |
|
|
(reflection TS)
|
指定类型为元对象类型
(概念) |
|
(reflection TS)
|
指定元对象类型为元对象序列类型
(概念) |
|
(reflection TS)
|
指定元对象类型反映模板参数作用域
(概念) |
|
(reflection TS)
|
指定元对象类型反映具有关联名称(可能为空)的实体或别名
(概念) |
|
(reflection TS)
|
指定元对象类型反映类型别名、命名空间别名或由 using 声明引入的别名
(概念) |
|
(reflection TS)
|
指定元对象类型反映类的
成员声明
(概念) |
|
(reflection TS)
|
指定元对象类型反映枚举项
(概念) |
|
(reflection TS)
|
指定元对象类型反映变量或数据成员
(概念) |
|
(reflection TS)
|
指定元对象类型满足
RecordMember
、
Enumerator
或
Variable
,或反映除全局命名空间外的命名空间
(概念) |
|
(reflection TS)
|
指定元对象类型反映具有类型的实体
(概念) |
|
(reflection TS)
|
指定元对象类型反映命名空间
(概念) |
|
(reflection TS)
|
指定元对象类型反映全局命名空间
(概念) |
|
(reflection TS)
|
指定元对象类型反映非联合类类型
(概念) |
|
(reflection TS)
|
指定元对象类型反映枚举类型
(概念) |
|
(reflection TS)
|
指定元对象类型反映类类型
(概念) |
|
<span class="t-mark-rev t-since-reflection-
|
|
概要
namespace std::experimental::reflect { inline namespace v1 { // 21.12.3 元对象类型概念 template <class T> concept Object = /* 见描述 */; template <class T> concept ObjectSequence = /* 见描述 */; // 精炼 Object template <class T> concept TemplateParameterScope = /* 见描述 */; // 精炼 Scope template <class T> concept Named = /* 见描述 */; // 精炼 Object template <class T> concept Alias = /* 见描述 */; // 精炼 Named 和 ScopeMember template <class T> concept RecordMember = /* 见描述 */; // 精炼 ScopeMember template <class T> concept Enumerator = /* 见描述 */; // 精炼 Constant template <class T> concept Variable = /* 见描述 */; // 精炼 Typed 和 ScopeMember template <class T> concept ScopeMember = /* 见描述 */; // 精炼 Named template <class T> concept Typed = /* 见描述 */; // 精炼 Object template <class T> concept Namespace = /* 见描述 */; // 精炼 Named 和 Scope template <class T> concept GlobalScope = /* 见描述 */; // 精炼 Namespace template <class T> concept Class = /* 见描述 */; // 精炼 Record template <class T> concept Enum = /* 见描述 */; // 精炼 Type、Scope 和 ScopeMember template <class T> concept Record = /* 见描述 */; // 精炼 Type、Scope 和 ScopeMember template <class T> concept Scope = /* 见描述 */; // 精炼 Object template <class T> concept Type = /* 见描述 */; // 精炼 Named template <class T> concept Constant = /* 见描述 */; // 精炼 Typed 和 ScopeMember template <class T> concept Base = /* 见描述 */; // 精炼 Object template <class T> concept FunctionParameter = /* 见描述 */; // 精炼 Typed 和 ScopeMember template <class T> concept Callable = /* 见描述 */; // 精炼 Scope 和 ScopeMember template <class T> concept Expression = /* 见描述 */; // 精炼 Object template <class T> concept ParenthesizedExpression = /* 见描述 */; // 精炼 Expression template <class T> concept FunctionCallExpression = /* 见描述 */; // 精炼 Expression template <class T> concept FunctionalTypeConversion = /* 见描述 */; // 精炼 Expression template <class T> concept Function = /* 见描述 */; // 精炼 Typed 和 Callable template <class T> concept MemberFunction = /* 见描述 */; // 精炼 RecordMember 和 Function template <class T> concept SpecialMemberFunction = /* 见描述 */; // 精炼 RecordMember template <class T> concept Constructor = /* 见描述 */; // 精炼 Callable 和 RecordMember template <class T> concept Destructor = /* 见描述 */; // 精炼 Callable 和 SpecialMemberFunction template <class T> concept Operator = /* 见描述 */; // 精炼 Function template <class T> concept ConversionOperator = /* 见描述 */; // 精炼 MemberFunction 和 Operator template <class T> concept Lambda = /* 见描述 */; // 精炼 Type 和 Scope template <class T> concept LambdaCapture = /* 见描述 */; // 精炼 Variable // 21.12.4 元对象操作 // 多概念操作 template <Object T> struct is_public; template <Object T> struct is_protected; template <Object T> struct is_private; template <Object T> struct is_constexpr; template <Object T> struct is_static; template <Object T> struct is_final; template <Object T> struct is_explicit; template <Object T> struct is_inline; template <Object T> struct is_virtual; <span class="kw