Namespaces
Variants

std::ranges::basic_istream_view::iterator

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rango
 
 
struct /*iterator*/;
(solo para exposición*)

ranges::basic_istream_view<Val, CharT, Traits>::iterator es el tipo de los iteradores devueltos por begin() de ranges::basic_istream_view<Val, CharT, Traits>.

iterator es un input_iterator, pero no satisface LegacyInputIterator, y por lo tanto no funciona con algoritmos anteriores a C++20.

Tipos anidados

Tipo Definición
iterator_concept std::input_iterator_tag
difference_type std::ptrdiff_t
value_type Val

Miembros de datos

Miembro Descripción
ranges::basic_istream_view<Val, CharT, Traits> parent_ un puntero a la vista padre
(solo de exposición member object*)

Funciones miembro

std::ranges::basic_istream_view:: iterator :: iterator

/*iterator*/ ( const /*iterator*/ & ) = delete ;
(1) (desde C++20)
/*iterator*/ ( /*iterator*/ && ) = default ;
(2) (desde C++20)
constexpr explicit /*iterator*/ ( basic_istream_view & parent ) ;
(3) (desde C++20)
1) El constructor de copia está eliminado. El iterador no es copiable.
2) El constructor de movimiento está definido por defecto.
3) Inicializa parent_ con std:: addressof ( parent ) .

std::ranges::basic_istream_view:: iterator :: operator=

/*iterator*/ & operator = ( const /*iterator*/ & ) = delete ;
(1) (since C++20)
/*iterator*/ & operator = ( /*iterator*/ && ) = default ;
(2) (since C++20)
1) El operador de asignación de copia está eliminado. El iterador no es copiable.
2) El operador de asignación de movimiento está definido por defecto.

std::ranges::basic_istream_view:: iterator :: operator++

/*iterator*/ & operator ++ ( ) ;
(1) (desde C++20)
void operator ++ ( int ) ;
(2) (desde C++20)
1) Equivalente a * parent_  - > stream_ >> parent_  - > value_ .
2) Equivalente a ++* this .

std::ranges::basic_istream_view:: iterator :: operator*

Val & operator * ( ) const ;
(desde C++20)

Devuelve parent_  - > value_ .

Funciones no miembro

operator== (std::ranges::basic_istream_view:: iterator , std::default_sentinel)

friend bool operator == ( const /*iterator*/ & x, std:: default_sentinel_t ) ;
(desde C++20)

Devuelve ! * parent_  - > stream_ .

Esta función no es visible para la búsqueda no calificada ordinaria o la búsqueda calificada , y solo puede ser encontrada mediante búsqueda dependiente de argumentos cuando std::ranges::basic_istream_view:: iterator es una clase asociada de los argumentos.

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
P2325R3 C++20 el constructor por defecto se proporcionó como C++20
los iteradores deben ser default_initializable
eliminado junto con
el requisito