ranges_range_reference_t

ranges_range_reference_t (범위 참조 타입)

std::ranges::range_reference_t와 관련 별칭 템플릿들은 range의 반복자가 역참조했을 때의 참조 타입을 얻기 위해 사용돼요. C++20부터 사용할 수 있어요.

출처: cppreference

본문

<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

template< ranges::range R >
using range_reference_t = std::iter_reference_t<ranges::iterator_t<R>>;

(1) (since C++20)

template< ranges::range R >
using range_const_reference_t =
    std::iter_const_reference_t<ranges::iterator_t<R>>;

(2) (since C++23)

template< ranges::range R >
using range_rvalue_reference_t =
    std::iter_rvalue_reference_t<ranges::iterator_t<R>>;

(3) (since C++20)

template< ranges::range R >
using range_common_reference_t =
    std::iter_common_reference_t<ranges::iterator_t<R>>;

(4)

참고 (Notes)

    1. range R의 요소에 대한 참조 타입을 얻어요. 예: std::vector에 대해 int&.
    1. range R의 요소에 대한 상수 참조 타입을 얻어요.
    1. range R의 요소에 대한 rvalue 참조 타입을 얻어요.
    1. range R의 요소에 대한 공통 참조 타입을 얻어요.

이 별칭들은 반복자 특성에서 파생되므로, range의 값 타입과 별개로 참조 타입을 다룰 때 유용해요.

더 알아보기 (Learn more)

cppreference