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)

    1. 타입 T의 반복자 타입을 얻는 데 사용해요.
    1. range R의 상수 반복자 타입을 얻는 데 사용해요.
    1. range R의 센티널 타입을 얻는 데 사용해요.
    1. range R의 상수 센티널 타입을 얻는 데 사용해요.

참고 (Notes)

이 별칭들은 ranges::begin/ranges::end의 반환 타입을 decltype으로 얻으므로, 실제 반복자/센티널 타입에 직접 접근할 필요 없이 사용할 수 있어요.

더 알아보기 (Learn more)

cppreference