std::ranges::view_interface<D>::back
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 por defecto 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.
Equivalente a return *ranges::prev(ranges::end(derived));, donde derived es:
static_cast<D&>(*this)static_cast<const D&>(*this)
|
Si |
(hasta C++26) |
|
Si
|
(desde C++26) |
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
:
- std::ranges::basic_istream_view
- std::ranges::lazy_split_view
- std::ranges::split_view
- std::ranges::take_while_view
La función miembro heredada
back()
está disponible para
std::ranges::empty_view
, pero una llamada a ella siempre resulta en comportamiento indefinido.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
(C++14)
|
devuelve un iterador inverso al inicio de un contenedor o array
(plantilla de función) |
|
(C++20)
|
devuelve un iterador inverso a un rango
(objeto de punto de personalización) |
|
(C++20)
|
devuelve un iterador inverso a un rango de solo lectura
(objeto de punto de personalización) |