Namespaces
Variants

std::meta::reflect_constant

来自 zh.cppreference.net
< cpp | meta
 
 
 
反射库
 
反射类型和查询
反射查询
反射布局查询
类型属性
类型属性查询
 
定义于头文件 <meta>
template< class T >
consteval std::meta::info reflect_constant( T expr );
(C++26 起)

返回一个反射,它表示 expr 的值(如果 T 是标量类型)或值为 模板参数对象的 expr(如果 T 是类类型)。

正式地,令:

  • V 为:
  • 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> 无效。

示例

参阅

将编译期字符串提升到静态存储,返回表示该静态字符串的反射
(函数模板)
将编译期数组提升到静态存储,返回表示该静态数组的反射
(函数模板)
返回表示对象的反射,适合用作常量模板实参
(函数模板)
返回表示函数的反射,适合用作常量模板实参
(函数模板)
获得反射模板中替换反射实参后的结果的反射
(函数模板)