Namespaces
Variants

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

De fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plages
 
 
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 de la vue du type dérivé. Que l'élément soit retourné par valeur ou par référence dépend du operator* du type d'itérateur.

Équivalent à return *ranges::prev(ranges::end(derived));, où derived est :

1) static_cast<D&>(*this)
2) static_cast<const D&>(*this)


Si empty() est true, le comportement est indéfini.

(jusqu'à C++26)

Si empty() est true :

(depuis C++26)

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 :

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

Voir aussi

retourne un itérateur inverse vers le début d'un conteneur ou d'un tableau
(modèle de fonction)
retourne un itérateur inverse vers un intervalle
(objet point de personnalisation)
retourne un itérateur inverse vers un intervalle en lecture seule
(objet point de personnalisation)