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 | - | 被適配檢視中當前元素的迭代器 |
返回值
一個指向前一個塊的迭代器,如上所述。