operator+,-(ranges::transform_view::iterator)
Depuis fr.cppreference.net
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
|
Cette section est incomplète
Raison : aucun 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 |