Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque des plages
Adaptateurs de plages
 
 
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)

Renvoie un itérateur ou une sentinelle qui se compare égal à l'itérateur de fin de la 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_));

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)