kokkos-execution 0.0.1
Loading...
Searching...
No Matches
stdexec.hpp
Go to the documentation of this file.
1#ifndef KOKKOS_EXECUTION_TESTS_UTILS_STDEXEC_HPP
2#define KOKKOS_EXECUTION_TESTS_UTILS_STDEXEC_HPP
3
4#include <concepts>
5
7
8namespace Tests::Utils {
9
11template <typename... Args>
12using basic_sender_t = typename stdexec::__basic_sender<Args...>::type;
13
14template <typename Sndr, typename Tag, typename... Env>
16 std::invocable<stdexec::get_completion_scheduler_t<Tag>, stdexec::env_of_t<Sndr>, Env...>;
17
33template <typename OpState>
34concept operation_state = stdexec::operation_state<OpState> && requires(OpState& op_state) {
35 { op_state.start() } noexcept -> std::same_as<void>;
36};
37
45template <typename DomainOrTag, typename... Args>
46concept has_nothrow_apply_sender = requires(DomainOrTag domain_or_tag, Args&&... args) {
47 { domain_or_tag.apply_sender(std::forward<Args>(args)...) } noexcept;
48};
49
50} // namespace Tests::Utils
51
52#endif // KOKKOS_EXECUTION_TESTS_UTILS_STDEXEC_HPP
Check that apply_sender is noexcept.
Definition stdexec.hpp:46
A stricter variant of stdexec::operation_state.
Definition stdexec.hpp:34
typename stdexec::__basic_sender< Args... >::type basic_sender_t
See https://github.com/NVIDIA/stdexec/pull/1873#discussion_r2834863237.
Definition stdexec.hpp:12