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

来自cppreference.com
< cpp‎ | ranges‎ | adjacent view‎ | iterator
 
 
范围库
范围访问
范围转换器
(C++23)
范围原语



悬垂迭代器处理
范围概念
视图

范围工厂
适配器
范围生成器
范围适配器对象
范围适配器闭包对象
辅助项
 
 
friend constexpr /*iterator*/ operator+( const /*iterator*/& i,

                                         difference_type n )

  requires ranges::random_access_range<Base>;
(1) (C++23 起)
friend constexpr /*iterator*/ operator+( difference_type n,

                                         const /*iterator*/& i )

  requires ranges::random_access_range<Base>;
(2) (C++23 起)
friend constexpr /*iterator*/ operator-( const /*iterator*/& i,

                                         difference_type n )

  requires ranges::random_access_range<Base>;
(3) (C++23 起)
friend constexpr difference_type operator-( const /*iterator*/& i,

                                            const /*iterator*/& j )
  requires std::sized_sentinel_for<ranges::iterator_t<Base>,

                                   ranges::iterator_t<Base>>;
(4) (C++23 起)

current_ 为底层迭代器数组,并且 Base 为底层视图的)(可能有 const 限定)类型。

1,2) 返回递增 n 的迭代器 i。 等价于 auto r = i; r += n; return r;
3) 返回递减 n 的迭代器 i。 等价于 auto r = i; r -= n; return r;
4) 返回两个迭代器的 i 之间的 j 距离。 等价于 return i.current_.back() - j.current_.back();

这些函数对通常无限定有限定查找不可见,而只能在 adjacent_view::iterator<Const> 为参数的关联类时由实参依赖查找找到。

参数

i, j - 迭代器
n - 相对于当前的位置

返回值

1-2) 增加的迭代器
3) 减小的迭代器
4) 两个迭代器之间的距离

示例

参阅

增减底层迭代器 s
(公开成员函数)