operator+,-(ranges::chunk_view::iterator)
来自 zh.cppreference.net
friend constexpr /*iterator*/ operator+( const /*iterator*/& i,
difference_type pos )
requires ranges::random_access_range<Base>;
|
(1) | (C++23起) |
friend constexpr /*iterator*/ operator+( difference_type pos,
const /*iterator*/& i )
requires ranges::random_access_range<Base>;
|
(2) | (C++23起) |
friend constexpr /*iterator*/ operator-( const /*iterator*/& i,
difference_type pos )
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起) |
friend constexpr difference_type operator-( std::default_sentinel_t,
const /*iterator*/& i )
requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
ranges::iterator_t<Base>>;
|
(5) | (C++23起) |
friend constexpr difference_type operator-( const /*iterator*/& i,
std::default_sentinel_t )
requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
ranges::iterator_t<Base>>;
|
(6) | (C++23起) |
执行iterator算术或计算距离。
设current_、end_、n_和missing_为底层data members。
等价于:
1,2)
auto r = i; r += pos; return r;.3)
auto r = i; r -= pos; return r;.4)
return (i.current_ - j.current_ + i.missing_ - j.missing_) / i.n_;.5)
return /*div-ceil*/(i.end_ - i.current_, i.n_);.6)
return -(y - x);.这些函数对普通的unqualified或qualified lookup不可见,只能通过argument-dependent lookup在chunk_view::iterator<Const>是参数的关联类时找到。
参数
| i, j | - | 迭代器 |
| pos | - | 相对于当前位置的偏移量 |
返回值
1,2)
递增后的迭代器。
3)
一个递减后的迭代器。
4)
给定迭代器之间的距离(以元素数量计,即块数)。
5,6)
给定迭代器与哨位之间的距离(以元素数量计)。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
前进或回退底层迭代器
(公开成员函数) |