std::ranges::view_interface<D>::front
constexpr decltype(auto) front()
requires ranges::forward_range<D>;
|
(1) | (seit C++20) |
constexpr decltype(auto) front() const
requires ranges::forward_range<const D>;
|
(2) | (seit C++20) |
Die Standardimplementierung der front()-Mitgliedsfunktion gibt das erste Element in der View des abgeleiteten Typs zurück. Ob das Element als Wert oder als Referenz zurückgegeben wird, hängt vom operator* des Iteratortyps ab.
Äquivalent zu return *ranges::begin(derived);, wobei derived ist:
static_cast<D&>(*this)static_cast<const D&>(*this)
|
Wenn |
(bis C++26) |
|
Wenn
|
(seit C++26) |
Rückgabewert
Das erste Element in der Ansicht.
Hinweise
In C++20 stellt kein von
std::ranges::view_interface
abgeleiteter Typ in der Standardbibliothek seine eigene
front()
Memberfunktion bereit. Fast alle diese Typen verwenden die Standardimplementierung.
Eine bemerkenswerte Ausnahme ist
std::ranges::basic_istream_view
. Da es niemals
forward_range
erfüllt, kann die View die geerbte
front()
-Funktion nicht verwenden.
Die geerbte
front()
Memberfunktion ist für
std::ranges::empty_view
verfügbar, jedoch führt ein Aufruf davon stets zu undefiniertem Verhalten.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
(C++11)
(C++14)
|
gibt einen Iterator zum Anfang eines Containers oder Arrays zurück
(Funktions-Template) |
|
(C++20)
|
gibt einen Iterator zum Anfang eines Ranges zurück
(Customization Point Object) |
|
(C++20)
|
gibt einen Iterator zum Anfang eines schreibgeschützten Ranges zurück
(Customization Point Object) |