Namensräume
Varianten
Aktionen

std::experimental::ranges::tagged_tuple

Von cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
 
 
Allgemeine Dienstprogramme-Bibliothek
Hilfskomponenten
Funktionsobjekte
Metaprogrammierung und Typ-Traits
Getaggte Paare und Tupel
                          
Tag-Spezifizierer
                                      
                          
tagged_tuple

 
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) [bearbeiten]
erweitert einen Tupel-ähnlichen Typ um benannte Accessoren
(class template) [bearbeiten]
Alias-Vorlage für ein getaggtes std::pair
(alias template)[bearbeiten]
Komfortfunktion zum Erstellen eines tagged_pair
(function template) [bearbeiten]
Komfortfunktion zum Erstellen eines tagged_tuple
(function template) [bearbeiten]
Tag-Specifier für die Verwendung mit ranges::tagged
(class) [bearbeiten]