Namespaces
Variants

std::ranges::join_view<V>::iterator

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

join_view::begin 및 외부 범위 join_view::end와 내부 범위 V가 모두 ranges::range_reference_t<V>common_range를 만족하고 부모 가 join_viewforward_range인 경우의 반환 타입입니다.

V이 simple view가 아닌 경우 (예: ranges::iterator_t<const V>이 유효하지 않거나 ranges::iterator_t<V>와 다른 경우), const 오버로드에서 반환된 반복자에 대해서는 Const이 true이고, 그렇지 않으면 false입니다. V가 simple view인 경우, Const는 ranges::range_reference_t<V>이 참조일 때만 true입니다.

멤버 타입

멤버 정의
Parent maybe-const  < Const, ranges:: join_view < V >>
( 설명 전용 멤버 타입* )
Base maybe-const  < Const, V >
( 설명 전용 멤버 타입* )
OuterIter ranges:: iterator_t < Base >
( 설명 전용 멤버 타입* )
InnerIter ranges:: iterator_t < ranges:: range_reference_t < Base >>
( 설명 전용 멤버 타입* )
iterator_concept
iterator_category
(조건부 존재)
iterator::iterator_concept (위 참조)가 std::forward_iterator_tag 를 나타낼 때만 정의됨.

OUTERC 를 std:: iterator_traits < ranges:: iterator_t < Base >> :: iterator_category 로, 그리고 INNERC 를 std:: iterator_traits < ranges:: iterator_t < ranges:: range_reference_t < Base >>> ::
iterator_category
로 정의함.

value_type ranges:: range_value_t < ranges:: range_reference_t < Base >>
difference_type std:: common_type_t < ranges:: range_difference_t < Base > ,
ranges:: range_difference_t < ranges:: range_reference_t < Base >>>

데이터 멤버

멤버 정의
OuterIter outer_ (private) 외부 반복자
( 설명 전용 멤버 객체* )
InnerIter inner_ (private) 내부 반복자
( 설명 전용 멤버 객체* )
Parent* parent_ (private) 부모 객체에 대한 포인터
( 설명 전용 멤버 객체* )

멤버 함수

반복자를 생성함
(public member function)
요소에 접근함
(public member function)
기본 반복자를 전진 또는 후진시킴
(public member function)
빈 내부 범위를 건너뜀
( exposition-only member function* )

비멤버 함수

(C++20)
기본 반복자들을 비교함
(함수)
(C++20)
기본 반복자를 역참조한 결과를 해당 rvalue 참조 타입으로 변환함
(함수)
(C++20)
두 기본 반복자가 가리키는 객체들을 교환함
(함수)