Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plages
 
std::ranges::chunk_view
Fonctions membres
Classes pour input_ranges
Guides de déduction
outer-iterator
outer-iterator::value_type
inner-iterator
 
/*iterator*/() = default;
(1) (depuis 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) (depuis C++23)
private:
constexpr /*iterator*/( Parent* parent,
                        ranges::iterator_t<Base> current,
                        ranges::range_difference_t<Base> missing = 0 );
(3) (exposé uniquement*)

Construit un itérateur.

1) Constructeur par défaut. Initialise par valeur les membres de données:
  • current_ avec ranges::iterator_t<Base>(),
  • end_ avec ranges::sentinel_t<Base>(),
  • n_ avec 0,
  • missing_ avec 0.
2) Conversion de /*iterator*/<false> à /*iterator*/<true>. Initialise les membres de données:
  • current_ avec std::move(i.current_),
  • end_ avec std::move(i.end_),
  • n_ avec i.n_,
  • missing_ avec i.missing_.
3) Un constructeur privé qui est utilisé par ranges::chunk_view::begin et ranges::chunk_view::end. Ce constructeur n'est pas accessible aux utilisateurs. Initialise les membres de données:
  • current_ avec current,
  • end_ avec ranges::end(parent->base_),
  • n_ avec parent->n_,
  • missing_ avec missing.

Paramètres

i - un /*iterator*/ < false >
parent - un pointeur vers le chunk_view propriétaire
current - un itérateur vers le début du chunk actuel
missing - une différence entre la taille attendue ( n_ ) et la taille réelle du chunk actuel

Exemple