Namespaces
Variants

std::meta::is_final

来自 zh.cppreference.net
< cpp | meta
 
 
 
反射库
 
反射类型和查询
反射查询
反射布局查询
类型属性
类型属性查询
 
定义于头文件 <meta>
consteval bool is_final( std::meta::info r );
(C++26 起)

返回 true 如果 r 表示一个 final类或final成员函数。否则返回 false。

参数

r - 一个反射值

返回值

true 如果 r 表示一个 final 类或 final 成员函数;否则 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)
检查一个类型是否为final类类型
(类模板)