Namespaces
Variants

std::ranges::basic_istream_view:: iterator

From cppreference.net
Ranges library
Range adaptors
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.

Contenidos

Tipos anidados

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

Miembros de datos

Miembro Definición
ranges:: basic_istream_view < Val, CharT, Traits > parent_ un puntero a la vista padre
( miembro objeto solo para exposición* )

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