std::meta::is_user_declared
来自cppreference.com
| 在标头 <meta> 定义
|
||
| |
(C++26 起) | |
如果 r 表示用户声明的函数,则返回 true,否则返回 false。
参数
| r | - | 一个反射值 |
返回值
如果 r 表示用户声明的函数,则为 true,否则为 false。
注解
如果 r 不表示函数,则结果为 false。特别地,如果 r 表示函数模板,则结果为 false。
示例
运行此代码
#include <meta>
struct Base {
bool operator==(const Base&) const = default;
};
struct Derived : public Base {
std::strong_ordering operator<=>(const Derived&) const = default;
// Derived::operator== 因 operator<=> 的预置定义而被声明
};
static_assert(std::meta::is_user_declared(^^Base::operator==));
static_assert(!std::meta::is_user_declared(^^Derived::operator==));
static_assert(std::meta::is_user_declared(^^Derived::operator<=>));
参阅
(C++26) |
检查反射是否表示函数 (函数) |
(C++26) |
检查反射是否表示用户提供的函数 (函数) |