Namespaces
Variants

std::ranges::elements_view<V,N>::iterator

cppreference.net에서
 
 
범위 라이브러리
범위 어댑터
 
 
template< bool Const >
class /*iterator*/;
(설명 전용*)

elements_view::begin의 반환 유형이며, 기본 뷰가 elements_view::end일 때 common_range의 반환 유형이기도 합니다.

/*iterator*/<true> 유형은 const 한정 오버로드에 의해 반환됩니다. /*iterator*/<false> 유형은 비-const 한정 오버로드에 의해 반환됩니다.

멤버 타입

멤버 정의
Base (비공개) maybe-const <Const, V>
(설명 전용 멤버 타입*)
iterator_concept 의미:
  • std::random_access_iterator_tag, 만약 Base이 random_access_range를 모델링한다면. 그렇지 않으면,
  • std::bidirectional_iterator_tag, 만약 Base이 bidirectional_range를 모델링한다면. 그렇지 않으면,
  • std::forward_iterator_tag, 만약 Base이 forward_range를 모델링한다면. 그렇지 않으면,
  • std::input_iterator_tag.
iterator_category
(조건부로 존재)
정의되지 않음, 만약 Base이 forward_range를 모델링하지 않는다면. 그렇지 않으면,
  • std::input_iterator_tag, 만약 std::get<N>(*current_)이 rvalue라면. 그렇지 않으면, C을 타입 std::iterator_traits<std::iterator_t<Base>>::iterator_category라고 하자.
  • std::random_access_iterator_tag, 만약 C이 std::derived_from<std::random_access_iterator_tag>를 모델링한다면. 그렇지 않으면,
  • C.
value_type std::remove_cvref_t<std::tuple_element_t<N, ranges::range_value_t<Base>>>
difference_type ranges::range_difference_t<Base>

데이터 멤버

멤버 설명
ranges::iterator_t<Base> current_ (비공개) 기본 시퀀스의 현재 요소에 대한 반복자
(설명 전용 멤버 객체*)

멤버 함수

반복자를 생성함
(public member function)
기반 반복자를 반환함
(public member function)
N th 튜플 요소에 접근함
(public member function)
인덱스로 요소에 접근함
(public member function)
기반 반복자를 전진 또는 후진시킴
(public member function)

비멤버 함수

기본 반복자를 비교합니다
(함수)
반복자 연산을 수행합니다
(함수)

결함 보고서

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

DR 적용 대상 게시된 동작 올바른 동작
P2259R1 C++20 member iterator_category is always defined defined only if Base models forward_range
LWG 3555 C++20 the definition of iterator_concept ignores const made to consider

참고 항목

(C++20)
ranges::transform_view::begin 의 반환 타입, 그리고 기본 뷰가 common_range 일 때 ranges::transform_view::end 의 반환 타입
(비공개 멤버 클래스 템플릿)