template<class Err>
auto yield_value(with_error<Err> err);
概要
タスクコルーチンにおけるco_yield式の動作を制御する。 プログラマが本関数を直接利用することは想定されていない。
適格要件
std::move(err.error)が、error_typesのset_error_t引数型のうち正確に1つに変換可能であること。そのような型をCerrとする。
戻り値
呼び出し元コルーチンをサスペンドし、STATE(*this)に関連付けられた非同期操作を完了させるメンバ関数をもつ、未規定な型のAwaitableオブジェクトを返す。stをSTATE(*this)への参照とする。非同期完了は最初にst.handle.destroy()によってコルーチンフレームを破棄し、続いてset_error(std::move(st.rcvr), Cerr(std::move(err.error)))を呼び出す。
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??