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) | (depuis C++20) |
|
constexpr
decltype
(
auto
)
back
(
)
const
requires ranges:: bidirectional_range < const D > && ranges:: common_range < const D > ; |
(2) | (depuis C++20) |
L'implémentation par défaut de la fonction membre
back()
retourne le dernier élément dans la vue du type dérivé. Le fait que l'élément soit retourné par valeur ou par référence dépend de l'
operator
*
du type d'itérateur.
derived
égal à
static_cast
<
D
&
>
(
*
this
)
. Équivalent à
return
*
ranges::
prev
(
ranges::
end
(
derived
)
)
;
. Le comportement est indéfini si
empty()
est
true
(c'est-à-dire si l'itérateur de début est égal au sentinelle), même si l'itérateur obtenu de la même manière est déréférençable.
derived
est
static_cast
<
const
D
&
>
(
*
this
)
.
Table des matières |
Valeur de retour
Le dernier élément dans la vue.
Notes
En C++20, aucun type dérivé de
std::ranges::view_interface
dans la bibliothèque standard ne fournit sa propre fonction membre
back()
.
Cependant, les types dérivés suivants ne peuvent pas utiliser les implémentations par défaut, car ils ne satisfont jamais 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 fonction membre héritée
back()
est disponible pour
std::ranges::empty_view
, mais un appel à celle-ci entraîne toujours un comportement indéfini.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
(C++14)
|
retourne un itérateur inverse vers le début d'un conteneur ou d'un tableau
(modèle de fonction) |
|
(C++20)
|
retourne un itérateur inverse vers un intervalle
(objet point de personnalisation) |
|
(C++20)
|
retourne un itérateur inverse vers un intervalle en lecture seule
(objet point de personnalisation) |