Namespaces
Variants

std::ranges::view_interface<D>:: front

From cppreference.net
Ranges library
Range adaptors
constexpr decltype ( auto ) front ( )
requires ranges:: forward_range < D > ;
(1) (depuis C++20)
constexpr decltype ( auto ) front ( ) const
requires ranges:: forward_range < const D > ;
(2) (depuis C++20)

L'implémentation par défaut de la fonction membre front() retourne le premier élément dans la vue du type dérivé. 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:: begin ( 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 premier é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 front() . Presque tous ces types utilisent l'implémentation par défaut.

Une exception notable est std::ranges::basic_istream_view . Car il ne satisfait jamais forward_range , la vue ne peut pas utiliser la fonction front() héritée.

La fonction membre héritée front() est disponible pour std::ranges::empty_view , mais un appel à celle-ci entraîne toujours un comportement indéfini.

Exemple

Voir aussi

(C++11) (C++14)
retourne un itérateur vers le début d'un conteneur ou d'un tableau
(modèle de fonction)
retourne un itérateur vers le début d'une plage
(objet point de personnalisation)
retourne un itérateur vers le début d'une plage en lecture seule
(objet point de personnalisation)