Namespaces
Variants

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

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
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 de inicio, 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).

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