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) (seit C++20)
template < ranges:: random_access_range R = const D >
constexpr decltype ( auto ) operator [ ] ( ranges:: range_difference_t < R > n ) const ;
(2) (seit C++20)

Die Standardimplementierung der operator [ ] Memberfunktion ruft das Element an der angegebenen Position relativ zum Beginn-Iterator ab, wobei der operator [ ] des Iteratortyps wiederverwendet wird.

1) Sei derived gleich static_cast < D & > ( * this ) . Entspricht return ranges:: begin ( derived ) [ n ] ; .
2) Gleich wie (1) , außer dass derived static_cast < const D & > ( * this ) ist.

Inhaltsverzeichnis

Parameter

n - Position des zurückzugebenden Elements

Rückgabewert

Das Element an Position n relativ zum Anfangsiterator.

Hinweise

In C++20 stellt kein von std::ranges::view_interface abgeleiteter Typ in der Standardbibliothek seine eigene operator [ ] Memberfunktion bereit.

Allerdings können die folgenden abgeleiteten Typen die Standardimplementierungen nicht verwenden, da sie niemals random_access_range erfüllen:

Die geerbte operator [ ] Memberfunktion ist für std::ranges::empty_view verfügbar, jedoch führt ein Aufruf davon stets zu undefiniertem Verhalten.

Beispiel