1.6 KiB
[exec.snd.transform]
33 Execution control library [exec]
33.9 Senders [exec.snd]
33.9.6 execution::transform_sender [exec.snd.transform]
namespace std::execution { template<class Domain, [sender](exec.snd.concepts#concept:sender "33.9.3 Sender concepts [exec.snd.concepts]") Sndr, [queryable](exec.queryable.concept#concept:queryable "33.2.2 queryable concept [exec.queryable.concept]")... Env> requires (sizeof...(Env) <= 1) constexpr [sender](exec.snd.concepts#concept:sender "33.9.3 Sender concepts [exec.snd.concepts]") decltype(auto) transform_sender(Domain dom, Sndr&& sndr, const Env&... env) noexcept(see below); }
Let transformed-sndr be the expressiondom.transform_sender(std::forward(sndr), env...) if that expression is well-formed; otherwise,default_domain().transform_sender(std::forward(sndr), env...)
Let final-sndr be the expression transformed-sndr if transformed-sndr and sndr have the same type ignoring cv-qualifiers; otherwise, it is the expression transform_sender(dom, transformed-sndr, env...).
Returns: final-sndr.
Remarks: The exception specification is equivalent tonoexcept(final-sndr).