std::ranges::chunk_by_view<V,Pred>:: find_next , std::ranges::chunk_by_view<V,Pred>:: find_prev
Inhaltsverzeichnis |
std::ranges::chunk_by_view:: next
|
constexpr
ranges::
iterator_t
<
V
>
/*find-next*/ ( ranges:: iterator_t < V > current ) ; |
(seit C++23)
( nur zur Darstellung* ) |
|
Findet den nächsten Chunk.
Seien
base_
und
pred_
die entsprechenden zugrundeliegenden Datenmember von
chunk_by_view
.
Entspricht
return ranges::next ( ranges::adjacent_find ( current, ranges::end(base_), std::not_fn(std::ref(*pred_)) ), 1, ranges::end(base_) );
Das Verhalten ist undefiniert, wenn pred_. has_value ( ) vor dem Aufruf dieser Funktion false ist.
Wird in den folgenden nicht-statischen Memberfunktionen verwendet:
-
ranges::chunk_by_view::
iterator
::
operator++
Parameter
| current | - | der Iterator zum aktuellen Element in der angepassten View |
Rückgabewert
Ein Iterator zum nächsten Chunk, wie oben beschrieben.
std::ranges::chunk_by_view:: prev
|
constexpr
ranges::
iterator_t
<
V
>
/*find-prev*/
(
ranges::
iterator_t
<
V
>
current
)
|
(since C++23)
( exposition only* ) |
|
Findet den vorherigen Chunk.
Seien
base_
und
pred_
die entsprechenden zugrundeliegenden Datenmitglieder von
chunk_by_view
.
Gibt einen Iterator
i
im Bereich
[
ranges::
begin
(
base_
)
,
current
)
zurück, sodass:
- ranges:: adjacent_find ( i, current, std:: not_fn ( std:: ref ( * pred_ ) ) ) gleich current ist, und
-
wenn
inicht gleich ranges:: begin ( base_ ) ist, dann ist bool ( std:: invoke ( * pred_, * ranges:: prev ( i ) , * i ) ) gleich false .
Das Verhalten ist undefiniert, wenn vor dem Aufruf dieser Funktion current == ranges:: begin ( base_ ) oder pred_. has_value ( ) ! = true ist.
Wird in den folgenden nicht-statischen Memberfunktionen verwendet:
-
ranges::chunk_by_view::
iterator
::
operator--
Parameter
| current | - | der Iterator zum aktuellen Element in der adaptierten View |
Rückgabewert
Ein Iterator zum vorherigen Chunk, wie oben beschrieben.