Namespaces
Variants

std::meta::is_final

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

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

Возвращает true если r представляет окончательный класс или окончательную функцию-член. В противном случае возвращает false.

Параметры

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

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

true true, если r представляет окончательный класс или окончательную функцию-член; иначе false. false.

Пример

#include <meta>

struct Base
{
    virtual void f() = 0;
};

struct Derived : public Base
{
    void f() final; // overrides Base::f
};

static_assert(!std::meta::is_final(^^Base::f));
static_assert(!std::meta::is_final(^^Base));
static_assert(std::meta::is_final(^^Derived::f));
static_assert(!std::meta::is_final(^^Derived));

struct final_class final {};
static_assert(std::meta::is_final(^^final_class));

int main() {}

Смотри также

Template:cpp/meta/dsc is final type
проверяет, представляет ли отражение виртуальную функцию-член или виртуальный базовый класс
(функция)
проверяет, представляет ли отражение функцию
(функция)
(C++26)
проверяет, представляет ли отражение тип
(функция)
(C++14)
проверяет, является ли тип окончательным типом класса
(шаблон класса)