std::ranges::stride_view<V>:end
Von cppreference.com
< cpp | ranges | stride view
| constexpr auto end() requires (!/*simple-view*/<V>); |
(1) | (seit C++23) |
| constexpr auto end() const requires ranges::range<const V> |
(2) | (seit C++23) |
Gibt einen Iterator oder ein Sentinel zurück, der das Ende der stride_view darstellt.
Seien base_ und stride_ die zugrundeliegenden Datenelemente.
1) Sei Const definiert als using Const = false; und Base als using Base = V;.
2) Sei Const definiert als using Const = true; und Base als using Base = const V;.
Äquivalent zu
if constexpr (ranges::common_range<Base> && ranges::sized_range<Base> && ranges::forward_range<Base>) { auto missing = (stride_ - ranges::distance(base_) % stride_) % stride_; return iterator<Const>(this, ranges::end(base_), missing); } else if constexpr (ranges::common_range<Base> && !ranges::bidirectional_range<Base>) { return iterator<Const>(this, ranges::end(base_)); } else { return std::default_sentinel; }
Inhalt |
[edit] Parameter
(keine)
[edit] Rückgabewert
Ein Iterator zum Element nach dem letzten Element, wenn die zugrundeliegende View V common_range modelliert. Andernfalls das std::default_sentinel, das mit dem End-Iterator gleich verglichen wird.
[edit] Anmerkungen
stride_view<V> modelliert common_range, wenn die zugrundeliegende View V dies tut.
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] 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) |