std::ranges::stride_view<V>::end
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 einen Sentinel zurück, der das Ende des stride_view darstellt.
Seien base_ und stride_ die zugrundeliegenden Datenmember.
Const definiert als using Const = false; und Base als using Base = V;.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;
}
Parameter
(keine)
Rückgabewert
Ein
Iterator
zum Element nach dem letzten Element, falls die zugrundeliegende Ansicht
V
das Konzept
common_range
modelliert. Andernfalls der
std::default_sentinel
, der gleich dem End-Iterator verglichen wird.
Hinweise
stride_view
<
V
>
modelliert
common_range
immer dann, wenn die zugrundeliegende View
V
dies tut.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
gibt einen Iterator zum Anfang zurück
(öffentliche Elementfunktion) |
|
|
(C++20)
|
gibt einen Sentinel zurück, der das Ende eines Bereichs anzeigt
(Anpassungspunktobjekt) |