Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API