std::ranges::cartesian_product_view<First, Vs...>::iterator
Von cppreference.com
< cpp | ranges | cartesian product view
| template< bool Const > class /*iterator*/ |
(seit C++23) (nur Exposition*) |
|
Der Rückgabetyp von cartesian_product_view::begin und von cartesian_product_view::end, wenn die zugrundeliegende View V ein common_range ist.
Der Typ /*iterator*/<true> wird von den const-qualifizierten Überladungen zurückgegeben. Der Typ /*iterator*/<false> wird von den nicht-const-qualifizierten Überladungen zurückgegeben.
Inhalt |
[edit] Member types
| Mitglied | Definition |
Parent (privat) |
maybe-const <Const, ranges::cartesian_product_view>>((nur zur Veranschaulichung)*) |
iterator_category
|
std::input_iterator_tag |
iterator_concept
|
|
value_type
|
std::tuple<ranges::range_value_t</*maybe-const*/<Const, First>>, ranges::range_value_t</*maybe-const*/<Const, Vs>>...>; |
Referenz
|
std::tuple<ranges::range_reference_t</*maybe-const*/<Const, First>>, ranges::range_reference_t</*maybe-const*/<Const, Vs>>...>; |
difference_type
|
Ein implementierungsabhängiger signed-integer-like Typ (möglicherweise der kleinste unter diesen Typen), der breit genug ist, um das Produkt der maximalen Größen aller zugrundeliegenden Ranges zu speichern, falls ein solcher Typ existiert. |
[edit] Data members
| Mitglied | Definition |
Parent* parent_ (private) |
Ein Zeiger auf das Elternobjekt cartesian_product_view((exposition-only member object*) |
current_ (private) |
Ein Tupel von Iteratoren zu den aktuellen zugrundeliegenden Elementen vom Typ std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>, ranges::iterator_t</*maybe-const*/<Const, Vs>>...> ((exposition-only member object*) |
[edit] Member functions
| Konstruiert einen Iterator (öffentliche Memberfunktion) | |
| greift auf das Element zu (öffentliche Memberfunktion) | |
| greift per Index auf ein Element zu (öffentliche Memberfunktion) | |
| bewegt den zugrundeliegenden Iterator vorwärts oder rückwärts (public member function) | |
| bewegt den Iterator vorwärts (exposition-only Member-Funktion*) | |
| dekrementiert den Iterator (exposition-only Member-Funktion*) | |
| gibt die Distanz zwischen zwei Iteratoren zurück (exposition-only Member-Funktion*) |
[edit] Non-member functions
| (C++23) |
vergleicht die zugrundeliegenden Iteratoren (Funktion) |
| (C++23) |
führt Iterator-Arithmetik durch (Funktion) |
| (C++23) |
castet das Ergebnis der Dereferenzierung des zugrundeliegenden Iterators in seinen zugehörigen rvalue-Referenztyp (Funktion) |
| (C++23) |
tauscht die zugrundeliegenden, auf die verwiesenen Elemente aus (Funktion) |
[edit] Example
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] References
- C++23 Standard (ISO/IEC 14882:2024)
- 26.7.32.3 Klassenvorlage
cartesian_product_view::iterator[range.cartesian.iterator]
- 26.7.32.3 Klassenvorlage