Namespaces
Variants

std::meta::is_explicit

Zentrale C++-Referenz
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexionslayoutabfragen
Typeigenschaften
Typ-Eigenschaftsabfragen
 
Definiert in Header <meta>
consteval bool is_explicit( std::meta::info r );
(seit C++26)

Gibt true zurück, wenn r einen expliziten Konstruktor oder eine explizite Konvertierungsfunktion repräsentiert. Ansonsten wird false zurückgegeben.

Parameter

r - ein Reflexionswert

Rückgabewert

true, wenn r eine Memberfunktion repräsentiert, die als explizit deklariert ist; ansonsten false.

Hinweise

Wenn r keine Funktion repräsentiert, ist das Ergebnis false. Insbesondere ist das Ergebnis false, wenn r eine Funktionsvorlage repräsentiert.

Beispiel

#include <meta>

struct A {
    explicit operator bool() const;

    template<class T>
    explicit(^^T == ^^void) operator T*() const;
};

static_assert(std::meta::is_explicit(^^A::operator bool));
static_assert(std::meta::is_explicit(^^A::operator void*));
static_assert(!std::meta::is_explicit(^^A::operator int*));

Siehe auch

prüft, ob Reflexion eine Funktion repräsentiert
(Funktion)