ranges_constant_range

ranges_constant_range (상수 범위 개념)

ranges::constant_rangeranges::begin이 상수 반복자(constant iterator)를 반환하는 range의 정제(개념)예요. C++23부터 사용할 수 있어요.

출처: cppreference

본문

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

template< class T >
concept constant_range =
    ranges::input_range<T> &&
    /*constant-iterator*/<ranges::iterator_t<T>>;

(1) (since C++23)

헬퍼 개념:

template< class T >
concept /*constant-iterator*/ =
    std::input_iterator<T> &&
    std::same_as<std::iter_const_reference_t<T>, std::iter_reference_t<T>>;

(2) (exposition only)

    1. constant_range 개념은 ranges::begin이 상수 반복자를 반환하는 range의 정제예요.
    1. 개념 /*constant-iterator*/<T>는 역참조의 결과가 상수 참조일 때 충족돼요.

참고 (Notes)

constant_range는 요소를 읽을 수 있지만 수정할 수 없는 (또는 참조가 const인) 범위예요. C++23의 views::as_const 등에서 사용돼요.

더 알아보기 (Learn more)

cppreference