std::ranges:: iterator_t, std::ranges:: const_iterator_t, std::ranges:: sentinel_t, std::ranges:: const_sentinel_t
From cppreference.net
|
헤더에 정의됨
<ranges>
|
||
|
template
<
class
T
>
using iterator_t = decltype ( ranges:: begin ( std:: declval < T & > ( ) ) ) ; |
(1) | (C++20부터) |
|
template
<
ranges::
range
R
>
using const_iterator_t = decltype ( ranges:: cbegin ( std:: declval < R & > ( ) ) ) ; |
(2) | (C++23부터) |
|
template
<
ranges::
range
R
>
using sentinel_t = decltype ( ranges:: end ( std:: declval < R & > ( ) ) ) ; |
(3) | (C++20부터) |
|
template
<
ranges::
range
R
>
using const_sentinel_t = decltype ( ranges:: cend ( std:: declval < R & > ( ) ) ) ; |
(4) | (C++23부터) |
1)
타입
T
의 반복자 타입을 얻는 데 사용됩니다.
3)
범위 타입
R
의 센티넬 타입을 얻는 데 사용됩니다.
4)
범위 타입
R
의 상수 센티넬 타입을 얻는 데 사용됩니다.
목차 |
템플릿 매개변수
| T | - | std::ranges::begin 에 사용할 수 있는 타입 |
| R | - |
range
타입 또는
sized_range
타입
|
참고 사항
iterator_t
는 비-범위(non-range) 타입에도 적용할 수 있습니다. 예를 들어, 경계를 알 수 없는 배열 등이 있습니다.
결함 보고서
다음 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3946 | C++23 |
const_iterator_t
와
const_sentinel_t
가 각각
ranges::cbegin
과
ranges::cend
의 결과와 일관되지 않았음
|
수정됨 |
참고 항목
|
(C++20)
(C++20)
(C++23)
(C++20)
(C++20)
(C++20)
|
반복자의 연관된 타입들을 계산함
(별칭 템플릿) |
|
(C++20)
(C++20)
(C++20)
|
범위의 크기, 차이 및 값 타입들을 획득함
(별칭 템플릿) |
|
(C++20)
(C++23)
(C++20)
(C++20)
|
범위의 참조 타입들을 획득함
(별칭 템플릿) |