Namespaces
Variants

std::ranges::cartesian_product_view<First, Vs...>:: iterator

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

Le type de retour de cartesian_product_view::begin , et de cartesian_product_view::end lorsque la vue sous-jacente V 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

Membre Définition
Parent (privé) maybe-const  < Const, ranges:: cartesian_product_view >>
( type membre d'exposition uniquement* )
iterator_category std:: input_iterator_tag
iterator_concept
value_type std:: tuple < ranges:: range_value_t < /*maybe-const*/ < Const, First >> ,
ranges:: range_value_t < /*maybe-const*/ < Const, Vs >> ... > ;
reference std:: tuple < ranges:: range_reference_t < /*maybe-const*/ < Const, First >> ,
ranges:: range_reference_t < /*maybe-const*/ < Const, Vs >> ... > ;
difference_type Un type similaire à un entier signé défini par l'implémentation (éventuellement le plus petit de ces types), qui est suffisamment large pour stocker le produit des tailles maximales de toutes les plages sous-jacentes, si un tel type existe.

Membres de données

Membre Définition
Parent* parent_ (privé) Un pointeur vers l'objet parent cartesian_product_view
( membre d'objet d'exposition uniquement* )
current_ (privé) Un tuple d'itérateurs vers les éléments sous-jacents actuels de type std:: tuple < ranges:: iterator_t < /*maybe-const*/ < Const, First >> ,
ranges:: iterator_t < /*maybe-const*/ < Const, Vs >> ... >
( membre d'objet d'exposition uniquement* )

Fonctions membres

construit un itérateur
(fonction membre publique)
accède à l'élément
(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)
avance l'itérateur
( fonction membre d'exposition uniquement* )
décrémente l'itérateur
( fonction membre d'exposition uniquement* )
retourne la distance entre deux itérateurs
( fonction membre d'exposition uniquement* )

Fonctions non membres

compare les itérateurs sous-jacents
(fonction)
effectue des opérations arithmétiques sur les itérateurs
(fonction)
(C++23)
convertit le résultat du déréférencement de l'itérateur sous-jacent en son type de référence rvalue associé
(fonction)
(C++23)
échange les éléments pointés sous-jacents
(fonction)

Exemple

Références

  • Norme C++23 (ISO/CEI 14882:2024) :
  • 26.7.32.3 Modèle de classe cartesian_product_view::iterator [range.cartesian.iterator]

Voir aussi