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 ) ; |
(начиная с 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
)
|
(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 | - | итератор к текущему элементу в адаптированном представлении |
Возвращаемое значение
Итератор к предыдущему чанку, как описано выше.