Namespaces
Variants

std::meta::reflect_constant_string

Von de.cppreference.net
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexionslayoutabfragen
Typeigenschaften
Eigenschaftsabfragen von Typen
 
Definiert in Header <meta>
template< ranges::input_range R >
consteval std::meta::info reflect_constant_string( R&& r );
(seit C++26)

Gibt eine Reflexion zurück, die ein Zeichenarray-Objekt repräsentiert, dessen Elemente den entsprechenden Elementen von r entsprechen, wobei ein Nullzeichen angehängt wird, wenn r kein Zeichenkettenliteral-Objekt ist.

Das resultierende Zeichenarray-Objekt ist ein Template-Parameter-Objekt: Es hat statische Speicherdauer, und Zeichenketten mit demselben Inhalt entsprechen demselben Objekt.

Das resultierende Zeichenarray-Objekt ist auch ein potenziell nicht eindeutiges Objekt.

Formell sei:

  • CharT sei ranges::range_value_t<R>, welches eines von char, wchar_t, char8_t, char16_t oder char32_t sein muss.
  • V sei das Wertepacket vom Typ CharT, dessen Elemente den entsprechenden Elementen von r entsprechen, außer dass, wenn r ein Zeichenkettenliteral-Objekt ist, V das abschließende Nullzeichen von r nicht enthält.
  • P sei das Template-Parameter-Objekt vom Typ const CharT[sizeof...(V) + 1], initialisiert mit {V..., CharT()}.

Diese Funktion gibt eine Reflexion zurück, die das Objekt P repräsentiert.

Parameter

r - eine Eingabebereich von Zeichen

Rückgabewert

Eine Reflexion, die ein Zeichenarray-Objekt repräsentiert, wie oben beschrieben.

Hinweise

Das Ergebnis von std::meta::reflect_constant_string ist zur Verwendung mit std::meta::substitute geeignet. Wenn der Aufrufer einen Zeiger auf eine statische Zeichenkette (im Gegensatz zu einem Reflexionswert) wünscht, ist std::define_static_string normalerweise besser geeignet.

Beispiel

Siehe auch

befördert eine Kompilierzeit-Zeichenkette in den statischen Speicher und gibt einen Zeiger auf das erste Zeichen der statischen Zeichenkette zurück
(Funktionsvorlage)
befördert ein Kompilierzeit-Array in den statischen Speicher und gibt eine Reflexion zurück, die das statische Array repräsentiert
(Funktionsvorlage)
gibt eine Reflexion zurück, die einen Wert oder ein Template-Parameter-Objekt repräsentiert, geeignet zur Verwendung als konstantes Template-Argument
(Funktionsvorlage)