std::ranges::chunk_by_view<V,Pred>::find_next, std::ranges::chunk_by_view<V,Pred>::find_prev
Inhalt |
std::ranges::chunk_by_view::next
| constexpr ranges::iterator_t<V> /*find-next*/( ranges::iterator_t<V> current ); |
(seit C++23) (nur Exposition*) |
|
Findet den nächsten Chunk.
Seien base_ und pred_ entsprechende zugrunde liegende Datenmember von chunk_by_view.
Äquivalent zu
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 Member-Funktionen verwendet
- ranges::chunk_by_view::iterator::
operator++
Parameter
| current | - | Der Iterator auf das aktuelle Element in der angepassten Ansicht |
Rückgabewert
Ein Iterator auf den nächsten Chunk, wie oben beschrieben.
std::ranges::chunk_by_view::prev
| constexpr ranges::iterator_t<V> /*find-prev*/( ranges::iterator_t<V> current ) |
(seit C++23) (nur Exposition*) |
|
Findet den vorherigen Chunk.
Seien base_ und pred_ entsprechende zugrunde liegende Datenmember von chunk_by_view.
Gibt einen Iterator i im Bereich [ranges::begin(base_), current) zurück, so dass
- ranges::adjacent_find(i, current, std::not_fn(std::ref(*pred_))) gleich current ist, und
- wenn
iungleich ranges::begin(base_) ist, dann ist bool(std::invoke(*pred_, *ranges::prev(i), *i)) false.
Das Verhalten ist undefiniert, wenn vor dem Aufruf dieser Funktion current == ranges::begin(base_) oder pred_.has_value() != true.
Wird in den folgenden nicht-statischen Member-Funktionen verwendet
- ranges::chunk_by_view::iterator::
operator--
Parameter
| current | - | Der Iterator auf das aktuelle Element in der angepassten Ansicht |
Rückgabewert
Ein Iterator auf den vorherigen Chunk, wie oben beschrieben.