| 32 | namespace __write |
| 33 | { |
| 34 | struct __write_env_impl : __sexpr_defaults |
| 35 | { |
| 36 | static constexpr auto __get_attrs = |
| 37 | []<class _Child>(__ignore, __ignore, _Child const & __child) noexcept |
| 38 | { |
| 39 | return __sync_attrs{__child}; |
| 40 | }; |
| 41 | |
| 42 | static constexpr auto __get_env = []<class _State>(__ignore, _State const & __state) noexcept |
| 43 | -> decltype(__env::__join(__state.__data_, STDEXEC::get_env(__state.__rcvr_))) |
| 44 | { |
| 45 | return __env::__join(__state.__data_, STDEXEC::get_env(__state.__rcvr_)); |
| 46 | }; |
| 47 | |
| 48 | template <class _Self, class... _Env> |
| 49 | static consteval auto __get_completion_signatures() |
| 50 | { |
| 51 | static_assert(__sender_for<_Self, __write_env_t>); |
| 52 | return STDEXEC::get_completion_signatures< |
| 53 | __child_of<_Self>, |
| 54 | __minvoke_q<__join_env_t, __decay_t<__data_of<_Self>> const &, _Env>...>(); |
| 55 | } |
| 56 | }; |
| 57 | } // namespace __write |
| 58 | |
| 59 | struct __write_env_t |