Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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 es igual al iterador final del 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_));

Contenidos

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)