std::ranges::chunk_by_view<V,Pred>::find_next, std::ranges::chunk_by_view<V,Pred>::find_prev
std::ranges::chunk_by_view::next
constexpr ranges::iterator_t<V>
/*find-next*/( ranges::iterator_t<V> current );
| (since 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 iterator_t<V>
/*find-prev*/( ranges::iterator_t<V> current )
requires ranges::bidirectional_range<V>;
| (since C++23) (только для примера*) |
Находит предыдущий фрагмент.
Пусть base_ и pred_ являются соответствующими внутренними данными chunk_by_view.
Возвращает итератор i в диапазоне [ranges::begin(base_), current) такой, что:
-
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 | - | итератор на текущий элемент в адаптированном представлении. |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/chunk_by_view/helpers