std::ranges:: crend
|
Défini dans l'en-tête
<ranges>
|
||
|
Défini dans l'en-tête
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
crend
=
/* unspecified */
;
|
(depuis C++20)
(objet de point de personnalisation) |
|
|
Signature d'appel
|
||
|
template
<
class
T
>
requires
/* see below */
|
(depuis C++20) | |
Retourne un sentinelle pour l'itérateur constant (depuis C++23) indiquant la fin d'une plage qualifiée const (jusqu'à C++23) traitée comme une séquence inversée.
|
Soit
Un appel à
|
(jusqu'à C++23) |
|
Si l'argument est une lvalue ou si
ranges::
enable_borrowed_range
<
std::
remove_cv_t
<
T
>>
est
true
, alors un appel à
Dans tous les autres cas, un appel à
|
(depuis C++23) |
Si
ranges
::
crend
(
e
)
est valide pour une expression
e
, où
decltype
(
(
e
)
)
est
T
, alors
CT
modélise
std::ranges::range
, et
(jusqu'en C++23)
std::
sentinel_for
<
S, I
>
est
true
dans tous les cas, où
S
est
decltype
(
ranges
::
crend
(
e
)
)
, et
I
est
decltype
(
ranges::
crbegin
(
e
)
)
.
De plus,
S
modélise
constant-iterator
s'il modélise
input_iterator
.
(depuis C++23)
Objets de point de personnalisation
Le nom
ranges::crend
désigne un
objet de point de personnalisation
, qui est un objet fonction const de type classe
littérale
semiregular
. Voir
CustomizationPointObject
pour plus de détails.
Exemple
#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'; }
Sortie :
Array backwards: 10 9 -3 6 4 Vector backwards: 10 9 -3 6 4
Voir aussi
|
(C++20)
|
retourne un itérateur de fin inverse pour une plage
(objet de point de personnalisation) |
|
(C++14)
|
retourne un itérateur de fin inverse pour un conteneur ou un tableau
(modèle de fonction) |