Espacios de nombres
Variantes
Acciones

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

De cppreference.com
 
 
Biblioteca de rangos
Adaptadores de rangos
 
std::ranges::view_interface
Funciones miembro
(C++20)
(C++20)
(C++20)
(C++20)
back
(C++20)
(C++20)
 
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 operador operator* del tipo iterador..

1) Sea derivedstatic_cast<D&>(*this). Es equivalente a return*ranges::prev(ranges::end(derived));. El comportamiento no está definido si empty() es true (es decir, el iterador al comienzo se compara igual que el centinela), incluso si el iterador obtenido de la misma manera se puede desreferenciar.
2) Igual que (1), excepto que derived es static_cast<const D&>(*this).

Contenido

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

El último elemento en la vista.

[editar]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 la implementación por defecto, 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 back() heredada está disponible para std::ranges::empty_view, pero llamarla siempre resulta en comportamiento no definido.

[editar]Ejemplo

[editar]Véase también

Devuelve un iterador inverso al contenedor o array
(plantilla de función)[editar]
Devuelve un iterador inverso a un rango
(objeto punto de personalización)[editar]
Devuelve un iterador inverso a un rango de solo lectura
(objeto punto de personalización)[editar]
close