std::meta::bases_of
来自cppreference.com
| 在标头 <meta> 定义
|
||
| |
(C++26 起) | |
返回一个 std::vector,其中包含与 type 所表示的类的各个基类说明符相对应的反射,按访问上下文 ctx 过滤。
设 C 为 std::meta::dealias(type) 所表示的类类型。结果中的每个反射值 b 表示 C 与 C 的基类之一之间的一个可访问的直接基类关系。如同由 std::meta::is_accessible(b, ctx) 确定可访问性。反射值出现的顺序与相应基类在 C 定义的基类子句中出现的顺序一致。
直接基类关系通常表示为一个有序对 (D, B),其中:
- D 是派生类。
- B 是 D 的定义中由基类说明符指名的直接基类。
函数 std::meta::parent_of 和 std::meta::type_of 分别返回该关系中的派生类和基类。
参数
| type | - | 一个反射值,表示完整的类类型或其类型别名 |
| ctx | - | 一个访问上下文 |
返回值
std::vector,包含表示各个直接基类关系的反射值。
异常
除非 std::meta::dealias(type) 表示一个在求值上下文中的某个点是完整的类类型,否则抛出 std::meta::exception。
注解
如果 type 表示一个联合体类型,则结果为空向量。
示例
| 本节未完成 原因:暂无示例 |
参阅
| 本节未完成 |