最終更新日時(UTC):
が更新

履歴 編集

function template
<execution>

std::execution::transform_sender(C++26)

namespace std::execution {
  template<class Domain, sender Sndr, queryable... Env>
    requires (sizeof...(Env) <= 1)
  constexpr sender decltype(auto) transform_sender(Domain dom, Sndr&& sndr, const Env&... env)
    noexcept(see below);
}

概要

実行ドメインに応じてSenderを変換する。 Senderオブジェクトの構築時、SenderとReceiver接続(connect)時のカスタマイゼーションポイントとして機能する。

型変換ではSender型の変換が行われなくなる(恒等変換となる)まで、下記のカスタマイゼーションポイントを再帰的に呼び出す。

  • 定義されていれば、dom.transform_senderメンバ関数に変換動作を委譲する。
  • そうでなければ、デフォルト実行ドメインtransform_senderに変換動作を委譲する。

戻り値

説明用の式transformed-sndrを次の通りとする。

説明用の式final-sndrを次の通りとする。

  • sndrtransformed-sndrの型がCV修飾を無視して同一ならば、transformed-sndr
  • そうでなければ、式transform_sender(dom, transformed-sndr, env...)(再帰適用)

final-sndrを返す。

例外

noexcept(final-sndr) == trueならば、例外を投げない。 そうでなければ、Sender変換過程で送出される例外

バージョン

言語

  • C++26

処理系

関連項目

参照