Namespaces
Variants

std::ranges::view_interface<D>:: operator[]

From cppreference.net
Ranges library
Range adaptors
template < ranges:: random_access_range R = D >
constexpr decltype ( auto ) operator [ ] ( ranges:: range_difference_t < R > n ) ;
(1) (desde C++20)
template < ranges:: random_access_range R = const D >
constexpr decltype ( auto ) operator [ ] ( ranges:: range_difference_t < R > n ) const ;
(2) (desde C++20)

La implementación predeterminada de la función miembro operator [ ] obtiene el elemento en el desplazamiento especificado relativo al iterador inicial, reutilizando el operator [ ] del tipo de iterador.

1) Sea derived igual a static_cast < D & > ( * this ) . Equivalente a return ranges:: begin ( derived ) [ n ] ; .
2) Igual que (1) , excepto que derived es static_cast < const D & > ( * this ) .

Contenidos

Parámetros

n - posición del elemento a retornar

Valor de retorno

El elemento en el desplazamiento n relativo al iterador inicial.

Notas

En C++20, ningún tipo derivado de std::ranges::view_interface en la biblioteca estándar proporciona su propia función miembro operator [ ] .

Sin embargo, los siguientes tipos derivados no pueden usar las implementaciones predeterminadas, ya que nunca satisfacen random_access_range :

La función miembro heredada operator [ ] está disponible para std::ranges::empty_view , pero una llamada a ella siempre resulta en comportamiento indefinido.

Ejemplo