33 Execution control library [exec]

33.9 Senders [exec.snd]

33.9.6 execution​::​default_domain [exec.domain.default]

namespace std::execution { struct default_domain { template<class Tag, sender Sndr, queryable Env> static constexpr decltype(auto) transform_sender(Tag, Sndr&& sndr, const Env& env) noexcept(see below); template<class Tag, sender Sndr, class... Args> static constexpr decltype(auto) apply_sender(Tag, Sndr&& sndr, Args&&... args) noexcept(see below); }; }
template<class Tag, sender Sndr, queryable Env> constexpr sender decltype(auto) transform_sender(Tag, Sndr&& sndr, const Env& env) noexcept(see below);
Let e be the expression tag_of_t<Sndr>().transform_sender(Tag(), std::forward<Sndr>(sndr), env) if that expression is well-formed; otherwise, static_cast<Sndr>(std​::​forward<Sndr>(sndr)).
Returns: e.
Remarks: The exception specification is equivalent to noexcept(e).
template<class Tag, sender Sndr, class... Args> constexpr decltype(auto) apply_sender(Tag, Sndr&& sndr, Args&&... args) noexcept(see below);
Let e be the expression Tag().apply_sender(std::forward<Sndr>(sndr), std::forward<Args>(args)...)
Constraints: e is a well-formed expression.
Returns: e.
Remarks: The exception specification is equivalent to noexcept(e).