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//===----------------------------------------------------------------------===//
9
10#ifndef _PSTL_GLUE_EXECUTION_DEFS_H
11#define _PSTL_GLUE_EXECUTION_DEFS_H
12
13#include <type_traits>
14
15#include "execution_defs.h"
16
17namespace std
18{
19// Type trait
20using __pstl::execution::is_execution_policy;
21#if _PSTL_CPP14_VARIABLE_TEMPLATES_PRESENT
22# if __INTEL_COMPILER
23template <class T>
24constexpr bool is_execution_policy_v = is_execution_policy<T>::value;
25# else
26using __pstl::execution::is_execution_policy_v;
27# endif
28#endif
29
30namespace execution
31{
32// Standard C++ policy classes
33using __pstl::execution::parallel_policy;
34using __pstl::execution::parallel_unsequenced_policy;
35using __pstl::execution::sequenced_policy;
36
37// Standard predefined policy instances
38using __pstl::execution::par;
39using __pstl::execution::par_unseq;
40using __pstl::execution::seq;
41
42// Implementation-defined names
43// Unsequenced policy is not yet standard, but for consistency
44// we include it into namespace std::execution as well
45using __pstl::execution::unseq;
46using __pstl::execution::unsequenced_policy;
47} // namespace execution
48} // namespace std
49
50#include "algorithm_impl.h"
51#include "numeric_impl.h"
52#include "parallel_backend.h"
53
54#endif /* _PSTL_GLUE_EXECUTION_DEFS_H */
55

source code of include/c++/11/pstl/glue_execution_defs.h