Espacios de nombres
Variantes

std::ranges::elements_view<V,N>::iterator

De cppreference.com
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
<tbody> </tbody>
template< bool Const > class /*iterator*/;
(desde C++20)

El tipo de retorno de elements_view::begin, y de elements_view::end cuando la vista subyacente es un common_range.

Se devuelve el tipo /*iterator*/<true> por las sobrecargas calificadas const . Se devuelve el tipo /*iterator*/<false> por las sobrecargas no calificadas const.

El nombre de esta plantilla de clase (que se muestra aquí como iterator) no está especificado.

Tipos miembro

Tipo miembro Definición
Base (private) const V si Const es true, de lo contrario V. El nombre es solo de exposición.
iterator_concept std::random_access_iterator_tag si Base modela random_access_range,
std::bidirectional_iterator_tag si Base modela bidirectional_range,
std::forward_iterator_tag si Base modela forward_range,
std::input_iterator_tag de lo contrario
iterator_category No definido si Base no modela forward_range.
  • De lo contrario, si std::get<N>(*current_) es un r-valor, el tipo es std::input_iterator_tag.
  • De lo contrario, sea C el tipo std::iterator_traits<std::iterator_t<Base>>::iterator_category. Entonces, si C modela std::derived_from<std::random_access_iterator_tag>, el tipo es std::random_access_iterator_tag.
  • De lo contrario, el tipo es C.
value_type std::remove_cvref_t<std::tuple_element_t<N, ranges::range_value_t<Base>>>
difference_type ranges::range_difference_t<Base>

Objectos miembro

Nombre del miembro Definición
current_ (private) Un objeto de tipo ranges::iterator_t<Base>, el nombre es solo de exposición.

Funciones miembro

Construye un iterador.
(función miembro pública)
(C++20)
Devuelve el iterador subyacente.
(función miembro pública)
(C++20)
Accede al N-ésimo elemento de la tupla.
(función miembro pública)
Accede a un elemento por su índice.
(función miembro pública)
Incrementa o decrementa el iterador subyacente.
(función miembro pública)

Funciones no miembro

Compara los iteradores subyacentes.
(función)
Realiza aritmética de iteradores.
(función)

Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
P2259R1 C++20 El miembro iterator_category siempre está definido. Definido solo si Base modela forward_range.
LWG 3555 C++20 La definición de iterator_concept ignora const. Se hizo que lo considerara.

Véase también