std::ranges::view_interface<D>:: back
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
| Member functions | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
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 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.
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.
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
:
- 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) |