std::ranges::split_view<V,Pattern>:: iterator
|
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 이후) |
- ranges:: split_view * parent_ = nullptr ; ,
- ranges:: iterator_t < V > cur_ = ranges:: iterator_t < V > ( ) ; ,
- ranges:: subrange < ranges:: iterator_t < V >> next_ = ranges:: subrange < ranges:: iterator_t < V >> ( ) ; , 그리고
- bool trailing_empty_ = false ; .
- ranges:: split_view * parent_ = std:: addressof ( parent ) ; ,
- ranges:: iterator_t < V > cur_ = std :: move ( current ) ; ,
- ranges:: subrange < ranges:: iterator_t < V >> next_ = std :: move ( next ) ; , 그리고
- bool trailing_empty_ = false ; .
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 이후) |
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
;
비멤버 함수
|
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
가 인자들의 연관 클래스일 때만
인자 종속 조회
를 통해 찾을 수 있습니다.