testsuite/111125 - disable BB vectorization for the test
[official-gcc.git] / libstdc++-v3 / include / pstl / glue_execution_defs.h
blobe7b36c7dd10eaebb8b984f96464009ad69645e55
1 // -*- C++ -*-
2 //===-- glue_execution_defs.h ---------------------------------------------===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
10 #ifndef _PSTL_GLUE_EXECUTION_DEFS_H
11 #define _PSTL_GLUE_EXECUTION_DEFS_H
13 #include <type_traits>
15 #include "execution_defs.h"
17 namespace std
19 // Type trait
20 using __pstl::execution::is_execution_policy;
21 #if defined(_PSTL_CPP14_VARIABLE_TEMPLATES_PRESENT)
22 # if defined(__INTEL_COMPILER)
23 template <class _Tp>
24 constexpr bool is_execution_policy_v = is_execution_policy<_Tp>::value;
25 # else
26 using __pstl::execution::is_execution_policy_v;
27 # endif
28 #endif
30 namespace execution
32 // Standard C++ policy classes
33 using __pstl::execution::parallel_policy;
34 using __pstl::execution::parallel_unsequenced_policy;
35 using __pstl::execution::sequenced_policy;
37 // Standard predefined policy instances
38 using __pstl::execution::par;
39 using __pstl::execution::par_unseq;
40 using __pstl::execution::seq;
42 // Implementation-defined names
43 // Unsequenced policy is not yet standard, but for consistency
44 // we include it into namespace std::execution as well
45 using __pstl::execution::unseq;
46 using __pstl::execution::unsequenced_policy;
47 } // namespace execution
48 } // namespace std
50 #include "algorithm_impl.h"
51 #include "numeric_impl.h"
52 #include "parallel_backend.h"
54 #endif /* _PSTL_GLUE_EXECUTION_DEFS_H */