std::ranges:: crend
|
Определено в заголовочном файле
<ranges>
|
||
|
Определено в заголовочном файле
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
crend
=
/* unspecified */
;
|
(since C++20)
(объект точки кастомизации) |
|
|
Сигнатура вызова
|
||
|
template
<
class
T
>
requires
/* see below */
|
(since C++20) | |
Возвращает сентинел для константного итератора (since C++23) , обозначающий конец константно-квалифицированного (until C++23) диапазона, который рассматривается как обратная последовательность.
|
Пусть
Вызов
|
(до C++23) |
|
Если аргумент является lvalue или
ranges::
enable_borrowed_range
<
std::
remove_cv_t
<
T
>>
равно
true
, тогда вызов
Во всех остальных случаях вызов
|
(начиная с C++23) |
Если для выражения
ranges
::
crend
(
e
)
выполняется валидность, где
decltype
(
(
e
)
)
является
T
, тогда
CT
моделирует
std::ranges::range
, и
(до C++23)
std::
sentinel_for
<
S, I
>
является
true
во всех случаях, где
S
это
decltype
(
ranges
::
crend
(
e
)
)
, а
I
это
decltype
(
ranges::
crbegin
(
e
)
)
.
Дополнительно,
S
моделирует
constant-iterator
если он моделирует
input_iterator
.
(начиная с C++23)
Объекты точек кастомизации
Имя
ranges::crend
обозначает
объект точки кастомизации
, который является константным
функциональным объектом
типа
литерального
semiregular
класса. Подробности см. в
CustomizationPointObject
.
Пример
#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'; }
Вывод:
Array backwards: 10 9 -3 6 4 Vector backwards: 10 9 -3 6 4
Смотрите также
|
(C++20)
|
возвращает обратный конечный итератор для диапазона
(объект точки кастомизации) |
|
(C++14)
|
возвращает обратный конечный итератор для контейнера или массива
(шаблон функции) |