16 #ifndef GRPPI_COMMON_EXECUTION_TRAITS_H
17 #define GRPPI_COMMON_EXECUTION_TRAITS_H
19 #include <type_traits>
32 std::enable_if_t<is_supported<E>(),
int>;
36 std::enable_if_t<!is_supported<E>(),
int>;
Definition: callable_traits.h:21
constexpr bool is_supported()
Determines if an execution policy is supported in the current compilation.
Definition: execution_traits.h:28
constexpr bool supports_reduce()
Determines if an execution policy supports the reduce pattern.
Definition: execution_traits.h:50
std::enable_if_t<!is_supported< E >(), int > requires_execution_not_supported
Definition: execution_traits.h:36
constexpr bool supports_map_reduce()
Determines if an execution policy supports the map-reduce pattern.
Definition: execution_traits.h:57
std::enable_if_t< is_supported< E >(), int > requires_execution_supported
Definition: execution_traits.h:32
constexpr bool supports_stencil()
Determines if an execution policy supports the stencil pattern.
Definition: execution_traits.h:64
constexpr bool supports_pipeline()
Determines if an execution policy supports the pipeline pattern.
Definition: execution_traits.h:78
constexpr bool supports_map()
Determines if an execution policy supports the map pattern.
Definition: execution_traits.h:43
constexpr bool supports_divide_conquer()
Determines if an execution policy supports the divide-conquer pattern.
Definition: execution_traits.h:71