Namespaces
Variants

std::ranges::view_interface<D>:: front

From cppreference.net
Ranges library
Range adaptors
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() Memberfunktion gibt das erste Element in der Ansicht des abgeleiteten Typs zurück. Ob das Element als Wert oder als Referenz zurückgegeben wird, hängt vom operator * des Iteratortyps ab.

1) Sei derived gleich static_cast < D & > ( * this ) . Entspricht return * ranges:: begin ( derived ) ; . Das Verhalten ist undefiniert, wenn empty() gleich true ist (d.h. der Anfang-Iterator gleich dem Sentinel ist), selbst wenn der auf gleiche Weise erhaltene Iterator dereferenzierbar ist.
2) Gleich wie (1) , außer dass derived static_cast < const D & > ( * this ) ist.

Inhaltsverzeichnis

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

Siehe auch

(C++11) (C++14)
gibt einen Iterator zum Anfang eines Containers oder Arrays zurück
(Funktions-Template)
gibt einen Iterator zum Anfang eines Ranges zurück
(Customization Point Object)
gibt einen Iterator zum Anfang eines schreibgeschützten Ranges zurück
(Customization Point Object)