std::meta::is_final

来自cppreference.com
< cpp | meta
在标头 <meta> 定义
consteval bool is_final( std::meta::info r );
(C++26 起)

如果 r 表示最终类或最终成员函数,则返回 true,否则返回 false

参数

r - 一个反射值

返回值

如果 r 表示最终类或最终成员函数,则为 true,否则为 false

示例

#include <meta>

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

struct Derived : public Base {
    void f() final; // 覆盖 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));

参阅

Template:cpp/meta/dsc is final type
检查反射是否表示虚成员函数或虚基类
(函数) [编辑]
检查反射是否表示函数
(函数) [编辑]
(C++26)
检查反射是否表示类型
(函数) [编辑]
(C++14)
检查类型是否为 final 类类型
(类模板) [编辑]