Namensräume
Varianten
Aktionen

std::ranges::cartesian_product_view<First, Vs...>::iterator

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
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) [edit]
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

vergleicht die zugrundeliegenden Iteratoren
(Funktion)
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

[edit] References

  • C++23 Standard (ISO/IEC 14882:2024)
  • 26.7.32.3 Klassenvorlage cartesian_product_view::iterator [range.cartesian.iterator]

[edit] See also