template<class P, class-type Query>
optional<P> try_query(Query q) const noexcept;
概要
parallel_schedulerバックエンド実装側からReceiver環境にアクセスするための補助関数。
適格要件
Pはcv修飾された非配列オブジェクト型。
戻り値
説明用のenvを*thisが表現するReceiverの環境とする。
下記を満たす場合はnulloptを返す。
そうではなく、q(env)がCV修飾されたP型を持つときはq(env)を返す。そうでなければ、optional<P>型の実装定義の値を返す。
例外
投げない
備考
get_stop_token_tは実装定義でサポートするクエリ集合に含まれ、inplace_stop_tokenはget_stop_token_tの実装定義でサポートされる結果型集合のメンバである。
推奨実装:Pがinplace_stop_tokenであり型Tがstoppable_tokenをモデル化するinplace_stop_token以外の型である場合、try_queryは、*thisに対してset_value/set_error/set_stoppedのいずれかが呼び出されるまで全てのtry_query呼び出しがinplace_stop_tokenオブジェクトと等価なオブジェクトを返す、inplace_stop_token型のオブジェクトを返すべき。
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??