Namespaces
Variants

std::ranges::slide_view<V>::end

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rango
 
 
constexpr auto end()
    requires (!(/*simple-view*/<V> && /*slide-caches-nothing*/<const V>));
(1) (desde C++23)
constexpr auto end() const
    requires /*slide-caches-nothing*/<const V>;
(2) (desde C++23)

Devuelve un centinela o un iterador que representa el final de slide_view.

1) Sean base_ y n_ los miembros de datos subyacentes. Equivalente a:
  • Si V modela slide-caches-nothing, return iterator<false>(ranges::begin(base_) + ranges::range_difference_t<V>(size()), n_);.
  • En caso contrario, si V modela slide-caches-last, return iterator<false>(ranges::prev(ranges::end(base_), n_ - 1, ranges::begin(base_)), n_);.
  • En caso contrario, si V modela common_range, return iterator<false>(ranges::end(base_), ranges::end(base_), n_);.
  • En caso contrario, return sentinel(ranges::end(base_));.
Si V modela slide-caches-last, esta función almacena en caché el resultado dentro de cached_end_ para su uso en llamadas posteriores. Esto es necesario para proporcionar la complejidad constante amortizada requerida por range.
2) Equivalente a begin() + ranges::range_difference_t<const V>(size()).

Parámetros

(ninguno)

Valor de retorno

Un sentinel o un iterator que representa el final del slide_view .

Ejemplo

#include <iostream>
#include <ranges>
int main()
{
    static constexpr auto source = {'A', 'B', 'C', 'D'};
    for (const auto subrange: source | std::views::slide(3))
    {
        std::cout << "[ ";
        for (auto it = subrange.begin(); it != subrange.end(); ++it)
            std::cout << *it << ' ';
        std::cout << "]\n";
    }
}

Salida:

[ A B C ]
[ B C D ]

Véase también

devuelve un iterador al inicio
(función miembro pública)
devuelve un iterador al inicio de un rango
(objeto de punto de personalización)
devuelve un centinela que indica el final de un rango
(objeto de punto de personalización)