- meta[meta header]
- std::meta[meta namespace]
- function[meta id-type]
- cpp26[meta cpp]
namespace std::meta {
consteval bool is_final(info r);
}- info[link info.md]
final指定されているかを判定する。
rがfinal指定されたメンバ関数またはクラスを表す場合にtrueを返す。
#include <meta>
struct Base {
virtual void f() {}
};
struct Derived final : Base {
void f() final {}
};
int main() {
static_assert(std::meta::is_final(^^Derived));
static_assert(std::meta::is_final(^^Derived::f));
static_assert(!std::meta::is_final(^^Base));
}- C++26
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) [mark verified] - Visual C++: ??