Namespaces
Variants

std::meta::reflect_constant

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_constant( T expr );
(seit C++26)

Gibt eine Reflexion zurück, die entweder den Wert von expr darstellt (wenn T ein ScalarType ist) oder das Template-Parameter-Objekt mit Wert expr (wenn T ein Klassentyp ist).

Formal: Sei

  • V:
  • TCls sei die erfundene Vorlage template<T P> struct TCls;

Diese Funktion gibt std::meta::template_arguments_of(^^TCls<V>)[0] zurück.

Das Programm ist fehlerhaft, wenn std::is_copy_constructible_v<T> falsch ist, wenn T kein cv-unqualifizierter struktureller Typ ist, oder wenn T ein Referenztyp ist.

Parameter

expr - ein Wert eines strukturellen Typs

Rückgabewert

Eine Reflexion wie oben beschrieben.

Ausnahmen

Wirft std::meta::exception, wenn TCls<V> ungültig ist.

Beispiel

Siehe auch

Hebt eine Kompilierzeit-Zeichenkette in den statischen Speicher, gibt eine Reflexion zurück, die die statische Zeichenkette darstellt
(Funktionstemplate)
Hebt ein Kompilierzeit-Array in den statischen Speicher, gibt eine Reflexion zurück, die das statische Array darstellt
(Funktionstemplate)
Gibt eine Reflexion zurück, die ein Objekt darstellt, geeignet zur Verwendung als konstantes Template-Argument
(Funktionstemplate)
Gibt eine Reflexion zurück, die eine Funktion darstellt, geeignet zur Verwendung als konstantes Template-Argument
(Funktionstemplate)
Erhält eine Reflexion des Ergebnisses der Substitution von reflektierten Argumenten in der reflektierten Vorlage
(Funktionstemplate)