Namespaces
Variants

operator+,- (ranges::cartesian_product_view:: iterator )

From cppreference.net
Ranges library
Range adaptors
friend constexpr /*iterator*/ operator + ( const /*iterator*/ & i,

difference_type n )

requires /*cartesian-product-is-random-access*/ < Const, First, Vs... > ;
(1) (depuis C++23)
friend constexpr /*iterator*/ operator + ( difference_type n,

const /*iterator*/ & i )

requires /*cartesian-product-is-random-access*/ < Const, First, Vs... > ;
(2) (depuis C++23)
friend constexpr /*iterator*/ operator - ( const /*iterator*/ & i,

difference_type n )

requires /*cartesian-product-is-random-access*/ < Const, First, Vs... > ;
(3) (depuis C++23)
friend constexpr difference_type operator - ( const /*iterator*/ & i,

const /*iterator*/ & j )
requires

/*cartesian-is-sized-sentinel*/ < Const, iterator_t, First, Vs... > ;
(4) (depuis C++23)
friend constexpr difference_type operator - ( const /*iterator*/ & i,

std:: default_sentinel_t )
requires

/*cartesian-is-sized-sentinel*/ < Const, ranges:: sentinel_t , First, Vs... > ;
(5) (depuis C++23)
friend constexpr difference_type operator - ( std:: default_sentinel_t s,

const /*iterator*/ & i )
requires

/*cartesian-is-sized-sentinel*/ < Const, ranges:: sentinel_t , First, Vs... > ;
(6) (depuis C++23)

Effectue des opérations arithmétiques sur les itérateurs ou calcule la distance.

Soit current_ le tuple d'itérateurs sous-jacent et parent_ le pointeur sous-jacent vers cartesian_product_view .

1) Équivalent à : return /*iterator*/ ( i ) + = n ; .
2) Équivalent à : return i + n ; .
3) Équivalent à : return /*iterator*/ ( i ) - = n ; .
4) Équivalent à : return i. distance_from ( j. current_ ) ; .
5) Soit /*end-tuple*/ un objet d'un type qui est une spécialisation de tuple , tel que :
  • std :: get < 0 > ( /*end-tuple*/ ) ait la même valeur que ranges:: end ( std :: get < 0 > ( i. parent_ - > bases_ ) ) ;
  • std :: get < N > ( /*end-tuple*/ ) ait la même valeur que ranges:: begin ( std :: get < N > ( i. parent_ - > bases_ ) ) pour tout entier 1 ≤ N ≤ sizeof... ( Vs ) .
Équivalent à : return i. distance_from ( /*end-tuple*/ ) ; .
6) Équivalent à : return - ( i - s ) ; .

Ces fonctions ne sont pas visibles pour la recherche non qualifiée ou qualifiée ordinaire, et ne peuvent être trouvées que par la argument-dependent lookup lorsque cartesian_product_view:: iterator <Const> est une classe associée des arguments.

Table des matières

Paramètres

i, j - les itérateurs
n - la position relative à l'emplacement actuel
s - le sentinelle

Valeur de retour

1,2) Un itérateur incrémenté.
3) Un itérateur décrémenté.
4) Une distance entre les itérateurs donnés.
5,6) Une distance entre l'itérateur donné et le sentinelle.

Exemple

Voir aussi

avance ou décrémente l'itérateur sous-jacent
(fonction membre publique)