kokkos-execution 0.0.1
Loading...
Searching...
No Matches
sender_concepts.hpp
Go to the documentation of this file.
1#ifndef KOKKOS_EXECUTION_GRAPH_SENDER_CONCEPTS_HPP
2#define KOKKOS_EXECUTION_GRAPH_SENDER_CONCEPTS_HPP
3
5
7
9
11template <typename Sndr, typename... Env>
13 stdexec::sender<Sndr>
14 && stdexec::__is_instance_of<
15 std::invoke_result_t<stdexec::get_completion_scheduler_t<stdexec::set_value_t>, stdexec::env_of_t<Sndr>, Env...>,
17 >;
18
19template <typename Sndr, typename... Env>
20struct GraphCompletingSender : public std::bool_constant<graph_completing_sender<Sndr, Env...>> { };
21
22struct CANNOT_DISPATCH_THIS_ALGORITHM_TO_THE_GRAPH_SCHEDULER;
23struct BECAUSE_THERE_IS_NO_GRAPH_SCHEDULER_IN_THE_ENVIRONMENT;
24
30template <typename Tag, typename Sndr, typename... Env>
32 return stdexec::__not_a_sender<
33 stdexec::_WHAT_(CANNOT_DISPATCH_THIS_ALGORITHM_TO_THE_GRAPH_SCHEDULER),
34 stdexec::_WHY_(BECAUSE_THERE_IS_NO_GRAPH_SCHEDULER_IN_THE_ENVIRONMENT),
35 stdexec::_WHERE_(stdexec::_IN_ALGORITHM_, Tag),
36 stdexec::_WITH_PRETTY_SENDER_<Sndr>,
37 stdexec::_WITH_ENVIRONMENT_(Env...)
38 >{};
39}
40
41} // namespace Kokkos::Execution::GraphImpl
42
43#endif // KOKKOS_EXECUTION_GRAPH_SENDER_CONCEPTS_HPP
Concept for a sender whose completion scheduler is Kokkos::Execution::GraphImpl::Scheduler.
auto no_graph_scheduler_in_env() noexcept
Show a better compile diagnostic when there is no Kokkos::Execution::GraphImpl::Scheduler found.
Scheduler for a Kokkos::Experimental::Graph.
Definition graph.hpp:21