namespace std::execution {
struct get_forward_progress_guarantee_t { unspecified };
inline constexpr get_forward_progress_guarantee_t get_forward_progress_guarantee{};
}
概要
get_forward_progress_guarantee_tは、Schedulerに関連付けられた実行リソースによる実行エージェントの前方進行保証を取得するクエリオブジェクトである。
効果
説明用の変数schに対して、型Schをdecltype((sch))とする。Schがschedulerを満たさないとき、get_forward_progress_guaranteeは不適格となる。
そうでなければ、呼び出し式get_forward_progress_guarantee(sch)は下記と等価。
MANDATE-NOTHROW(AS-CONST(sch).query(get_forward_progress_guarantee))
上記の式の型は、forward_progress_guaranteeであること。
あるSchedulerschに対して、式get_forward_progress_guarantee(sch)がforward_progress_guarantee::concurrentを返すとき、そのScheudlerに関連付けられた実行リソースにより作成される全ての実行エージェントは、並行前方進行保証(concurrent forward progress guarantee)を提供する必要がある。
forward_progress_guarantee::parallelを返す場合は、全ての実行エージェントは少なくとも並列前方進行保証
(parallel forward progress guarantee)を提供する必要がある。
例外
投げない
カスタマイゼーションポイント
const修飾Schedulercschに対して式csch.query(get_forward_progress_guarantee)が呼び出される。
このとき、noexcept(csch.query(get_forward_progress_guarantee)) == trueであること。
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??