Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/
(desde C++23)
( solo para 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.

Contenidos

Tipos de miembros

Miembro Definición
Parent (private) maybe-const  < Const, ranges:: cartesian_product_view >>
( tipo de miembro solo para exposición* )
iterator_category std:: input_iterator_tag
iterator_concept
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 Un tipo similar a entero con signo definido por la implementación (posiblemente el más pequeño de dichos tipos), que sea suficientemente amplio para almacenar el producto de los tamaños máximos de todos los rangos subyacentes, si existe tal tipo.

Miembros de datos

Miembro Definición
Parent* parent_ (privado) Un puntero al objeto padre cartesian_product_view
( miembro de objeto solo para exposición* )
current_ (privado) Una tupla de iteradores a los elementos subyacentes actuales de tipo std:: tuple < ranges:: iterator_t < /*maybe-const*/ < Const, First >> ,
ranges:: iterator_t < /*maybe-const*/ < Const, Vs >> ... >
( miembro de objeto 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