Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/
(C++20부터)
( 설명 전용* )

join_view::begin 의 반환 타입, 그리고 join_view::end 의 반환 타입(외부 범위 V 와 내부 범위 ranges:: range_reference_t < V > 가 모두 common_range 를 만족하고 부모 join_view forward_range 인 경우).

만약 V 단순 뷰(simple view) 가 아닌 경우 (예를 들어 ranges:: iterator_t < const V > 가 유효하지 않거나 ranges:: iterator_t < V > 와 다른 경우), Const 는 const 오버로드에서 반환된 반복자에 대해 true이고, 그렇지 않으면 false입니다. 만약 V 가 단순 뷰인 경우, 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)
두 기본 반복자가 가리키는 객체들을 교환함
(함수)