std::ranges::chunk_view<V>::iterator<Const>: operator++,--,+=,-=
Von cppreference.com
< cpp | ranges | chunk view | iterator
| constexpr /*iterator*/& operator++(); |
(1) | (seit C++23) |
| constexpr /*Iterator*/ operator++( int ); |
(2) | (seit C++23) |
| constexpr /*Iterator*/& operator--() requires ranges::bidirectional_range<Base>; |
(3) | (seit C++23) |
| constexpr /*Iterator*/ operator--( int ) requires ranges::bidirectional_range<Base>; |
(4) | (seit C++23) |
| constexpr /*iterator*/& operator+=( difference_type x ) requires ranges::random_access_range<Base>; |
(5) | (seit C++23) |
| constexpr /*iterator*/& operator-=( difference_type x ) requires ranges::random_access_range<Base>; |
(6) | (seit C++23) |
Erweitert oder verringert den Iterator.
Seien current_, end_ und n_ die zugrundeliegenden Datenelemente von chunk_view::iterator.
1) Äquivalent zuVor dem Aufruf muss der Ausdruck current_ != end_ true sein, andernfalls ist das Verhalten undefiniert.
missing_ = ranges::advance(current_, n_, end_); return *this;
2) Äquivalent zu: auto tmp = *this; ++*this; return tmp;.
3) Äquivalent zu
ranges::advance(current_, missing_ - n_); missing_ = 0; return *this;
4) Äquivalent zu: auto tmp = *this; --*this; return tmp;.
5) Äquivalent zuWenn x positiv ist, muss vor dem Aufruf der Ausdruck ranges::distance(current_, end_) > n_ * (x - 1) true sein (d. h. informell, der angeforderte Chunk sollte "innerhalb" der zugrundeliegenden Sequenz liegen). Wenn x negativ ist, ist diese Vorbedingung immer erfüllt.
if (x > 0) { ranges::advance(current_, n_ * (x - 1)); missing_ = ranges::advance(current_, n_, end_); } else if (x < 0) { ranges::advance(current_, n_ * x + missing_); missing_ = 0; } return *this;
6) Äquivalent zu: return *this += -x;.
Inhalt |
[bearbeiten] Parameter
| x | - | eine Position relativ zur aktuellen Position |
[bearbeiten] Rückgabewert
1,3,5,6) *this
2,4) eine Kopie von *this, die vor der Änderung erstellt wurde
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| (C++23) |
führt Iterator-Arithmetik durch (Funktion) |