Namespaces
Variants

std::ranges:: iterator_t, std::ranges:: const_iterator_t, std::ranges:: sentinel_t, std::ranges:: const_sentinel_t

From cppreference.net
Ranges library
Range adaptors
헤더에 정의됨 <ranges>
template < class T >
using iterator_t = decltype ( ranges:: begin ( std:: declval < T & > ( ) ) ) ;
(1) (C++20부터)
template < ranges:: range R >
using const_iterator_t = decltype ( ranges:: cbegin ( std:: declval < R & > ( ) ) ) ;
(2) (C++23부터)
template < ranges:: range R >
using sentinel_t = decltype ( ranges:: end ( std:: declval < R & > ( ) ) ) ;
(3) (C++20부터)
template < ranges:: range R >
using const_sentinel_t = decltype ( ranges:: cend ( std:: declval < R & > ( ) ) ) ;
(4) (C++23부터)
1) 타입 T 의 반복자 타입을 얻는 데 사용됩니다.
2) range 타입 R 의 상수 반복자(constant iterator) 타입을 얻는 데 사용됩니다.
3) 범위 타입 R 의 센티넬 타입을 얻는 데 사용됩니다.
4) 범위 타입 R 의 상수 센티넬 타입을 얻는 데 사용됩니다.

목차

템플릿 매개변수

T - std::ranges::begin 에 사용할 수 있는 타입
R - range 타입 또는 sized_range 타입

참고 사항

iterator_t 는 비-범위(non-range) 타입에도 적용할 수 있습니다. 예를 들어, 경계를 알 수 없는 배열 등이 있습니다.

결함 보고서

다음 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3946 C++23 const_iterator_t const_sentinel_t 가 각각 ranges::cbegin ranges::cend 의 결과와 일관되지 않았음 수정됨

참고 항목

반복자의 연관된 타입들을 계산함
(별칭 템플릿)
범위의 크기, 차이 및 값 타입들을 획득함
(별칭 템플릿)
범위의 참조 타입들을 획득함
(별칭 템플릿)