ranges_iterator_t
ranges_iterator_t (범위 반복자 타입)
std::ranges::iterator_t와 관련 별칭 템플릿들은 range 타입의 반복자, 센티널, 상수 반복자 타입을 얻기 위해 사용돼요. C++20부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< class T >
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
(1) (since C++20)
template< ranges::range R >
using const_iterator_t = decltype(ranges::cbegin(std::declval<R&>()));
(2) (since C++23)
template< ranges::range R >
using sentinel_t = decltype(ranges::end(std::declval<R&>()));
(3) (since C++20)
template< ranges::range R >
using const_sentinel_t = decltype(ranges::cend(std::declval<R&>()));
(4) (since C++23)
-
- 타입 T의 반복자 타입을 얻는 데 사용해요.
-
- range R의 상수 반복자 타입을 얻는 데 사용해요.
-
- range R의 센티널 타입을 얻는 데 사용해요.
-
- range R의 상수 센티널 타입을 얻는 데 사용해요.
참고 (Notes)
이 별칭들은 ranges::begin/ranges::end의 반환 타입을 decltype으로 얻으므로, 실제 반복자/센티널 타입에 직접 접근할 필요 없이 사용할 수 있어요.