template<sender Sndr, queryable Env>
constexpr auto write-env(Sndr&& sndr, Env&& env); // exposition only
概要
write-env
は、Senderアルゴリズム動作仕様定義で用いられる説明専用のSenderアダプタである。
クエリ可能オブジェクトenv
と接続先Receiverの環境を合成した、新たなクエリ可能オブジェクトに関連付けれられたSenderを生成する。
戻り値
説明専用のwrite-env-t
を空のクラスとしたとき、下記を返す。
make-sender(write-env-t(), std::forward<Env>(env), std::forward<Sndr>(sndr))
Senderアルゴリズムタグ
Senderアルゴリズム動作説明用のクラステンプレートimpls-for
に対して、下記の特殊化が定義される。
template<>
struct impls-for<write-env-t> : default-impls {
static constexpr auto get-env =
[](auto, const auto& state, const auto& rcvr) noexcept {
return see below;
};
};
impls-for<write-env-t>::get-env
メンバの呼び出しは下記を満たすオブジェクトe
を返す。
- 型
decltype(e)
がqueryable
のモデルであり、かつ - 与えられたクエリオブジェクト
q
に対して、式e.query(q)
は式state.query(q)
が有効ならばその式と等価。そうでなければ、式e.query(q)
はget_env(rcvr).query(q)
と等価。
バージョン
言語
- C++26