std::ranges::slide_view<V>::iterator<Const>::operator++,--,+=,-=
来自 zh.cppreference.net
constexpr /*iterator*/& operator++();
|
(1) | (C++23 起) |
constexpr /*iterator*/ operator++( int );
|
(2) | (C++23 起) |
constexpr /*iterator*/& operator--()
requires ranges::bidirectional_range<Base>;
|
(3) | (C++23 起) |
constexpr /*iterator*/ operator--( int )
requires ranges::bidirectional_range<Base>;
|
(4) | (C++23 起) |
constexpr /*iterator*/& operator+=( difference_type n )
requires ranges::random_access_range<Base>;
|
(5) | (C++23 起) |
constexpr /*iterator*/& operator-=( difference_type n )
requires ranges::random_access_range<Base>;
|
(6) | (C++23 起) |
向前或向后移动迭代器。
令 current_ 和 last_ele_ 分别为指向滑动窗口起始和末尾的底层迭代器。
1) 等价于:
调用前,
current_ = ranges::next(current_);
last_ele_ = ranges::next(last_ele_); // if last_ele_ is present
return *this;
current_ 和 last_ele_(若存在)必须可自增。2) 等价于:
auto tmp = *this; ++*this; return tmp;3) 等价于:
调用前,
current_ = ranges::prev(current_);
last_ele_ = ranges::prev(last_ele_); // if last_ele_ is present
return *this;
current_ 和 last_ele_(若存在)必须可自减。4) 等价于:
auto tmp = *this; --*this; return tmp;5) 等价于:
调用前,表达式
current_ = current_ + n;
last_ele_ = last_ele_ + n; // if last_ele_ is present
return *this;
current_ + n 和 last_ele_ + n(若 last_ele_ 存在)必须具有良好定义的行为。6) 等价于:
调用前,表达式
current_ = current_ - n;
last_ele_ = last_ele_ - n; // if last_ele_ is present
return *this;
current_ - n 和 last_ele_ - n(若 last_ele_ 存在)必须具有良好定义的行为。参数
| n | - | 相对于当前位置的偏移量 |
返回值
1,3,5,6)
*
this
2,4)
在更改前创建的
*
this
副本
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
(C++23)
|
执行迭代器算术运算
(函数) |