21 #ifndef FUB_EXECUTION_HPP 
   22 #define FUB_EXECUTION_HPP 
   45 template <
typename Tag, 
typename T> 
struct LocalType {
 
   46   using type = std::optional<T>;
 
   48 template <
typename T> 
struct LocalType<execution::OpenMpTag, T> {
 
   49   using type = OmpLocal<T>;
 
   51 template <
typename T> 
struct LocalType<execution::OpenMpSimdTag, T> {
 
   52   using type = OmpLocal<T>;
 
   55 template <
typename Tag, 
typename T>
 
   56 using Local = 
typename detail::LocalType<Tag, T>::type;
 
   58 template <
typename T> 
const T& 
Min(
const std::optional<T>& x) { 
return *x; }
 
const T & Min() const noexcept
Definition: omp.hpp:123
 
constexpr SequentialTag seq
Definition: Execution.hpp:31
 
constexpr OpenMpTag openmp
Definition: Execution.hpp:37
 
constexpr OpenMpSimdTag openmp_simd
Definition: Execution.hpp:40
 
constexpr SimdTag simd
Definition: Execution.hpp:34
 
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
 
typename detail::LocalType< Tag, T >::type Local
Definition: Execution.hpp:56
 
const T & Min(const std::optional< T > &x)
Definition: Execution.hpp:58
 
Definition: Execution.hpp:39
 
Definition: Execution.hpp:36
 
Definition: Execution.hpp:30
 
Definition: Execution.hpp:33