std::meta::reflect_constant

来自cppreference.com
< cpp | meta
在标头 <meta> 定义
template< class T >
consteval std::meta::info reflect_constant( T expr );
(C++26 起)

返回一个反射,该反射要么表示 expr 的值(若 T标量类型 (ScalarType) ),要么表示值为 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 - 一个结构化类型的值

返回值

如上所述的反射。

异常

TCls<V> 无效时抛出 std::meta::exception

示例

参阅

将编译期字符串提升为静态存储,返回表示该静态字符串的反射。
(函数模板) [编辑]
将编译期数组提升为静态存储,返回表示该静态数组的反射
(函数模板) [编辑]
返回表示对象的反射,适合用作常量模板实参
(函数模板) [编辑]
返回表示函数的反射,适合用作常量模板实参
(函数模板) [编辑]
获取在所反射模板中代换所反射实参后的结果的反射
(函数模板) [编辑]
Morty Proxy This is a proxified and sanitized view of the page, visit original site.