std::ranges::enumerate_view<V>::end
De es.cppreference.net
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
|
Esta sección está incompleta
Motivo: sin 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) |
|
|
(C++20)
|
devuelve un centinela que indica el final de un rango
(objeto de punto de personalización) |