std::meta::is_destructor
来自cppreference.com
| 在标头 <meta> 定义
|
||
| |
(C++26 起) | |
如果 r 表示一个析构函数,则返回 true,否则返回 false。
参数
| r | - | 一个反射值 |
返回值
如果 r 表示一个析构函数,则为 true,否则为 false。
示例
Run this code
#include <meta>
// X::~X 是普通析构函数
struct X { ~X() { } };
static_assert(std::meta::is_destructor(^^X::~X));
// 弃置析构函数仍是析构函数
struct Y { ~Y() = delete; };
static_assert(std::meta::is_destructor(^^Y::~Y));
// 也不能藏于 typedef 之后
using XX = X;
static_assert(std::meta::is_destructor(^^X::~XX));
static_assert(std::meta::is_destructor(^^XX::~X));
static_assert(std::meta::is_destructor(^^XX::~XX));
int main() {}
static_assert(!std::meta::is_destructor(^^main));
参阅
| 检查被反射的实体是否为此类构造函数 (函数) |