Namespaces
Variants

std::meta::is_destructor

От ru.cppreference.net
< C++ | meta
 
 
 
Библиотека отражения
Запросы доступности членов
Идентификация области видимости
Запросы членов отражения
Отражение аннотаций
Извлечение значений
Подстановка отражения
Отражение результата выражения
Генерация определения класса

Первичные категории типов
Составные категории типов
Свойства типов ➜
Отношения типов
 
Типы и запросы отражения
Запросы отражения
Запросы расположения отражения
Свойства типов
Запросы свойств типов
 
Определено в заголовке <meta>
consteval bool is_destructor( std::meta::info r );
(начиная с C++26)

Возвращает true если r представляет деструктор. В противном случае возвращает false.

Параметры

r - значение отражения

Возвращаемое значение

true если r представляет деструктор; в противном случае false.

Пример

#include <meta>

// X::~X is an ordinary destructor
struct X { ~X() { } };
static_assert(std::meta::is_destructor(^^X::~X));

// a deleted destructor is still a destructor
struct Y {  ~Y() = delete; };
static_assert(std::meta::is_destructor(^^Y::~Y));

// can't hide behind typedefs either
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));

См. также

проверяет, является ли отражённая сущность конструктором данного вида
(функция)