1#ifndef KOKKOS_EXECUTION_EXECUTION_SPACE_CONTINUES_ON_HPP
2#define KOKKOS_EXECUTION_EXECUTION_SPACE_CONTINUES_ON_HPP
11template <
typename ExecEnvPolicy, stdexec::scheduler Schd, stdexec::receiver Rcvr>
19 stdexec::set_value(std::move(
rcvr));
22 template <
typename Error>
24 stdexec::set_error(std::move(
rcvr), std::forward<Error>(err));
28 stdexec::set_stopped(std::move(
rcvr));
39template <stdexec::scheduler Schd, stdexec::sender Sndr>
48 template <
typename Rcvr>
51 stdexec::__completion_domain_of_t<stdexec::set_value_t, Sndr, stdexec::__fwd_env_t<stdexec::env_of_t<Rcvr>>>,
58 template <
typename Rcvr>
61 template <stdexec::receiver Rcvr>
63 std::is_nothrow_constructible_v<rcvr_t<Rcvr>, Schd&&, Rcvr&&>
64 && stdexec::__nothrow_connectable<Sndr&&, rcvr_t<Rcvr>>) -> stdexec::connect_result_t<Sndr,
rcvr_t<Rcvr>> {
65 return stdexec::connect(
66 std::forward<Sndr>(
sndr),
rcvr_t<Rcvr>{.schd = std::forward<Schd>(
schd), .rcvr = std::move(rcvr)});
74 template <
typename Env, stdexec::__is_instance_of<Scheduler> Schd, stdexec::sender Sndr>
75 auto operator()(
const Env&, stdexec::continues_on_t, Schd&& schd, Sndr&& sndr)
const
76 noexcept(std::is_nothrow_constructible_v<ContinuesOnSender<Schd, Sndr>, Schd&&, Sndr&&>) {
#define KOKKOS_EXECUTION_IMPL_FORWARDING_ATTRIBUTES_GET_ENV(_type_, _obj_)
#define KOKKOS_EXECUTION_COMPL_SIGS_KEEP(_sndr_type_)
constexpr auto join_env_with_exec(Env &&env, const Exec &exec) noexcept
Unconditionally join exec to env.
decltype(join_env_with_exec< ExecEnvPolicy >(std::declval< Env >(), std::declval< Exec >())) join_env_with_exec_t
Receiver for continues_on.
void set_value() &&noexcept
constexpr auto get_env() const noexcept -> join_env_with_exec_t< ExecEnvPolicy, stdexec::env_of_t< Rcvr >, typename Schd::execution_space >
void set_error(Error &&err) &&noexcept
void set_stopped() &&noexcept
stdexec::receiver_tag receiver_concept
std::conditional_t< std::same_as< stdexec::__completion_domain_of_t< stdexec::set_value_t, Sndr, stdexec::__fwd_env_t< stdexec::env_of_t< Rcvr > > >, Domain >, WithExecEnvPolicy, WithoutExecEnvPolicy > exec_env_policy_t
ContinuesOnReceiver< exec_env_policy_t< Rcvr >, Schd, Rcvr > rcvr_t
auto connect(Rcvr rcvr) &&noexcept(std::is_nothrow_constructible_v< rcvr_t< Rcvr >, Schd &&, Rcvr && > &&stdexec::__nothrow_connectable< Sndr &&, rcvr_t< Rcvr > >) -> stdexec::connect_result_t< Sndr, rcvr_t< Rcvr > >
stdexec::sender_tag sender_concept
Kokkos::DefaultExecutionSpace execution_space