std::ranges:: crend
|
Definiert in Header
<ranges>
|
||
|
Definiert in Header
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
crend
=
/* unspecified */
;
|
(seit C++20)
(Anpassungspunktobjekt) |
|
|
Aufrufsignatur
|
||
|
template
<
class
T
>
requires
/* siehe unten */
|
(seit C++20) | |
Gibt einen Sentinel für den konstanten Iterator (since C++23) zurück, der das Ende eines const-qualifizierten (until C++23) Bereichs kennzeichnet, der als umgekehrte Sequenz behandelt wird.
|
Sei
Ein Aufruf von
|
(bis C++23) |
|
Falls das Argument ein Lvalue ist oder
ranges::
enable_borrowed_range
<
std::
remove_cv_t
<
T
>>
den Wert
true
hat, dann ist ein Aufruf von
In allen anderen Fällen ist ein Aufruf von
|
(seit C++23) |
Wenn
ranges
::
crend
(
e
)
für einen Ausdruck
e
gültig ist, wobei
decltype
(
(
e
)
)
den Typ
T
hat, dann modelliert
CT
das Konzept
std::ranges::range
, und
(bis C++23)
std::
sentinel_for
<
S, I
>
ist in allen Fällen
true
, wobei
S
für
decltype
(
ranges
::
crend
(
e
)
)
steht und
I
für
decltype
(
ranges::
crbegin
(
e
)
)
.
Zusätzlich modelliert
S
das Konzept
constant-iterator
, falls es
input_iterator
modelliert.
(seit C++23)
Customization Point Objects
Der Name
ranges::crend
bezeichnet ein
Customization Point Object
, welches ein konstantes
Function Object
eines
Literal
semiregular
Klassentyps ist. Weitere Details finden Sie unter
CustomizationPointObject
.
Beispiel
#include <algorithm> #include <iostream> #include <iterator> #include <vector> int main() { int a[]{4, 6, -3, 9, 10}; std::cout << "Array backwards: "; namespace ranges = std::ranges; ranges::copy(ranges::rbegin(a), ranges::rend(a), std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; std::cout << "Vector backwards: "; std::vector v{4, 6, -3, 9, 10}; ranges::copy(ranges::rbegin(v), ranges::rend(v), std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; }
Ausgabe:
Array backwards: 10 9 -3 6 4 Vector backwards: 10 9 -3 6 4
Siehe auch
|
(C++20)
|
gibt einen Reverse-End-Iterator für einen Bereich zurück
(Customization Point Object) |
|
(C++14)
|
gibt einen Reverse-End-Iterator für einen Container oder ein Array zurück
(Funktionstemplate) |