std::ranges::enumerate_view<V>::end
Von cppreference.com
< cpp | ranges | enumerate view
| constexpr auto end() requires (!__simple_view<V>); |
(1) | (seit C++23) |
| constexpr auto end() const requires /*range-mit-bewegbaren-referenzen*/<const V>; |
(2) | (seit C++23) |
Gibt einen Iterator oder ein Sentinel zurück, der mit dem End-Iterator der enumerate_view gleich ist.
Sei base_ die zugrunde liegende View.
1) Äquivalent zu
if constexpr (ranges::forward_range<V> and ranges::common_range<V> and ranges::sized_range<V>) return /*iterator*/<false>(ranges::end(base_), ranges::distance(base_)); else return /*sentinel*/<false>(ranges::end(base_));
2) Äquivalent zu
if constexpr (ranges::forward_range<const V> and ranges::common_range<const V> and ranges::sized_range<const V>) return /*iterator*/<true>(ranges::end(base_), ranges::distance(base_)); else return /*sentinel*/<true>(ranges::end(base_));
Inhalt |
[bearbeiten] Parameter
(keine)
[bearbeiten] Rückgabewert
Ein Iterator oder ein Sentinel, der das Ende der enumerate_view repräsentiert, wie oben beschrieben.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 3919 | C++23 | ranges::distance kann für Sized-CommonNicht-Forward-Underlying-Ranges zu UB führen |
für solche Ranges wird ein Sentinel-Typ zurückgegeben |
[bearbeiten] Siehe auch
| gibt einen Iterator zum Anfang zurück (öffentliche Member-Funktion) | |
| (C++20) |
gibt ein Sentinel zurück, das das Ende eines Ranges anzeigt (Customization Point Objekt) |