Namespaces
Variants

std::ranges::view_interface<D>::operator[]

De fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plages
 
 
template<ranges::random_access_range R = D>
constexpr decltype(auto) operator[]( ranges::range_difference_t<R> n );
(1) (depuis C++20)
template<ranges::random_access_range R = const D>
constexpr decltype(auto) operator[]( ranges::range_difference_t<R> n ) const;
(2) (depuis C++20)

L'implémentation par défaut de la fonction membre operator[] obtient l'élément situé au décalage spécifié par rapport à l'itérateur de début, en réutilisant l'operator[] du type d'itérateur.

1) Soit derived égal à static_cast<D&>(*this). Équivalent à return ranges::begin(derived)[n];.
2) Identique à (1), sauf que derived est static_cast<const D&>(*this).

Paramètres

n - position de l'élément à retourner

Valeur de retour

L'élément à l'offset n relatif à l'itérateur de début.

Notes

En C++20, aucun type dérivé de std::ranges::view_interface dans la bibliothèque standard ne fournit sa propre fonction membre operator [ ] .

Cependant, les types dérivés suivants ne peuvent pas utiliser les implémentations par défaut, car ils ne satisfont jamais random_access_range :

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

Exemple