std::meta::reflect_constant
来自 zh.cppreference.net
| 定义于头文件 <meta>
|
||
template< class T >
consteval std::meta::info reflect_constant( T expr );
|
(C++26 起) | |
返回一个反射,它表示 expr 的值(如果 T 是标量类型)或值为 模板参数对象的 expr(如果 T 是类类型)。
正式地,令:
V为:
- 如果
T是类类型,则为与 模板实参等价的expr值的对象; - 否则,为
expr的值;
- 如果
TCls令虚构的模板template<T P> struct TCls;
该函数返回 std::meta::template_arguments_of(^^TCls<V>)[0]。
若 std::is_copy_constructible_v<T> 为 false、T 不是cv 无限定的结构类型,或 T 为引用类型,则程序非良构。
参数
| expr | - | 结构类型的值 |
返回值
如上所述的反射。
异常
抛出 std::meta::exception,若 TCls<V> 无效。
示例
| 本节未完成 原因:无示例 |
参阅
(C++26) |
将编译期字符串提升到静态存储,返回表示该静态字符串的反射 (函数模板) |
(C++26) |
将编译期数组提升到静态存储,返回表示该静态数组的反射 (函数模板) |
(C++26) |
返回表示对象的反射,适合用作常量模板实参 (函数模板) |
(C++26) |
返回表示函数的反射,适合用作常量模板实参 (函数模板) |
(C++26) |
获得反射模板中替换反射实参后的结果的反射 (函数模板) |