Namespaces
Variants

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

De fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plage
 
 
constexpr auto end() requires (!/*simple-view*/<V>);
(1) (depuis C++23)
constexpr auto end() const requires ranges::range<const V>
(2) (depuis C++23)

Renvoie un itérateur ou une sentinelle représentant la fin de la stride_view.

Soient base_ et stride_ les données membres sous-jacentes.

1) Soient Const défini comme using Const = false; et Base comme using Base = V;.
2) Soient Const défini comme using Const = true; et Base comme using Base = const V;.

Équivalent à :

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;
}

Paramètres

(aucun)

Valeur de retour

Un itérateur vers l'élément suivant le dernier élément, si la vue sous-jacente V modélise common_range . Sinon, le std::default_sentinel qui compare égal à l'itérateur de fin.

Notes

stride_view < V > modélise common_range chaque fois que la vue sous-jacente V le fait.

Exemple

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)