Namespaces
Variants

std::ranges::basic_istream_view:: iterator

From cppreference.net
Ranges library
Range adaptors
struct /*iterator*/ ;
( exposition seulement* )

ranges:: basic_istream_view < Val, CharT, Traits > :: iterator est le type des itérateurs retournés par begin() de ranges:: basic_istream_view < Val, CharT, Traits > .

iterator est un input_iterator , mais ne satisfait pas LegacyInputIterator , et donc ne fonctionne pas avec les algorithmes antérieurs à C++20.

Table des matières

Types imbriqués

Type Définition
iterator_concept std::input_iterator_tag
difference_type std::ptrdiff_t
value_type Val

Membres de données

Membre Définition
ranges:: basic_istream_view < Val, CharT, Traits > parent_ un pointeur vers la vue parente
( membre objet exposition-only* )

Fonctions membres

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

/*iterator*/ ( const /*iterator*/ & ) = delete ;
(1) (since C++20)
/*iterator*/ ( /*iterator*/ && ) = default ;
(2) (since C++20)
constexpr explicit /*iterator*/ ( basic_istream_view & parent ) ;
(3) (since C++20)
1) Le constructeur de copie est supprimé. L'itérateur n'est pas copiable.
2) Le constructeur de déplacement est défini par défaut.
3) Initialise parent_ avec 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) L'opérateur d'affectation par copie est supprimé. L'itérateur n'est pas copiable.
2) L'opérateur d'affectation par déplacement est défini par défaut.

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

/*iterator*/ & operator ++ ( ) ;
(1) (since C++20)
void operator ++ ( int ) ;
(2) (since C++20)
1) Équivalent à * parent_  - > stream_ >> parent_  - > value_ .
2) Équivalent à ++* this .

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

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

Retourne parent_  - > value_ .

Fonctions non membres

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

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

Retourne ! * parent_  - > stream_ .

Cette fonction n'est pas visible par la recherche non qualifiée ou recherche qualifiée ordinaire, et ne peut être trouvée que par la recherche dépendante des arguments lorsque std::ranges::basic_istream_view:: iterator est une classe associée des arguments.

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
P2325R3 C++20 le constructeur par défaut était fourni en C++20
les itérateurs doivent être default_initializable
supprimé ainsi que
l'exigence