Namespaces
Variants

std::ranges::view_interface<D>:: back

From cppreference.net
Ranges library
Range adaptors
constexpr decltype ( auto ) back ( )
requires ranges:: bidirectional_range < D > && ranges:: common_range < D > ;
(1) (seit C++20)
constexpr decltype ( auto ) back ( ) const
requires ranges:: bidirectional_range < const D > && ranges:: common_range < const D > ;
(2) (seit C++20)

Die Standardimplementierung der back() Memberfunktion gibt das letzte 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:: prev ( ranges:: end ( derived ) ) ; . Das Verhalten ist undefiniert, wenn empty() gleich true ist (d.h. der Anfangsiterator 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 letzte Element in der Ansicht.

Hinweise

In C++20 stellt kein von std::ranges::view_interface abgeleiteter Typ in der Standardbibliothek seine eigene back() Memberfunktion bereit.

Allerdings können die folgenden abgeleiteten Typen die Standardimplementierungen nicht verwenden, da sie weder bidirectional_range noch common_range erfüllen:

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

Beispiel

Siehe auch

gibt einen Reverse-Iterator zum Anfang eines Containers oder Arrays zurück
(Funktionstemplate)
gibt einen Reverse-Iterator zu einem Bereich zurück
(Customization Point Object)
gibt einen Reverse-Iterator zu einem schreibgeschützten Bereich zurück
(Customization Point Object)