Namespaces
Variants

std::meta::reflect_function

Von de.cppreference.net
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexionslayoutabfragen
Typeigenschaften
Typeigenschaftsabfragen
 
Definiert in Header <meta>
template< class T >
consteval std::meta::info reflect_function( T& fn );
(seit C++26)

Gibt eine Reflexion zurück, die die Funktion darstellt, auf die fn verweist.

Das Programm ist fehlerhaft, wenn T kein Funktionstyp ist.

Parameter

r - ein Lvalue, der auf eine Funktion verweist

Rückgabewert

Eine Reflexion, die eine Funktion darstellt.

Ausnahmen

Wirft std::meta::exception, sofern kein glvalue-konstanter Ausdruck E, der auf die Funktion fn verweist, ein gültiges Template-Argument für einen Template-Parameter vom Typ T& ist.

Anmerkungen

Diese Funktion kann verwendet werden, um eine Reflexion einer Funktion zu erstellen, deren Name überladen ist.

int f(char); // #1
int f(long); // #2

constexpr auto rf1 = ^^f; // error: cannot reflect an overload set
constexpr auto rf2 = std::meta::reflect_function<int(char)>(f); // OK, rf2 represents overload #1

Beispiel

Siehe auch

gibt eine Reflexion zurück, die einen Wert oder Template-Parameter-Objekt darstellt, geeignet zur Verwendung als konstantes Template-Argument
(Funktionstemplate)
gibt eine Reflexion zurück, die ein Objekt darstellt, geeignet zur Verwendung als konstantes Template-Argument
(Funktionstemplate)
erhält eine Reflexion des Ergebnisses der Substitution reflektierter Argumente im reflektierten Template
(Funktionstemplate)