opérateur+,-(ranges::concat_view::iterator)
friend constexpr /*iterator*/
operator+( const /*iterator*/& it, difference_type n )
requires /*concat-is-random-access*/<Const, Views...>;
|
(1) | (depuis C++26) |
friend constexpr /*iterator*/
operator+( difference_type n, const /*iterator*/& it )
requires /*concat-is-random-access*/<Const, Views...>;
|
(2) | (depuis C++26) |
friend constexpr /*iterator*/
operator-( const /*iterator*/& it, difference_type n )
requires /*concat-is-random-access*/<Const, Views...>;
|
(3) | (depuis C++26) |
friend constexpr difference_type
operator-( const /*iterator*/& x, const /*iterator*/& y )
requires /*concat-is-random-access*/<Const, Views...>;
|
(4) | (depuis C++26) |
friend constexpr difference_type
operator-( const /*iterator*/& x, std::default_sentinel_t )
requires /* see description */;
|
(5) | (depuis C++26) |
friend constexpr difference_type
operator-( std::default_sentinel_t, const /*iterator*/& x )
requires /* see description */;
|
(6) | (depuis C++26) |
Incrémente ou décrémente l'itérateur.
auto t = it; t += n; return t;.return it + n;.auto t = it; t -= n; return t;.Ix x.it_ .index() et Iy y.it_ .index() :
- Si
Ix > Iyesttrue, équivalent àdifference_type result = ranges::distance(y.get-iter<Iy>(), y.get-end<Iy>());for (std::size_t I = Iy + 1; I < Ix; I++)result += ranges::distance(x.get-view<I>());return result + ranges::distance(x.get-begin<Ix>(), x.get-iter<Ix>());. - Sinon, si
Ix < Iyesttrue, équivalent àreturn -(y - x);. - Sinon, équivalent à
return x.get-iter<Ix>() - y.get-iter<Iy>();.
x.it_ .valueless_by_exception() || y.it_ .valueless_by_exception() est true, le comportement est indéfini.Ix x.it_ .index(), équivalent à difference_type result = ranges::distance(x.get-iter <Ix>(), x.get-end <Ix>());for (std::size_t I = Ix + 1, count = sizeof...(Views); I < count; I++) result += ranges::distance(x.get-view <I>());return -result;.Fs le paquet qui consiste en tous les éléments de Views sauf le premier élément, l'expression dans la clause requires est équivalente à
(std::sized_sentinel_for<ranges::sentinel_t<maybe-const <Const, Views>>,
ranges::iterator_t<maybe-const <Const, Views>>> && ...) &&
(ranges::sized_range<maybe-const <Const, Fs>> && ...)
x.it_ .valueless_by_exception() est true, le comportement est indéfini.return -(x - std::default_sentinel);.Fs le paquet qui consiste en tous les éléments de Views sauf le premier élément, l'expression dans la clause requires est équivalente à
(std::sized_sentinel_for<ranges::sentinel_t<maybe-const <Const, Views>>,
ranges::iterator_t<maybe-const <Const, Views>>> && ...) &&
(ranges::sized_range<maybe-const <Const, Fs>> && ...)
x.it_ .valueless_by_exception() est true, le comportement est indéfini.Ces fonctions ne sont pas visibles par la recherche non qualifiée ou qualifiée ordinaires, et ne peuvent être trouvées que par recherche dépendante des arguments lorsque concat_view::iterator <Const> est une classe associée des arguments.
Paramètres
| it, x, y | - | les itérateurs |
| n | - | une position relative à l'emplacement actuel |
Valeur de retour
Comme décrit ci-dessus.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
avance ou décrémente l'itérateur sous-jacent
(fonction membre publique) |