1#ifndef KOKKOS_EXECUTION_EXECUTION_SPACE_WHEN_ALL_HPP
2#define KOKKOS_EXECUTION_EXECUTION_SPACE_WHEN_ALL_HPP
18struct __sexpr_impl<
Kokkos::Execution::ExecutionSpaceImpl::when_all_t> : stdexec::__when_all::__when_all_impl {
27 []<
typename State>(stdexec::__ignore,
const State& state)
noexcept {
28 auto env = stdexec::__when_all::__when_all_impl::__get_env(stdexec::__ignore{}, state);
30 using exec_env_policy_t =
33 if constexpr (std::same_as<exec_env_policy_t, Kokkos::Execution::ExecutionSpaceImpl::WithExecEnvPolicy>) {
37 return std::move(env);
49 template <
typename Self,
typename... Envs>
51 if constexpr (stdexec::__minvocable_q<stdexec::__when_all::__when_all_impl::__completions_t, Self, Envs...>) {
52 return stdexec::__when_all::__when_all_impl::__completions_t<Self, Envs...>{};
53 }
else if constexpr (
sizeof...(Envs) == 0) {
54 return stdexec::__throw_dependent_sender_error<Self>();
65 template <
typename Env,
typename... Sndrs>
66 auto operator()(
const Env&, stdexec::when_all_t, stdexec::__, Sndrs&&... sndrs)
const {
67 return stdexec::__make_sexpr<Kokkos::Execution::ExecutionSpaceImpl::when_all_t>(
68 stdexec::__{}, std::forward<Sndrs>(sndrs)...);
constexpr auto join_env_with_exec(Env &&env, const Exec &exec) noexcept
Unconditionally join exec to env.
std::conditional_t< stdexec::__queryable_with< Env, Impl::get_exec_t >, WithExecEnvPolicy, WithoutExecEnvPolicy > exec_env_policy_t
If Env is queryable with Impl::get_exec_t, use WithExecEnvPolicy.
constexpr get_exec_t get_exec
static constexpr auto __get_env
static consteval auto __get_completion_signatures()