std::ranges::chunk_by_view<V,Pred>::find_next, std::ranges::chunk_by_view<V,Pred>::find_prev
来自cppreference.com
< cpp | ranges | chunk by view
std::ranges::chunk_by_view::next
constexpr ranges::iterator_t<V> /*find-next*/( ranges::iterator_t<V> current ); |
(C++23 起) (仅用于阐述*) |
|
查找下一个区块。
令
base_
和
pred_
为 chunk_by_view
的适当的底层数据成员。
等价于:
return ranges::next ( ranges::adjacent_find ( current, ranges::end(base_), std::not_fn(std::ref(*pred_)) ), 1, ranges::end(base_) );
如果在调用该函数前 pred_.has_value() 是 false,则其行为未定义。
在以下非静态成员函数中使用:
- ranges::chunk_by_view::iterator::
operator++
参数
current | - | 指向所适配视图中的当前元素的迭代器 |
返回值
指向下一个区块的迭代器,如上所述。
std::ranges::chunk_by_view::prev
constexpr ranges::iterator_t<V> /*find-prev*/( ranges::iterator_t<V> current ) |
(C++23 起) (仅用于阐述*) |
|
查找前一个区块。
令
base_
和
pred_
为 chunk_by_view
的适当的底层数据成员。
返回范围 [
ranges::begin(base_),
current)
内的迭代器 i
,条件如下:
- ranges::adjacent_find(i, current, std::not_fn(std::ref(*pred_))) 等于 current,并且
- 如果
i
不等于 ranges::begin(base_),那么 bool(std::invoke(*pred_, *ranges::prev(i), *i)) 是 false。
如果在调用该函数前 current == ranges::begin(base_) 或者 pred_.has_value() != true,则其行为未定义。
在以下非静态成员函数中使用:
- ranges::chunk_by_view::iterator::
operator--
参数
current | - | 指向所适配视图中的当前元素的迭代器 |
返回值
指向前一个区块的迭代器,如上所述。