1#ifndef KOKKOS_EXECUTION_EXECUTION_SPACE_THEN_HPP
2#define KOKKOS_EXECUTION_EXECUTION_SPACE_THEN_HPP
14template <
typename Functor>
15requires(std::same_as<void, std::invoke_result_t<Functor>>)
19 template <std::
integral T>
27 template <
typename Sndr,
typename Env>
28 using policy_t = Kokkos::RangePolicy<Impl::exec_of_t<Sndr, Env>, Kokkos::LaunchBounds<1>>;
30 template <
typename Env,
typename Functor,
typename Sndr>
34 template <
typename Env,
typename Functor,
typename Sndr>
35 requires stdexec::__sends<stdexec::set_value_t, Sndr, Env>
36 auto operator()(
const Env& env, stdexec::then_t, Functor&& functor, Sndr&& sndr)
const
37 noexcept(std::is_nothrow_constructible_v<
43 auto schd = stdexec::get_completion_scheduler<stdexec::set_value_t>(stdexec::get_env(sndr), env);
49 std::forward<Sndr>(sndr)};
Concept for a sender whose completion scheduler is Kokkos::Execution::ExecutionSpaceImpl::Scheduler.
auto no_execution_space_scheduler_in_env() noexcept
Show a better compile diagnostic when there is no Kokkos::Execution::ExecutionSpaceImpl::Scheduler fo...
consteval std::string_view dispatch_label() noexcept
View the dispatch label as a std::string_view.
ParallelForClosure< std::string_view, Functor, ExecPolicy > closure_t
Inspired by https://github.com/kokkos/kokkos/blob/69273c3a4e7b6adeb95066341ca201d62fe1e698/core/src/i...
void operator()(const T) const