Namespaces
Variants

std::experimental::ranges:: tagged

From cppreference.net
template < class Base, TagSpecifier ... Tags >

requires sizeof... ( Tags ) <= std:: tuple_size < Base > :: value

struct tagged ;
(ranges TS)

Die Klassenvorlage tagged erweitert einen tupelartigen Klassentyp Base , von dem sie öffentlich abgeleitet ist, mit einer Reihe von benannten Zugriffsfunktionen, die durch die Tagspezifizierer Tags... festgelegt werden. Die Tags werden in Reihenfolge angewendet: Der i-te Tagspezifizierer in Tags... entspricht dem i-ten Element des Tupels.

Die Tagspezifizierer in Tags... müssen eindeutig sein. Andernfalls ist das Verhalten undefiniert.

Es ist nicht möglich, eine Instanz von tagged über einen Zeiger auf eine andere Basis als Base zu löschen.

Inhaltsverzeichnis

Memberfunktionen

konstruiert ein tagged Objekt
(öffentliche Elementfunktion)
weist ein tagged Objekt zu
(öffentliche Elementfunktion)
tauscht die Inhalte zweier tagged Objekte
(öffentliche Elementfunktion)

Benannte Elementzugriffsfunktionen

Für den N -ten Tag-Spezifizierer in Tags... , dessen entsprechendes Element name heißt, tagged bietet Zugriffsfunktionen namens name wie folgt:

constexpr decltype(auto) name() &       { return std::get<N>(*this); }
constexpr decltype(auto) name() const & { return std::get<N>(*this); }
constexpr decltype(auto) name() &&      { return std::get<N>(std::move(*this)); }

Nicht-Member-Funktionen

spezialisiert swap für tagged Objekte
(Funktion)

Tupel-ähnlicher Zugriff

ermittelt die Größe eines tagged
(Klassen-Template-Spezialisierung)
ermittelt die Typen der Elemente eines tagged
(Klassen-Template-Spezialisierung)

Siehe auch

spezifiziert, dass ein Typ ein Tag-Spezifizierer ist
(Konzept)
Alias-Template für ein getaggtes std::pair
(Alias-Template)
Hilfsfunktion zur Erstellung eines tagged_pair
(Funktions-Template)
Alias-Template für ein getaggtes std::tuple
(Alias-Template)
Hilfsfunktion zur Erstellung eines tagged_tuple
(Funktions-Template)
Tag-Spezifizierer zur Verwendung mit ranges::tagged
(Klasse)