Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plage
 
 
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 de la vue du type dérivé. Le fait 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::begin(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 :

  • Si l'implémentation est durcie, une violation de contrat se produit.
  • Si l'implémentation n'est pas durcie, le comportement est indéfini.
(depuis C++26)

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)