Namespaces
Variants

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

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

Retourne un iterator ou un sentinel qui est égal à l'itérateur de fin du enumerate_view .

Soit base_ la vue sous-jacente.

1) Équivalent à :
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 à :
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_));

Table des matières

Paramètres

(aucun)

Valeur de retour

Un itérateur ou une sentinelle représentant la fin du enumerate_view , comme décrit ci-dessus.

Exemple

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR S'applique à Comportement publié Comportement corrigé
LWG 3919 C++23 ranges::distance peut invoquer un comportement indéfini pour les gammes
sous-jacentes non-séquentielles de taille commune
le type sentinelle est retourné pour ces gammes

Voir aussi

retourne un itérateur vers le début
(fonction membre publique)
retourne un sentinelle indiquant la fin d'une plage
(objet de point de personnalisation)