命名空间
变体
操作

operator+,-(ranges::concat_view::iterator)

来自 cppreference.cn
< cpp‎ | ranges‎ | concat view‎ | iterator
 
 
范围库
范围适配器
 
 
friend constexpr /*iterator*/

    operator+( const /*iterator*/& it, difference_type n )

        requires /*concat-is-random-access*/<Const, Views...>;
(1) (自 C++26 起)
friend constexpr /*iterator*/

    operator+( difference_type n, const /*iterator*/& it )

        requires /*concat-is-random-access*/<Const, Views...>;
(2) (自 C++26 起)
friend constexpr /*iterator*/

    operator-( const /*iterator*/& it, difference_type n )

        requires /*concat-is-random-access*/<Const, Views...>;
(3) (自 C++26 起)
friend constexpr difference_type

    operator-( const /*iterator*/& x, const /*iterator*/& y )

        requires /*concat-is-random-access*/<Const, Views...>;
(4) (自 C++26 起)
friend constexpr difference_type

    operator-( const /*iterator*/& x, std::default_sentinel_t )

        requires /* 见描述 */;
(5) (自 C++26 起)
friend constexpr difference_type

    operator-( std::default_sentinel_t, const /*iterator*/& x )

        requires /* 见描述 */;
(6) (自 C++26 起)

递增或递减 iterator

1) 等价于 auto t = it; t += n; return t;
2) 等价于 return it + n;
3) 等价于 auto t = it; t -= n; return t;
4)Ixx.it_ .index(),且 Iyy.it_ .index()
x.it_ .valueless_by_exception() || y.it_ .valueless_by_exception()true,则行为未定义。
5)Ixx.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>> && ...)

x.it_ .valueless_by_exception()true,则行为未定义。
6) 等价于 return -(x - std::default_sentinel);
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>> && ...)

x.it_ .valueless_by_exception()true,则行为未定义。

这些函数对于普通的非限定性查找限定性查找是不可见的,并且只有当 concat_view::iterator <Const> 是参数的关联类时,才能通过实参依赖查找找到。

内容

[编辑] 参数

it, x, y - 迭代器
n - 相对于当前位置的位置

[编辑] 返回值

如上所述。

[编辑] 示例

[编辑] 参见

推进或递减底层迭代器
(公共成员函数) [编辑]