std::ranges::enumerate_view<V>::end
Depuis fr.cppreference.net
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
|
Cette section est incomplète
Raison : aucun 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) |
|
|
(C++20)
|
retourne un sentinelle indiquant la fin d'une plage
(objet de point de personnalisation) |