Namespaces
Variants

std::ranges::zip_transform_view<F,Views...>:: iterator

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

Le type d'itérateur d'un zip_transform_view potentiellement qualifié const, retourné par zip_transform_view::begin et dans certains cas par zip_transform_view::end .

Le type /*iterator*/ < true > ou /*iterator*/ < false > traite les vues sous-jacentes comme qualifiées const ou non qualifiées const respectivement.

Table des matières

Types membres

Type de membre Définition
Parent (privé) zip_transform_view si Const est false , const zip_transform_view sinon.
( type membre d'exposition uniquement* )
Base (privé) InnerView si Const est false , const InnerView sinon.
( type membre d'exposition uniquement* )
iterator_category
(conditionnellement présent)

Soit /*maybe-const*/ < Const, F > & dénote const F & si Const est true , F & sinon.
Soit /*maybe-const*/ < Const, Views > dénote const Views si Const est true , Views sinon.

Soit /*POT*/ dénote le pack de types std:: iterator_traits < std :: iterator_t <
/*maybe-const*/ < Const, Views >>> :: iterator_category ...

Si /*Base*/ modélise forward_range , alors iterator_category dénote :

n'est pas une référence.
  • Sinon,
( std:: derived_from < /*POT*/ , std:: random_access_iterator_tag > && ... ) est true .
( std:: derived_from < /*POT*/ , std:: bidirectional_iterator_tag > && ... ) est true .
( std:: derived_from < /*POT*/ , std:: forward_iterator_tag > && ... ) est true .

Non présent si /*Base*/ ne modélise pas forward_range .

iterator_concept /*ziperator*/ < Const > :: iterator_concept
value_type

Soit /*RREF*/ égal à ranges:: range_reference_t < Views > ... ,
et /*CRREF*/ égal à ranges:: range_reference_t < const Views > ... . Alors :

difference_type range :: range_difference_t < /*Base*/ >

Membres de données

Objet membre Définition
parent_ (privé) Un pointeur Parent* vers l'objet parent
( objet membre d'exposition uniquement* )
inner_ (privé) Un itérateur de type ziperator<Const> .
( type membre d'exposition uniquement* )

Fonctions membres

construit un itérateur
(fonction membre publique)
obtient le résultat de l'application de l'objet invocable aux éléments pointés sous-jacents
(fonction membre publique)
obtient le résultat de l'application de l'objet invocable aux éléments sous-jacents à l'offset donné
(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 sous-jacents
(fonction)

Exemple