operator+,-(ranges::concat_view::iterator)
friend constexpr /*iterator*/ operator+( const /*iterator*/& it, difference_type n ) |
(1) | (自 C++26 起) |
friend constexpr /*iterator*/ operator+( difference_type n, const /*iterator*/& it ) |
(2) | (自 C++26 起) |
friend constexpr /*iterator*/ operator-( const /*iterator*/& it, difference_type n ) |
(3) | (自 C++26 起) |
friend constexpr difference_type operator-( const /*iterator*/& x, const /*iterator*/& y ) |
(4) | (自 C++26 起) |
friend constexpr difference_type operator-( const /*iterator*/& x, std::default_sentinel_t ) |
(5) | (自 C++26 起) |
friend constexpr difference_type operator-( std::default_sentinel_t, const /*iterator*/& x ) |
(6) | (自 C++26 起) |
递增或递减 iterator。
it_
.index(),且 Iy 为 y.it_
.index()- 若 Ix > Iy 为 true,则等价于 difference_type result = ranges::distance(y.
get-iter
<Iy>(), y.get-end
<Iy>());
for (std::size_t I = Iy + 1; I < Ix; I++)get-view
<I>());
return result + ranges::distance(x.get-begin
<Ix>(), x.get-iter
<Ix>());。 - 否则,若 Ix < Iy 为 true,则等价于 return -(y - x);。
- 否则,等价于 return x.
get-iter
<Ix>() - y.get-iter
<Iy>();。
it_
.index(),等价于 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
为由 Views
的所有元素(除了第一个元素)构成的包,requires 子句中的表达式等价于 (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>> && ...)
it_
.valueless_by_exception() 为 true,则行为未定义。Fs
为由 Views
的所有元素(除了第一个元素)构成的包,requires 子句中的表达式等价于 (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>> && ...)
it_
.valueless_by_exception() 为 true,则行为未定义。这些函数对于普通的非限定性查找或限定性查找是不可见的,并且只有当 concat_view::iterator <Const>
是参数的关联类时,才能通过实参依赖查找找到。
内容 |
[编辑] 参数
it, x, y | - | 迭代器 |
n | - | 相对于当前位置的位置 |
[编辑] 返回值
如上所述。
[编辑] 示例
本节尚不完整 原因:没有示例 |
[编辑] 参见
推进或递减底层迭代器 (公共成员函数) |