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.