Files
cppdraft_translate/cppdraft/exec/snd/transform.md
2025-10-25 03:02:53 +03:00

1.6 KiB
Raw Blame History

[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.3Sender concepts[exec.snd.concepts]") Sndr, [queryable](exec.queryable.concept#concept:queryable "33.2.2queryable concept[exec.queryable.concept]")... Env> requires (sizeof...(Env) <= 1) constexpr [sender](exec.snd.concepts#concept:sender "33.9.3Sender concepts[exec.snd.concepts]") decltype(auto) transform_sender(Domain dom, Sndr&& sndr, const Env&... env) noexcept(see below); }

1

#

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...).

2

#

Returns: final-sndr.

3

#

Remarks: The exception specification is equivalent tonoexcept(final-sndr).