Namespaces
Variants

std::meta::constant_of

来自 zh.cppreference.net
 
 
 
反射库
 
反射类型与查询
反射查询
反射布局查询
类型属性
类型属性查询
 
定义于头文件 <meta>
constexpr std::meta::info constant_of( std::meta::info r );
(C++26 起)

返回 r 所表示内容的(常量)值的反射。

正式而言:

  • 若 r 表示一个注解,则返回其底层常量(即 std::meta::reflect_constant(expr) ,其中 expr 为该注解的常量表达式)。
  • 否则,令 R 为等同于 r 的常量表达式:
  • 若 r 表示一个数组类型的变量或对象,则返回 std::meta::reflect_constant_array([:R:])。
  • 否则,若 r 表示一个函数,则返回 std::meta::reflect_function([:R:])。
  • 否则,返回 std::meta::reflect_constant([:R:])。

参数

r - 一个反射值

返回值

r 所表示内容的值的反射。

异常

抛出 std::meta::exception,除非 r 表示一个注解,或者 [:R:] 是一个合法的拼接表达式。

注解

若 r 表示一个函数,则结果表示一个函数;若 表示一个变量或数组类型或类类型的对象,则结果表示一个模板参数对象r;若 r 表示一个标量类型的变量或对象,则结果表示一个(标量)值。

示例

参阅

返回表示一个值或模板参数对象的反射,适用于用作常量模板实参
(函数模板)
将编译期数组提升到静态存储,返回表示该静态数组的反射
(函数模板)
返回表示一个函数的反射,适用于用作常量模板实参
(函数模板)