std::ranges:: crend
|
헤더에 정의됨
<ranges>
|
||
|
헤더에 정의됨
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
crend
=
/* unspecified */
;
|
(C++20 이후)
(customization point object) |
|
|
호출 시그니처
|
||
|
template
<
class
T
>
requires
/* see below */
|
(C++20 이후) | |
상수 반복자의 끝을 나타내는 센티넬을 반환합니다 (상수 반복자용) (C++23부터) , 역순으로 처리되는 const-qualified (C++23 이전) 범위의 끝을 나타냅니다.
|
|
(C++23 이전) |
|
인수가 lvalue이거나
ranges::
enable_borrowed_range
<
std::
remove_cv_t
<
T
>>
가
true
인 경우,
다른 모든 경우에서,
|
(C++23 이후) |
만약
ranges
::
crend
(
e
)
가 표현식
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
가
input_iterator
를 모델하는 경우
constant-iterator
를 모델합니다.
(C++23 이후)
커스터마이제이션 포인트 객체
ranges::crend
이름은
커스터마이제이션 포인트 객체
를 나타내며,
이는
함수 객체
의 const
리터럴
semiregular
클래스 타입입니다. 자세한 내용은
CustomizationPointObject
를 참조하십시오.
예제
#include <algorithm> #include <iostream> #include <iterator> #include <vector> int main() { int a[]{4, 6, -3, 9, 10}; std::cout << "배열 역순: "; namespace ranges = std::ranges; ranges::copy(ranges::rbegin(a), ranges::rend(a), std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; std::cout << "벡터 역순: "; 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)
|
컨테이너나 배열에 대한 역방향 끝 반복자를 반환함
(함수 템플릿) |