std::meta::reflect_function

来自cppreference.com
< cpp | meta
 
 
 
反射库
 
在标头 <meta> 定义
template< class T >
consteval std::meta::info reflect_function( T& fn );
(C++26 起)

返回一个表示 fn 所指代函数的反射。

如果 T 不是函数类型,则程序非良构。

参数

r - 指代某个函数的左值

返回值

表示函数的反射。

异常

除非满足以下条件,否则抛出 std::meta::exception:存在一个指代函数 fn 的泛左值常量表达式 E,该表达式是类型为 T& 的模板形参的有效模板实参。

注解

此函数可用于创建名字被重载的函数的反射。

int f(char); // #1
int f(long); // #2

constexpr auto rf1 = ^^f; // 错误:无法反射重载集合
constexpr auto rf2 = std::meta::reflect_function<int(char)>(f); // OK,rf2 表示重载 #1

示例

参阅

返回表示某个值或模板形参对象的反射,适合用作常量模板实参
(函数模板) [编辑]
返回表示对象的反射,适合用作常量模板实参
(函数模板) [编辑]
获取在所反射模板中代换所反射实参后的结果的反射
(函数模板) [编辑]