Namespaces
Variants

std::ranges::join_with_view<V,Pattern>:: iterator

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

ranges:: join_with_view < V, Pattern > :: iterator begin() end() 가 반환하는 반복자의 타입입니다. ranges:: join_with_view < V, Pattern >

이 클래스의 반복자 상태는 두 개의 중첩된 반복자가 있는 것처럼 관리됩니다:

  • 부모 범위로의 외부 반복자 * parent_

이 반복자 클래스는 내부 반복자가 항상 역참조 가능하다는 불변 조건을 가지며, 외부 반복자가 역참조 불가능한 경우는 예외입니다. 반복자가 생성되거나 증가/감소될 때, 이 불변 조건을 유지하기 위해 외부 반복자가 조정될 수 있습니다.

목차

템플릿 매개변수

Const - 반복자가 상수 반복자인지 여부

중첩 타입

설명 전용 타입
타입 정의
Parent maybe-const  < Const, ranges:: join_with_view < V, Pattern >>
( 설명 전용 멤버 타입* )
Base maybe-const  < Const, V >
( 설명 전용 멤버 타입* )
InnerBase ranges:: range_reference_t < Base  >
( 설명 전용 멤버 타입* )
PatternBase maybe-const  < Const, Pattern >
( 설명 전용 멤버 타입* )
OuterIter ranges:: iterator_t < Base  >
( 설명 전용 멤버 타입* )
InnerIter ranges:: iterator_t < InnerBase  >
( 설명 전용 멤버 타입* )
PatternIter ranges:: iterator_t < PatternBase  >
( 설명 전용 멤버 타입* )
반복자 속성 타입
타입 정의
iterator_concept 반복자 태그 , 아래 참조
iterator_category
(조건부 존재)
반복자 태그, 아래 참조
value_type

std:: common_type_t < ranges:: range_value_t < InnerBase  > ,
ranges:: range_value_t < PatternBase  >>

difference_type

std:: common_type_t < ranges:: range_difference_t < Base  > ,
ranges:: range_difference_t < InnerBase  > ,
ranges:: range_difference_t < PatternBase  >>

반복자 개념 결정

iterator_concept 는 다음과 같이 정의됩니다:

반복자 카테고리 결정

주어진 타입들:

iterator_category 는 다음 조건이 충족될 때만 정의됩니다: std:: is_reference_v < InnerBase  > true 이고, Base InnerBase 가 각각 forward_range 를 모델링하는 경우입니다. 이 경우 다음과 같이 정의됩니다:

데이터 멤버

멤버 설명
Parent  * parent_ 부모 join_with_view 에 대한 포인터
( 설명 전용 멤버 객체* )
OuterIter outer_it_
( Base forward_range 를 모델링하는 경우에만 존재)
외부 반복자
( 설명 전용 멤버 객체* )
std:: variant < PatternIter  , InnerIter  > inner_it_ 내부 반복자
( 설명 전용 멤버 객체* )

멤버 함수

iterator를 생성한다
(public member function)
요소에 접근한다
(public member function)
내부 iterator를 전진시키거나 후퇴시킨다
(public member function)

비멤버 함수

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