Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
class /*iterator*/ ;
(C++20부터)
( 설명 전용* )

split_view::begin 의 반환 타입입니다. 이는 forward_iterator 이므로, V 가 최소한 forward_range 를 모델링할 것으로 예상됩니다.

목차

멤버 타입

멤버 타입 정의
iterator_concept std::forward_iterator_tag
iterator_category std::input_iterator_tag
value_type ranges:: subrange < ranges:: iterator_t < V >>
difference_type ranges:: range_difference_t < V >

데이터 멤버

멤버 설명
ranges:: split_view < V, Pattern > * parent_ (private) 부모 split_view 객체에 대한 포인터
( 설명 전용 멤버 객체* )
ranges:: iterator_t < V > cur_ (private) 현재 부분 범위의 시작을 가리키는 기본 view 내의 반복자
( 설명 전용 멤버 객체* )
ranges:: subrange < ranges:: iterator_t < V >> next_ (private) 현재 부분 범위 다음에 있는 패턴 위치에 대한 부분 범위
( 설명 전용 멤버 객체* )
bool trailing_empty_ (private) 빈 후행 부분 범위(있는 경우)에 도달했는지 여부를 나타내는 플래그
( 설명 전용 멤버 객체* )

멤버 함수

(constructor)
(C++20)
반복자를 생성함
(public member function)
base
(C++20)
기반 반복자를 반환함
(public member function)
operator*
(C++20)
현재 서브레인지를 반환함
(public member function)
operator++ operator++ (int)
(C++20)
반복자를 전진시킴
(public member function)

std::ranges::split_view:: iterator :: iterator

/*iterator*/ ( ) = default ;
(1) (C++20 이후)
constexpr /*iterator*/ ( split_view & parent, ranges:: iterator_t < V > current,
ranges:: subrange < ranges:: iterator_t < V >> next ) ;
(2) (C++20 이후)
1) 비정적 데이터 멤버들을 기본 멤버 초기화자로 값 초기화합니다. 즉:
2) 비정적 데이터 멤버들을 초기화합니다:

std::ranges::split_view:: iterator :: base

constexpr const ranges:: iterator_t < V > base ( ) const ;
(C++20 이후)

return cur_ ; 와 동등합니다.

std::ranges::split_view:: iterator :: operator*

constexpr value_type operator * ( ) const ;
(C++20 이후)

return { cur_, next_. begin ( ) } ; 와 동등합니다.

std::ranges::split_view:: iterator :: operator++

constexpr /*iterator*/ & operator ++ ( ) ;
(1) (C++20 이후)
constexpr void operator ++ ( int ) ;
(2) (C++20 이후)
1) 다음 코드와 동등함:
cur_ = next_. begin ( ) ;

if ( cur_ ! = ranges:: end ( parent_ - > base_ ) )
{
if ( cur_ = next_. end ( ) ; cur_ == ranges:: end ( parent_ - > base_ ) )
{
trailing_empty_ = true ;
next_ = { cur_, cur_ } ;
}
else
next_ = parent_ - > find_next ( cur_ ) ;
}
else
trailing_empty_ = false ;

return * this ;
2) 다음 코드와 동등함: auto tmp = * this ; ++* this ; return tmp ; .

비멤버 함수

operator==
(C++20)
기본 반복자들을 비교합니다
(함수)

operator== (std::ranges::split_view:: iterator , std::ranges::split_view:: iterator )

friend constexpr bool operator == ( const /*iterator*/ & x, const /*iterator*/ & y ) ;
(C++20 이후)

return x. cur_ == y. cur_ and x. trailing_empty_ == y. trailing_empty_ ; 와 동등합니다.

!= 연산자는 합성된 operator== 로부터 생성됩니다.

이 함수는 일반적인 비한정 또는 한정 조회 에는 보이지 않으며, std::ranges::split_view:: iterator 가 인자들의 연관 클래스일 때만 인자 종속 조회 를 통해 찾을 수 있습니다.