Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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.

1) Soit 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.
2) Identique à (1) , sauf que 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 :

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)