Namespaces
Variants

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

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
constexpr auto end() requires (!__simple_view<V>);
(1) (desde C++23)
constexpr auto end() const requires /*range-with-movable-references*/<const V>;
(2) (desde C++23)

Devuelve un iterator o un sentinel que se compara igual al iterador final de la enumerate_view.

Sea base_ la vista subyacente.

1) Equivalente a:
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) Equivalente a:
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_));

Parámetros

(ninguno)

Valor de retorno

Un iterator o un sentinel que representa el final del enumerate_view , como se describe anteriormente.

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3919 C++23 ranges::distance puede invocar UB para rangos comunes con tamaño
y subyacentes no forward
se devuelve el tipo sentinel para dichos rangos

Véase también

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