std::meta::is_explicit
Zentrale C++-Referenz
| 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
Diesen Code ausführen
#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
(C++26) |
prüft, ob Reflexion eine Funktion repräsentiert (Funktion) |