operator+,-(ranges::elements_view::iterator)
De fr.cppreference.net
friend constexpr /*iterator*/ operator+( const /*iterator*/& i, difference_type n )
requires ranges::random_access_range<Base>;
|
(1) | (depuis C++20) |
friend constexpr /*iterator*/ operator+( difference_type n, const /*iterator*/& i )
requires ranges::random_access_range<Base>;
|
(2) | (depuis C++20) |
friend constexpr /*iterator*/ operator-( const /*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) Renvoie l'itérateur
i incrémenté de n.3) Renvoie l'itérateur
i décrémenté de n.4) Renvoie la distance entre
x et y.Ces fonctions ne sont pas visibles pour une recherche ordinaire non qualifiée ou qualifiée, et ne peuvent être trouvées que par la recherche dépendante des arguments lorsque elements_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
1,2)
[
&
]
{
auto
j
=
i
;
j
+
=
n
;
return
j
;
}
(
)
3)
[
&
]
{
auto
j
=
i
;
j
-
=
n
;
return
j
;
}
(
)
4)
x.
base
(
)
-
y.
base
(
)
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 |
elements_view::iterator
a une différence surcontrainte
|
la contrainte est assouplie |