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)
-
- range R의 요소에 대한 참조 타입을 얻어요. 예: std::vector
에 대해 int&.
- range R의 요소에 대한 참조 타입을 얻어요. 예: std::vector
-
- range R의 요소에 대한 상수 참조 타입을 얻어요.
-
- range R의 요소에 대한 rvalue 참조 타입을 얻어요.
-
- range R의 요소에 대한 공통 참조 타입을 얻어요.
이 별칭들은 반복자 특성에서 파생되므로, range의 값 타입과 별개로 참조 타입을 다룰 때 유용해요.