Namensräume
Varianten
Aktionen

std::ranges::stride_view<V>:end

Von cppreference.com
< cpp‎ | ranges‎ | stride view
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
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

[edit] Siehe auch

gibt einen Iterator zum Anfang zurück
(öffentliche Member-Funktion) [edit]
gibt ein Sentinel zurück, das das Ende eines Ranges anzeigt
(Customization Point Objekt)[edit]