Namespaces
Variants

std::ranges::view_interface<D>:: back

From cppreference.net
Ranges library
Range adaptors
constexpr decltype ( auto ) back ( )
requires ranges:: bidirectional_range < D > && ranges:: common_range < D > ;
(1) (desde C++20)
constexpr decltype ( auto ) back ( ) const
requires ranges:: bidirectional_range < const D > && ranges:: common_range < const D > ;
(2) (desde C++20)

La implementación predeterminada de la función miembro back() devuelve el último elemento en la vista del tipo derivado. Si el elemento se devuelve por valor o por referencia depende del operator * del tipo de iterador.

1) Sea derived igual a static_cast < D & > ( * this ) . Equivalente a return * ranges:: prev ( ranges:: end ( derived ) ) ; . El comportamiento es indefinido si empty() es true (es decir, el iterador inicial es igual al centinela), incluso si el iterador obtenido de la misma manera es desreferenciable.
2) Igual que (1) , excepto que derived es static_cast < const D & > ( * this ) .

Contenidos

Valor de retorno

El último elemento en la vista.

Notas

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

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

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

Ejemplo

Véase también

devuelve un iterador inverso al inicio de un contenedor o array
(plantilla de función)
devuelve un iterador inverso a un rango
(objeto de punto de personalización)
devuelve un iterador inverso a un rango de solo lectura
(objeto de punto de personalización)