std::ranges::view_interface<D>:operator[]
Von cppreference.com
< cpp | ranges | view interface
| 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 Member-Funktion operator[] erhält das Element mit dem angegebenen Offset relativ zum Anfangs-Iterator, indem die operator[] des Iterator-Typs wiederverwendet wird.
2) Gleich wie (1), außer dass
derived gleich static_cast<const D&>(*this) ist.Inhalt |
[edit] Parameter
| n | - | Position des zurückzugebenden Elements |
[edit] Rückgabewert
Das Element mit dem Offset n relativ zum Anfangs-Iterator.
[edit] Anmerkungen
In C++20 stellt kein von std::ranges::view_interface abgeleiteter Typ in der Standardbibliothek eine eigene Member-Funktion operator[] bereit.
Folgende abgeleitete Typen können jedoch nicht die Standardimplementierungen verwenden, da sie niemals random_access_range erfüllen
- std::ranges::basic_istream_view
- std::ranges::filter_view
- std::ranges::join_view
- std::ranges::lazy_split_view
- std::ranges::split_view
Die geerbte Member-Funktion operator[] ist für std::ranges::empty_view verfügbar, ein Aufruf führt jedoch immer zu undefiniertem Verhalten.
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |