std::ranges::iterator_t, std::ranges::const_iterator_t, std::ranges::sentinel_t, std::ranges::const_sentinel_t
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) range 유형
R의 센티널 유형을 얻는 데 사용됩니다.4) range 유형
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)
|
범위의 참조 타입들을 획득함
(별칭 템플릿) |