virtual void schedule(receiver_proxy& r, span<byte> s) noexcept = 0;
概要
parallel_schedulerによるscheduleアルゴリズムカスタマイズのバックエンド側を実装する。
事前条件
*this, rが参照するオブジェクト, sが参照するストレージの生存期間終了は、下記いずれか式の評価開始よりも後に発生(happen after)すること。
効果
派生クラスでは、この関数を下記のように実装すべきである。
- 下記いずれかの式が評価される
- エラーが発生せず作業が成功したとき、
r.set_value() - エラーが発生したとき、
eptrをexception_ptr型のオブジェクトとして、r.set_error(eptr) - 作業がキャンセルされたとき、
r.set_stopped()
- エラーが発生せず作業が成功したとき、
- 任意の
r.set_value()呼び出しは、*thisで表される実行コンテキストの実行エージェント上で発生する。
備考
sが参照するストレージは、この呼び出しによって開始された操作の実行期間中*thisによって一時的なストレージとして使用される可能性がある。
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??