Namespaces
Variants

std::ranges::transform_view<V,F>:: iterator

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/
(depuis C++20)
( exposition uniquement* )

Le type de retour de transform_view::begin , et de transform_view::end lorsque la vue sous-jacente est une common_range .

Le type /*iterator*/ < true > est retourné par les surcharges qualifiées const. Le type /*iterator*/ < false > est retourné par les surcharges non qualifiées const.

Table des matières

Types membres

Type de membre Définition
Parent (privé) maybe-const  < Const, ranges:: transform_view < V, F >>
( type de membre d'exposition uniquement* )
Base (privé) maybe-const  < Const, V >
( type de membre d'exposition uniquement* )
iterator_concept
iterator_category
(présent uniquement si Base modélise
forward_range )
Soit MCF pour maybe-const  < Const, F > .

Sinon, soit C pour std:: iterator_traits < ranges:: iterator_t < Base >> :: iterator_category .

value_type std:: remove_cvref_t < std:: invoke_result_t < MCF & , ranges:: range_reference_t < Base >>> , où MCF désigne maybe-const  < Const, F >
difference_type ranges:: range_difference_t < Base >

Membres de données

Nombre du membre Définition
current_ (privé) Un itérateur pointant vers (éventuellement qualifié const) V .
( objet membre d'exposition uniquement* )
parent_ (privé) Un pointeur vers le parent transform_view .
( objet membre d'exposition uniquement* )

Fonctions membres

construit un itérateur
(fonction membre publique)
retourne l'itérateur sous-jacent
(fonction membre publique)
accède à l'élément transformé
(fonction membre publique)
accède à un élément par index
(fonction membre publique)
avance ou décrémente l'itérateur sous-jacent
(fonction membre publique)

Fonctions non membres

compare les itérateurs sous-jacents
(fonction)
effectue des opérations arithmétiques sur les itérateurs
(fonction)
(C++20)
obtient une référence rvalue à l'élément transformé
(fonction)

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 Appliqué à Comportement publié Comportement corrigé
P2259R1 C++20 le membre iterator_category est toujours défini défini uniquement si Base modélise forward_range
LWG 3555 C++20 la définition de iterator_concept ignore const modifié pour prendre en compte
LWG 3798 C++20 iterator_category est input-only si le résultat de transformation est une référence rvalue peut avoir une catégorie plus forte