std::ranges:: cend
|
헤더에 정의됨
<ranges>
|
||
|
헤더에 정의됨
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
cend
=
/* unspecified */
;
|
(C++20 이후)
(커스터마이제이션 포인트 객체) |
|
|
호출 시그니처
|
||
|
template
<
class
T
>
requires
/* see below */
|
(C++20 이후) | |
상수 반복자의 끝을 나타내는 센티넬을 반환합니다 (C++23부터) const 한정된 (C++23 이전) 범위의 끝을 가리킵니다.
|
|
(C++23 이전) |
|
인수가 lvalue이거나
ranges::
enable_borrowed_range
<
std::
remove_cv_t
<
T
>>
가
true
인 경우,
다른 모든 경우에는
|
(C++23 이후) |
만약
ranges
::
cend
(
e
)
가 표현식
e
에 대해 유효하고, 여기서
decltype
(
(
e
)
)
가
T
라면,
CT
는
std::ranges::range
를 모델링하며,
(C++23 이전)
std::
sentinel_for
<
S, I
>
가 모든 경우에
true
입니다. 여기서
S
는
decltype
(
ranges
::
cend
(
e
)
)
이고,
I
는
decltype
(
ranges::
cbegin
(
e
)
)
입니다.
추가로,
S
가
input_iterator
를 모델링하는 경우
S
는
constant-iterator
를 모델링합니다.
(C++23 이후)
커스터마이제이션 포인트 객체
ranges::cend
라는 이름은
커스터마이제이션 포인트 객체
를 나타내며, 이는
함수 객체
의 const 형태로서
리터럴
semiregular
클래스 타입입니다. 자세한 내용은
CustomizationPointObject
를 참조하십시오.
예제
#include <algorithm> #include <cassert> #include <ranges> #include <vector> int main() { std::vector vec{3, 1, 4}; int arr[]{5, 10, 15}; assert(std::ranges::find(vec, 5) == std::ranges::cend(vec)); assert(std::ranges::find(arr, 5) != std::ranges::cend(arr)); }
참고 항목
|
(C++20)
|
범위의 끝을 나타내는 sentinel을 반환
(customization point object) |
|
(C++11)
(C++14)
|
컨테이너나 배열의 끝을 가리키는 iterator를 반환
(function template) |