53 using completion_signatures_t =
54 stdexec::completion_signatures<stdexec::set_value_t(), stdexec::set_error_t(std::exception_ptr)>;
55 using any_receiver_t = exec::any_receiver<completion_signatures_t>;
56 using any_sender_t = exec::any_sender<any_receiver_t>;
58 static_assert(std::same_as<
59 stdexec::__completion_domain_of_t<stdexec::set_value_t, any_sender_t>,
60 stdexec::indeterminate_domain<>
62 static_assert(std::same_as<
63 stdexec::__completion_domain_of_t<stdexec::set_value_t, any_sender_t, stdexec::env<>>,
64 stdexec::default_domain
67 static_assert(std::same_as<
68 std::invoke_result_t<stdexec::get_completion_signatures_t, any_sender_t, stdexec::env<>>,
69 completion_signatures_t
72 const view_s_t data(Kokkos::view_alloc(
exec,
"data - shared space"));
78 auto continues_on = std::move(chain) | stdexec::continues_on(esc.
get_scheduler());
80 static_assert(std::same_as<
81 stdexec::__demangle_t<
decltype(continues_on)>,
83 stdexec::continues_on_t,
89 any_sender_t extended_chain = std::move(continues_on) |
THEN_INCREMENT(data);
91 ASSERT_EQ(data(), 0) <<
"Eager execution is not allowed.";
102 ASSERT_EQ(data(), 3);
auto get_scheduler() const noexcept -> ExecutionSpaceImpl::Scheduler< Exec >
decltype(std::declval< const context_t >().get_scheduler()) scheduler_t
Kokkos::View< value_t, Kokkos::SharedSpace > view_s_t
Kokkos::Execution::ExecutionSpaceContext< Exec > context_t