Namespaces
Variants

std::meta::is_override

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

Gibt true zurück, wenn r eine Elementfunktion darstellt, die eine andere Elementfunktion überschreibt (unabhängig davon, ob der override-Spezifizierer verwendet wird). Andernfalls wird false zurückgegeben.

Parameter

r - ein Reflexionswert

Rückgabewert

true, wenn r eine Elementfunktion darstellt, die eine andere Elementfunktion überschreibt; andernfalls false.

Beispiel

#include <meta>

struct Base
{
    virtual void f() = 0;
    void g(); // non-virtual
};

struct Derived : public Base
{
    void f() = 0; // overrides Base::f
    virtual void g(); // does not override Base::g
};

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

int main() {}

Siehe auch

überprüft, ob die Reflexion eine virtuelle Elementfunktion oder virtuelle Basisklasse darstellt
(Funktion)
überprüft, ob die Reflexion eine Funktion darstellt
(Funktion)