std::meta::is_destructor

来自cppreference.com
< cpp | meta
 
 
 
反射库
 
反射类型与查询
反射查询
反射布局查询
类型属性
类型属性查询
 
在标头 <meta> 定义
consteval bool is_destructor( std::meta::info r );
(C++26 起)

如果 r 表示一个析构函数,则返回 true,否则返回 false

参数

r - 一个反射值

返回值

如果 r 表示一个析构函数,则为 true,否则为 false

示例

#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));

参阅

检查被反射的实体是否为此类构造函数
(函数) [编辑]
Morty Proxy This is a proxified and sanitized view of the page, visit original site.