Namespaces
Variants

std::ranges::chunk_view<V>::iterator<Const>::iterator

Von de.cppreference.net
 
 
Ranges-Bibliothek
Range-Adaptoren
 
std::ranges::chunk_view
Elementfunktionen
Klassen für input_ranges
Ableitungsleitfäden
outer-iterator
outer-iterator::value_type
inner-iterator
 
/*iterator*/() = default;
(1) (seit C++23)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires
        Const and
        std::convertible_to<ranges::iterator_t<V>, ranges::iterator_t<Base>> and
        std::convertible_to<ranges::sentinel_t<V>, ranges::sentinel_t<Base>>;
(2) (seit C++23)
private:
constexpr /*iterator*/( Parent* parent,
                        ranges::iterator_t<Base> current,
                        ranges::range_difference_t<Base> missing = 0 );
(3) (nur zur Darstellung*)

Erstellt einen Iterator.

1) Standardkonstruktor. Wertinitialisiert die zugrundeliegenden Datenmember:
  • current_ mit ranges::iterator_t<Base>(),
  • end_ mit ranges::sentinel_t<Base>(),
  • n_ mit 0,
  • missing_ mit 0.
2) Konvertierung von /*iterator*/<false> nach /*iterator*/<true>. Initialisiert die zugrundeliegenden Datenmember:
  • current_ mit std::move(i.current_),
  • end_ mit std::move(i.end_),
  • n_ mit i.n_,
  • missing_ mit i.missing_.
3) Ein privater Konstruktor, der von ranges::chunk_view::begin und ranges::chunk_view::end verwendet wird. Dieser Konstruktor ist für Benutzer nicht zugänglich. Initialisiert die zugrundeliegenden Datenmember:
  • current_ mit current,
  • end_ mit ranges::end(parent->base_),
  • n_ mit parent->n_,
  • missing_ mit missing.

Parameter

i - ein /*iterator*/ < false >
parent - ein Zeiger auf den besitzenden chunk_view
current - ein Iterator zum Beginn des aktuellen Chunks
missing - eine Differenz zwischen erwarteter ( n_ ) und tatsächlicher Größe des aktuellen Chunks

Beispiel