template<class Sndr, class Env>
constexpr auto get-domain-late(const Sndr& sndr, const Env& env) noexcept;
概要
SenderとReceiver間接続(connect)時のカスタマイゼーションポイントとして、実行ドメインを取得する説明専用の関数テンプレート。
下記の優先順で実行ドメインを検索し、最初に適格となる型を採用する。
(Senderアルゴリズムcontinues_onのみ引数に指定したSchedulerから取得。)
- Senderの属性の実行ドメイン
- Senderの完了Schedulerの実行ドメイン
- Receiverの環境の実行ドメイン
- Receiver環境のSchedulerの実行ドメイン
- デフォルト実行ドメイン
効果
説明用の型Domainを下記の通り定義したとき、return Domain();と等価。
-
sender-for<Sndr, continues_on_t> == trueのとき、次のラムダ式呼び出し結果の型とする。[] { auto [_, sch, _] = sndr; return query-with-default(get_domain, sch, default_domain()); }(); -
それ以外のとき、下記リストのうち最初に適格となる式の型、かつ
voidではない型とする。get_domain(get_env(sndr))completion-domain<void>(sndr)get_domain(env)get_domain(get_scheduler(env))default_domain()
例外
投げない
備考
Senderアダプタcontinues_onはschedule_fromと連携して、実行コンテキスト遷移制御のカスタマイゼーションポイントをSchedulerに提供する。
バージョン
言語
- C++26