Namespaces
Variants

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

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rangos
 
std::ranges::chunk_view
Funciones miembro
Clases para input_ranges
Guías de deducción
outer-iterator
outer-iterator::value_type
inner-iterator
 
/*iterator*/() = default;
(1) (desde 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) (desde C++23)
private:
constexpr /*iterator*/( Parent* parent,
                        ranges::iterator_t<Base> current,
                        ranges::range_difference_t<Base> missing = 0 );
(3) (solo exposición*)

Construye un iterador.

1) Constructor por defecto. Inicializa por valor los miembros de datos subyacentes:
  • current_ con ranges::iterator_t<Base>(),
  • end_ con ranges::sentinel_t<Base>(),
  • n_ con 0,
  • missing_ con 0.
2) Conversión de /*iterator*/<false> a /*iterator*/<true>. Inicializa los miembros de datos subyacentes:
  • current_ con std::move(i.current_),
  • end_ con std::move(i.end_),
  • n_ con i.n_,
  • missing_ con i.missing_.
3) Un constructor privado que es usado por ranges::chunk_view::begin y ranges::chunk_view::end. Este constructor no es accesible para los usuarios. Inicializa los miembros de datos subyacentes:
  • current_ con current,
  • end_ con ranges::end(parent->base_),
  • n_ con parent->n_,
  • missing_ con missing.

Parámetros

i - un /*iterator*/ < false >
parent - un puntero al chunk_view propietario
current - un iterador al inicio del fragmento actual
missing - una diferencia entre el tamaño esperado ( n_ ) y el tamaño real del fragmento actual

Ejemplo