Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque de plages (ranges)
Adaptateurs de plage
 
 
friend constexpr /*iterator*/ operator+( /*iterator*/ i, difference_type n )
    requires ranges::random_access_range<Base>;
(1) (depuis C++20)
friend constexpr /*iterator*/ operator+( difference_type n, /*iterator*/ i )
    requires ranges::random_access_range<Base>;
(2) (depuis C++20)
friend constexpr /*iterator*/ operator-( /*iterator*/ i, difference_type n )
    requires ranges::random_access_range<Base>;
(3) (depuis C++20)
friend constexpr difference_type operator-( const /*iterator*/& x,
                                            const /*iterator*/& y )
    requires std::sized_sentinel_for<ranges::iterator_t<Base>,
                                     ranges::iterator_t<Base>>;
(4) (depuis C++20)
1,2) Retourne l'itérateur i incrémenté de n.
3) Retourne l'itérateur i décrémenté de n.
4) Retourne la distance entre x et y.

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

Paramètres

i, x, y - les itérateurs.
n - position relative à l'emplacement actuel.

Valeur de retour

Soit parent_ le pointeur vers le parent transform_view , current_ l'itérateur sous-jacent.

1,2) /*iterator*/ { * i. parent_ , i. current_ + n }
3) /*iterator*/ { * i. parent_ , i. current_ - n }
4) x. current_ - y. current_

Exemple

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é
LWG 3483 C++20 transform_view::iterator 's difference is overconstrained requirement is relaxed