Namespaces
Variants

std::meta::is_final

Von de.cppreference.net
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexionslayoutabfragen
Typeigenschaften
Typeigenschaftsabfragen
 
Definiert in Header <meta>
consteval bool is_final( std::meta::info r );
(seit C++26)

Gibt true zurück, wenn r eine finale Klasse oder finale Memberfunktion darstellt. Andernfalls wird false zurückgegeben.

Parameter

r - ein Reflexionswert

Rückgabewert

true wenn r eine finale Klasse oder eine finale Memberfunktion darstellt; andernfalls false.

Beispiel

#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() {}

Siehe auch

Template:cpp/meta/dsc is final type
prüft, ob die Reflexion eine virtuelle Memberfunktion oder virtuelle Basisklasse darstellt
(Funktion)
prüft, ob die Reflexion eine Funktion darstellt
(Funktion)
(C++26)
prüft, ob die Reflexion einen Typ darstellt
(Funktion)
(C++14)
prüft, ob ein Typ ein finaler Klassentyp ist
(Klassenvorlage)