88namespace std {
99 template<class Ref, class V, class Allocator>
1010 class generator<Ref, V, Allocator>::iterator {
11- public:
12- using value_type = value;
13- using difference_type = ptrdiff_t;
14-
15- iterator(iterator&& other) noexcept;
16- iterator& operator=(iterator&& other) noexcept;
17-
18- reference operator*() const noexcept(is_nothrow_copy_constructible_v<reference>);
19- iterator& operator++();
20- void operator++(int);
21-
22- friend bool operator==(const iterator& i, default_sentinel_t);
11+ ...
2312 };
2413}
2514```
2615* generator[link ../generator.md]
27- * value[link ../generator.md]
28- * reference[link ../generator.md]
29- * is_nothrow_copy_constructible_v[link /reference/type_traits/is_nothrow_copy_constructible.md]
30-
3116
3217## 概要
3318[`generator`](../generator.md)に対応する説明専用のイテレータ型。
3419
20+ `iterator`の動作説明のため、下記の説明用メンバを用いる。
21+
22+ - `coroutine_` : [`coroutine_handle`](/reference/coroutine/coroutine_handle.md)`<`[`promise_type`](promise_type.md)`>`型のコルーチンハンドル
23+
3524
3625## メンバ関数
3726### 構築・破棄
3827
3928| 名前 | 説明 | 対応バージョン |
4029|-----------------|----------------|----------------|
41- | `(constructor)` | コンストラクタ | C++23 |
42- | `(destructor)` | デストラクタ | C++23 |
43- | `operator=` | 代入演算子 | C++23 |
30+ | [ `(constructor)`](iterator/op_constructor.md) | コンストラクタ | C++23 |
31+ | `(destructor)` | デストラクタ | C++23 |
32+ | [ `operator=`](iterator/op_assign.md) | 代入演算子 | C++23 |
4433
4534### イテレータ
4635
4736| 名前 | 説明 | 対応バージョン |
4837|-----------------|----------------|----------------|
49- | `operator*()` | 間接参照 | C++23 |
50- | `operator++()` | 前置インクリメント | C++23 |
51- | `operator++(int)` | 後置インクリメント | C++23 |
38+ | [`operator*`](iterator/op_deref.md) | 間接参照 | C++23 |
39+ | [`operator++`](iterator/op_increment.md) | インクリメント | C++23 |
40+
41+ ### 比較演算子
42+
43+ | 名前 | 説明 | 対応バージョン |
44+ |-----|-----|-----|
45+ | [`operator==`](iterator/op_equal.md) | 等値比較 | C++23 |
46+ | [`operator!=`](iterator/op_equal.md) | 非等値比較 (`==`により使用可能) | C++23 |
47+
5248
5349## メンバ型
5450
@@ -57,13 +53,6 @@ namespace std {
5753| `value_type` | 要素型となる説明用の型[`value`](../generator.md) | C++23 |
5854| `difference_type` | 2つの値の差を表す整数型`ptrdiff_t` | C++23 |
5955
60- ### 比較演算子
61-
62- | 名前 | 説明 | 対応バージョン |
63- |-----|-----|-----|
64- | `bool operator==(const iterator&, default_sentinel_t)` | 等値比較 | C++23 |
65- | `bool operator!=(const iterator&, default_sentinel_t)` | 非等値比較 (`==`により使用可能) | C++23 |
66-
6756
6857## バージョン
6958### 言語
0 commit comments