Scroll to navigation

std::ranges::chunk_by_view::find_next,(3) C++ Standard Libary std::ranges::chunk_by_view::find_next,(3)

NAME

std::ranges::chunk_by_view::find_next, - std::ranges::chunk_by_view::find_next,

Synopsis


constexpr ranges::iterator_t<V> (since C++23)
/*find-next*/( ranges::iterator_t<V> current ); (exposition only*)


Finds the next chunk.


Let base_ and pred_ be appropriate underlying data-members of chunk_by_view.


Equivalent to


return ranges::next
(
ranges::adjacent_find
(
current, ranges::end(base_), std::not_fn(std::ref(*pred_))
),
1, ranges::end(base_)
);


The behavior is undefined if pred_.has_value() is false before the call to this
function.


Used in the following non-static member functions:


* ranges::chunk_by_view::iterator::operator++

Parameters


current - the iterator to current element in adapted view

std::ranges::chunk_by_view::prev


constexpr iterator_t<V>
(since C++23)
/*find-prev*/( ranges::iterator_t<V> current ) (exposition only*)


requires ranges::bidirectional_range<V>;


Finds the previous chunk.


Let base_ and pred_ be appropriate underlying data-members of chunk_by_view.


Returns an iterator i in the range [ranges::begin(base_), current) such that:


* ranges::adjacent_find(i, current, std::not_fn(std::ref(*pred_))) is equal to
current, and
* if i is not equal to ranges::begin(base_), then bool(std::invoke(*pred_,
*ranges::prev(i), *i)) is false.


The behavior is undefined if before the call to this function current ==
ranges::begin(base_) or pred_.has_value() != true.


Used in the following non-static member functions:


* ranges::chunk_by_view::iterator::operator--

Parameters


current - the iterator to current element in adapted view.

2024.06.10 http://cppreference.com