Namespaces
Variants

std::ranges::enumerate_view<V>:: end

From cppreference.net
Ranges library
Range adaptors
constexpr auto end ( ) requires ( ! __simple_view < V > ) ;
(1) (seit C++23)
constexpr auto end ( ) const requires /*range-with-movable-references*/ < const V > ;
(2) (seit C++23)

Gibt einen iterator oder einen sentinel zurück, der dem End-Iterator des enumerate_view entspricht.

Sei base_ die zugrundeliegende Ansicht.

1) Entspricht:
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) Entspricht:
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_));

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Ein Iterator oder ein Sentinel , der das Ende der enumerate_view darstellt, wie oben beschrieben.

Beispiel

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 3919 C++23 ranges::distance kann UB für sized common
non-forward underlying ranges aufrufen
Sentinel-Typ wird für solche Ranges zurückgegeben

Siehe auch

gibt einen Iterator zum Anfang zurück
(öffentliche Elementfunktion)
gibt einen Sentinel zurück, der das Ende eines Bereichs anzeigt
(Anpassungspunktobjekt)