Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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 à l'offset 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 ) .

Table des matières

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