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 Signatures, typename... Env>
15concept has_completion_signatures = stdexec::__mset_eq<Signatures, stdexec::__completion_signatures_of_t<Sndr, Env...>>;
16
17template <typename Sndr, typename Tag, typename... Env>
19 std::invocable<stdexec::get_completion_scheduler_t<Tag>, stdexec::env_of_t<Sndr>, Env...>;
20
36template <typename OpState>
37concept operation_state = stdexec::operation_state<OpState> && requires(OpState& opstate) {
38 { opstate.start() } noexcept -> std::same_as<void>;
39};
40
48template <typename DomainOrTag, typename... Args>
49concept has_nothrow_apply_sender = requires(DomainOrTag domain_or_tag, Args&&... args) {
50 { domain_or_tag.apply_sender(std::forward<Args>(args)...) } noexcept;
51};
52
53} // namespace Tests::Utils
54
55#endif // KOKKOS_EXECUTION_TESTS_UTILS_STDEXEC_HPP
Check that apply_sender is noexcept.
Definition stdexec.hpp:49
A stricter variant of stdexec::operation_state.
Definition stdexec.hpp:37
typename stdexec::__basic_sender< Args... >::type basic_sender_t
See https://github.com/NVIDIA/stdexec/pull/1873#discussion_r2834863237.
Definition stdexec.hpp:12