Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
std::ranges::chunk_view
Member functions
Classes for input_range s
Deduction guides
outer-iterator
outer-iterator ::value_type
inner-iterator
/*iterator*/ ( ) = default ;
(1) (depuis C++23)
constexpr /*iterator*/ ( /*iterator*/ < ! Const > i )

requires
Const et
std:: convertible_to < ranges:: iterator_t < V > , ranges:: iterator_t < Base >> et

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) ( exposition uniquement* )

Construisez un itérateur.

1) Constructeur par défaut. Initialise par valeur les membres de données sous-jacents :
2) Conversion de /*iterator*/ < false > vers /*iterator*/ < true > . Initialise les membres de données sous-jacents :
  • current_ avec std :: move ( i. current_ ) ,
  • end_ avec std :: move ( i. end_ ) ,
  • n_ avec i. n_ ,
  • missing_ avec i. missing_ .
3) Un constructeur privé 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 sous-jacents :
  • 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