std::ranges::stride_view<V>:: iterator <Const>:: operator++,--,+=,-=
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (начиная с C++23) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (начиная с C++23) |
|
constexpr
/*iterator*/
operator
++
(
int
)
requires ranges:: forward_range < Base > ; |
(3) | (начиная с C++23) |
|
constexpr
/*iterator*/
&
operator
--
(
)
requires ranges:: bidirectional_range < Base > ; |
(4) | (начиная с C++23) |
|
constexpr
/*iterator*/
operator
--
(
int
)
requires ranges:: bidirectional_range < Base > ; |
(5) | (начиная с C++23) |
|
constexpr
/*iterator*/
&
operator
+
=
(
difference_type n
)
requires ranges:: random_access_range < Base > ; |
(6) | (начиная с C++23) |
|
constexpr
/*iterator*/
&
operator
-
=
(
difference_type n
)
requires ranges:: random_access_range < Base > ; |
(7) | (начиная с C++23) |
Увеличивает или уменьшает итератор .
Пусть
current_
,
end_
,
stride_
и
missing_
будут членами данных
итератора
.
missing_ = ranges::advance(current_, stride_, end_); return *this
current_
не должен быть равен
end_
.
ranges::advance(current_, missing_ - stride_); missing_ = 0; return *this;
if (n > 0) { ranges::advance(current_, stride_ * (n - 1)); missing_ = ranges::advance(current_, stride_, end_); } else if (n < 0) { ranges::advance(current_, stride_ * n + missing_); missing_ = 0; } return *this;
Если n > 0 , то до вызова этой функции ranges:: distance ( current_, end_ ) должен быть больше stride_ * ( n - 1 ) .
Заметим, что если n < 0 , то ranges:: distance ( current_, end_ ) всегда больше (неположительного) stride_ * ( n - 1 ) .
Содержание |
Параметры
| n | - | позиция относительно текущего местоположения |
Возвращаемое значение
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++23)
|
выполняет арифметические операции с итераторами
(функция) |