| 627 | |
| 628 | template <sender _Sender> |
| 629 | constexpr auto await_transform(_Sender&& __sndr) noexcept |
| 630 | { |
| 631 | using __schedule_sndr_t = schedule_result_t<start_scheduler_type>; |
| 632 | if constexpr (__completes_where_it_starts<set_value_t, env_of_t<__schedule_sndr_t>, __env>) |
| 633 | { |
| 634 | return STDEXEC::as_awaitable(static_cast<_Sender&&>(__sndr), *this); |
| 635 | } |
| 636 | else |
| 637 | { |
| 638 | return STDEXEC::as_awaitable(STDEXEC::affine(static_cast<_Sender&&>(__sndr)), *this); |
| 639 | } |
| 640 | } |
| 641 | |
| 642 | [[nodiscard]] |
| 643 | constexpr auto get_env() const noexcept |