Namespaces
Variants

std::ranges::cartesian_product_view<Primero, Vs...>::iterator

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
template< bool Const >
class /*iterator*/
(desde C++23)
(solo exposición*)

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

El tipo /*iterator*/<true> es devuelto por las sobrecargas calificadas como const. El tipo /*iterator*/<false> es devuelto por las sobrecargas no calificadas como const.

Tipos de miembros

Miembro Definición
Parent (privado) maybe-const <Const, ranges::cartesian_product_view>>
(tipo de miembro solo para exposición*)
iterator_category std::input_iterator_tag
iterator_concept
  • std::random_access_iterator_tag, si /*cartesian-product-is-random-access*/<Const, First, Vs...> está modelado,
  • std::bidirectional_iterator_tag, si /*cartesian-product-is-bidirectional*/<Const, First, Vs...> está modelado,
  • std::forward_iterator_tag, si maybe-const <Const, First> modela forward_range,
  • std::input_iterator_tag, de lo contrario
value_type
std::tuple<ranges::range_value_t</*maybe-const*/<Const, First>>,
           ranges::range_value_t</*maybe-const*/<Const, Vs>>...>;
reference
std::tuple<ranges::range_reference_t</*maybe-const*/<Const, First>>,
           ranges::range_reference_t</*maybe-const*/<Const, Vs>>...>;
difference_type el tipo signed-integer-like más pequeño (si existe), que sea lo suficientemente amplio para almacenar el producto de los tamaños máximos de todos los rangos subyacentes

Miembros de datos

Miembro Descripción
Parent* parent_ (privado) un puntero al objeto padre cartesian_product_view
(objeto miembro solo para exposición*)
std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>,

          ranges::iterator_t</*maybe-const*/<Const, Vs>>...>
     current_ (privado)

una tupla de iteradores a los elementos subyacentes actuales
(objeto miembro solo para exposición*)

Funciones miembro

construye un iterador
(función miembro pública)
accede al elemento
(función miembro pública)
accede a un elemento por índice
(función miembro pública)
avanza o decrementa el iterador subyacente
(función miembro pública)
avanza el iterador
( función miembro solo para exposición* )
decrementa el iterador
( función miembro solo para exposición* )
devuelve la distancia entre dos iteradores
( función miembro solo para exposición* )

Funciones no miembro

compara los iteradores subyacentes
(función)
realiza aritmética de iteradores
(función)
(C++23)
convierte el resultado de desreferenciar el iterador subyacente a su tipo de referencia de valor r asociado
(función)
(C++23)
intercambia los elementos subyacentes apuntados
(función)

Ejemplo

Referencias

  • Estándar C++23 (ISO/IEC 14882:2024):
  • 26.7.32.3 Plantilla de clase cartesian_product_view::iterator [range.cartesian.iterator]

Véase también