std::experimental::ranges::tagged_tuple
Von cppreference.com
< cpp | experimental | ranges
| Definiert in Header <experimental/ranges/tuple> |
||
| template< TaggedType... Types > using tagged_tuple = /* siehe unten */; |
(Ranges TS) | |
Alias-Template für die bequeme Benennung eines ranges::tagged, das ein std::tuple umschließt.
Ein TaggedType ist ein Funktionstyp S(T), wobei S ein TagSpecifier und T der Typ des Elements ist.
tagged_tuple<S1(T1), ..., SN(TN)> ist ein Alias für ranges::tagged<std::tuple<T1, ..., TN>, S1, ..., SN>.
[edit] Notes
Da ein Funktionstyp verwendet wird, um den Tag-Spezifizierer und den entsprechenden Elementtyp zu "verkleben", gelten die üblichen Parameter-Typ-Anpassungen. Insbesondere werden Top-Level-cv-Qualifizierer entfernt und Array-Typen in Zeiger umgewandelt: tagged_tuple<tag::in(const int* const), tag::out(int[])> ist ranges::tagged<std::tuple<const int*, int*>, tag::in, tag::out>.
[edit] See also
| spezifiziert, dass ein Typ einen Tag-Specifier und seinen Elementtyp repräsentiert (concept) | |
| erweitert einen Tupel-ähnlichen Typ um benannte Accessoren (class template) | |
| Alias-Vorlage für ein getaggtes std::pair (alias template) | |
Komfortfunktion zum Erstellen eines tagged_pair(function template) | |
Komfortfunktion zum Erstellen eines tagged_tuple(function template) | |
| Tag-Specifier für die Verwendung mit ranges::tagged (class) |