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 。
(注:指定されたテキストブロック内に翻訳対象の自然言語テキストが含まれていないため、HTML構造はそのまま保持されています)
std::generator:: iterator :: operator*
|
reference operator
*
(
)
const
noexcept ( std:: is_nothrow_copy_constructible_v < reference > ) ; |
(C++23以降) | |
-
referenceをstd::generatorの基盤となる型とする。 -
ジェネレータオブジェクト
x
に対して、その
coroutine_がスタック * x. active_ 内にあるとする。 - x. active_ - > top ( ) がプロミスオブジェクト p を持つ中断されたコルーチンを参照しているとする。
以下と等価: return static_cast < reference > ( * p. value_ ) ; 。
std::generator:: iterator :: operator++
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (C++23以降) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (C++23以降) |
非メンバー関数
|
(C++23)
|
基底イテレータとセンチネルを比較する
(関数) |
operator== (std::generator:: iterator )
|
friend
bool
operator
==
(
const
/*iterator*/
&
i,
std::
default_sentinel_t
)
;
|
(C++23以降) | |
return i. coroutine_ . done ( ) ; と等価。
!=
演算子は
synthesized
され、
operator==
から生成される。
この関数は通常の
非修飾名前探索
または
修飾名前探索
では可視化されず、
実引数依存名前探索
によってのみ、
std::generator::
iterator
が引数の関連クラスである場合に見つけることができる。
例
|
このセクションは不完全です
理由: 例がありません |