std:: generator<Ref,V,Allocator>:: iterator
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Coroutine traits | ||||
|
(C++20)
|
||||
| Coroutine handle | ||||
|
(C++20)
|
||||
| No-op coroutines | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Trivial awaitables | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Range generators | ||||
|
(C++23)
|
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
| Member functions | ||||
| promise_type | ||||
| Iterator | ||||
|
class
/*iterator*/
;
|
( 설명 전용* ) | |
generator::begin
의 반환 타입입니다.
indirectly_readable
과
input_iterator
을 모델링합니다.
목차 |
멤버 타입
| 멤버 타입 | 정의 |
value_type
|
std::generator::value
|
difference_type
|
std::ptrdiff_t |
데이터 멤버
| 멤버 | 설명 |
std::
coroutine_handle
<
std
::
generator
::
promise_type
>
coroutine_
|
코루틴 핸들
( 설명 전용 멤버 객체* ) |
멤버 함수
|
반복자를 생성함
(public member function) |
|
|
다른 반복자를 할당함
(public member function) |
|
|
기본 값을 반환함
(public member function) |
|
|
반복자를 진행시킴
(public member function) |
std::generator:: iterator :: iterator
|
/*iterator*/
(
/*iterator*/
&&
other
)
noexcept
;
|
(C++23 이후) | |
coroutine_
를
std::
exchange
(
other.
coroutine_
,
{
}
)
;
로 초기화합니다.
std::generator:: iterator :: operator=
|
/*iterator*/
&
operator
=
(
/*iterator*/
&&
other
)
noexcept
;
|
(C++23부터) | |
다음 코드와 동일합니다: coroutine_ = std:: exchange ( other. coroutine_ , { } ) ; .
반환값: * this .
std::generator:: iterator :: operator*
|
reference operator
*
(
)
const
noexcept ( std:: is_nothrow_copy_constructible_v < reference > ) ; |
(C++23 이후) | |
-
reference를std::generator의 기반 타입으로 둡니다. -
어떤 generator 객체
x
에 대해, 그
coroutine_가 스택 * x. active_ 에 있다고 둡니다. - x. active_ - > top ( ) 가 promise 객체 p 를 가진 일시 중단된 코루틴을 참조한다고 둡니다.
다음 코드와 동등합니다: return static_cast < reference > ( * p. value_ ) ; .
std::generator:: iterator :: operator++
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (since C++23) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (since C++23) |
비멤버 함수
|
(C++23)
|
기본 반복자를 센티넬과 비교
(함수) |
operator== (std::generator:: iterator )
|
friend
bool
operator
==
(
const
/*iterator*/
&
i,
std::
default_sentinel_t
)
;
|
(C++23부터) | |
return i. coroutine_ . done ( ) ; 와 동등합니다.
!=
연산자는
합성된
operator==
로부터 생성됩니다.
이 함수는 일반적인
비한정 이름查找
또는
한정 이름查找
에는 보이지 않으며,
std::generator::
iterator
가 인자들의 연관 클래스일 때만
인자 종속查找
에 의해 찾을 수 있습니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |