Namespaces
Variants

std::ranges::concat_view<Views...>:: iterator <Const>:: satisfy , prev , advance-fwd , advance-bwd

From cppreference.net
Ranges library
Range adaptors

Las siguientes plantillas de funciones miembro solo de exposición simplifican la descripción.

Cada plantilla de función auxiliar tiene un parámetro de plantilla constante de tipo std::size_t .

  • Si el nombre del parámetro de plantilla es N , el argumento de plantilla siempre es it_  . index ( ) .
  • Si el nombre del parámetro de plantilla es I , el argumento de plantilla puede ser cualquier valor std::size_t en [ 0 , sizeof... ( Views ) ) .

Sin embargo, el argumento de plantilla podría no ser una constante en tiempo de compilación, por lo tanto el efecto real de helper  < non_const > ( /* arguments */ ) es similar a if ( non_const == 0 )
helper  < 0 > ( /* arguments */ ) ;
else if ( non_const == 1 )
helper  < 1 > ( /* arguments */ ) ;
/* other indices */
else if ( non_const == ( sizeof... ( Views ) - 1 ) )
helper  < sizeof... ( Views ) - 1 > ( /* arguments */ ) ;
.

Contenidos

Plantillas auxiliares

Plantillas auxiliares mini

template < std:: size_t N >
constexpr auto /*get-iter*/ ( ) ;
(1) ( solo para exposición* )
template < std:: size_t I >
constexpr auto /*get-view*/ ( ) ;
(2) ( solo para exposición* )
template < std:: size_t I >
constexpr auto /*get-begin*/ ( ) ;
(3) ( solo para exposición* )
template < std:: size_t I >
constexpr auto /*get-end*/ ( ) ;
(4) ( solo para exposición* )
template < std:: size_t N >
constexpr auto /*to-underlying-diff-type*/ ( difference_type value ) ;
(5) ( solo para exposición* )

Las mini plantillas auxiliares simplifican la descripción de las principales plantillas auxiliares y funciones miembro. No están incluidas en los documentos estándar de C++.

1) Obtiene el iterador subyacente contenido en it_ .
Devuelve std::get < N > ( it_  ) .
2) Obtiene la I ésima vista en el padre concat_view .
Devuelve std::get < I > ( parent_  - > views_  ) .
3) Obtiene un iterador al inicio de la I -ésima vista en el concat_view padre.
Devuelve ranges:: begin ( get-view  < I > ( ) ) .
4) Obtiene un iterador pasado-el-final o un centinela de la I -ésima vista en el concat_view padre.
Devuelve ranges:: end ( get-view  < I > ( ) ) .
5) Convierte value al tipo de diferencia subyacente del iterador subyacente contenido en it_ .
Devuelve static_cast < std:: iter_difference_t < std:: variant_alternative_t < N, base-iter  >>> ( value ) .

std::ranges::concat_view:: iterator :: satisfy <N>

template < std:: size_t N >
constexpr void /*satisfy*/ ( ) ;
( solo para exposición* )

Ajusta la posición actual (global) de it_ .

  • Si N es igual a sizeof... ( Views ) - 1 , no hace nada.
  • De lo contrario, equivalente a if ( get-iter  < N > ( ) == get-end  < N > ( ) )
    {
    it_  . template emplace < N + 1 > ( get-begin  < N + 1 > ( ) ) ;
    satisfy  < N + 1 > ( ) ;
    }
    .

std::ranges::concat_view:: iterator :: prev <N>

template < size_t N >
constexpr void /*prev*/ ( ) ;
( solo para exposición* )

Mueve it_ a la posición (global) anterior.

  • Si N es 0 , equivalente a -- get-iter  < 0 > ( ) ; .
  • En caso contrario, equivalente a if ( get-iter  < N > ( ) == get-begin  < N > ( ) )
    {
    it_  . template emplace < N - 1 > ( get-end  < N - 1 > ( ) ) ;
    prev  < N - 1 > ( ) ;
    }
    else
    -- get-iter  < N > ( ) ;
    .

std::ranges::concat_view:: iterator :: advance-fwd <N>

template < size_t N >

constexpr void /*advance-fwd*/ ( difference_type offset,

difference_type steps ) ;
( solo para exposición* )

Avanza la posición (global) actual step pasos hacia adelante.

Parámetros

offset - el desplazamiento de la posición (global) actual desde el inicio del rango al que it_ se refiere actualmente
steps - el número de pasos a avanzar hacia adelante

std::ranges::concat_view:: iterator :: advance-bwd <N>

template < size_t N >

constexpr void /*advance-bwd*/ ( difference_type offset,

difference_type steps ) ;
( solo para exposición* )

Avanza la posición actual (global) steps pasos hacia atrás.

Parámetros

offset - el desplazamiento de la posición actual (global) desde el inicio del rango al que it_ se refiere actualmente
steps - el número de pasos a avanzar hacia atrás