std::ranges::view_interface<D>:: back
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
| Member functions | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
back
|
||||
|
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.
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.
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:
- std::ranges::basic_istream_view
- std::ranges::lazy_split_view
- std::ranges::split_view
- std::ranges::take_while_view
Die geerbte
back()
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++14)
|
gibt einen Reverse-Iterator zum Anfang eines Containers oder Arrays zurück
(Funktionstemplate) |
|
(C++20)
|
gibt einen Reverse-Iterator zu einem Bereich zurück
(Customization Point Object) |
|
(C++20)
|
gibt einen Reverse-Iterator zu einem schreibgeschützten Bereich zurück
(Customization Point Object) |