C++コルーチン:高度なカスタマイズ機能

2025-07-13

C++コルーチンは、`std::vector`のようなすぐに使えるライブラリではありません。ライブラリ作成者が実装する必要があるカスタマイズポイントを定義する仕様です。関数の概念を拡張し、サスペンド、レジューム、デストロイ操作をサポートします。`co_await`キーワードでコルーチンをマークし、`Task::promise_type`を使用して、呼び出し、戻り、サスペンド、レジュームポイントでの動作をカスタマイズします。`awaiter`と`awaitable`メカニズムは、サスペンドとレジュームを処理し、依存関係が準備できたときにレジュームを可能にし、柔軟な非同期プログラミングを実現します。

開発