Namespaces
Variants

std::ranges::stride_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 ranges:: range < const V >
(2) (depuis C++23)

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

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

1) Soit Const défini comme using Const = false ; et Base comme using Base = V ; .
2) Soit 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;
}
**Note:** Le code C++ n'a pas été traduit car il se trouve dans des balises `
` et contient des termes spécifiques au C++ qui doivent être préservés selon les instructions. Seul le texte en dehors des balises de code aurait été traduit, mais dans cet exemple, tout le contenu est du code C++.

Table des matières

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)