最終更新日時: 2024年02月24日 16時17分09秒 (JST)
yoh が更新

履歴 編集

function
<generator>

# std::generator::begin(C++23)

    iterator begin();

## 概要

ジェネレータコルーチンが生成するViewの先頭を指すイテレータを取得する。

## 事前条件

ジェネレータコルーチンは初期サスペンドポイントで中断している。

## 効果

コルーチンハンドルをアクティブスタック`*active_`にpushし、ジェネレータコルーチンを再開(resume)する。

## 戻り値

ジェネレータコルーチンに対応する`iterator`オブジェクト。 同`iterator`オブジェクトの説明用メンバ`coroutine_`は自ジェネレータコルーチンを参照する。

## 備考

同じジェネレータ上で`begin`を複数回呼び出すと、プログラムは未定義の動作を引き起こす。

## バージョン

### 言語

- C++23

### 処理系

- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??

## 関連項目

- `generator::iterator::operator++`