Initial PSTL commit
[lldb.git] / pstl / include / pstl / execution
1 // -*- C++ -*-
2 //===-- execution ---------------------------------------------------------===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10
11 #ifndef __PSTL_execution
12 #define __PSTL_execution
13
14 #include "internal/pstl_config.h"
15 #include "internal/execution_defs.h"
16
17 #define __PSTL_EXECUTION_POLICIES_DEFINED 1
18
19 #if __PSTL_ALGORITHM_FORWARD_DECLARED
20 #include "internal/glue_algorithm_impl.h"
21 #endif
22
23 #if __PSTL_MEMORY_FORWARD_DECLARED
24 #include "internal/glue_memory_impl.h"
25 #endif
26
27 #if __PSTL_NUMERIC_FORWARD_DECLARED
28 #include "internal/glue_numeric_impl.h"
29 #endif
30
31 #if __PSTL_CPP17_EXECUTION_POLICIES_PRESENT
32 __PSTL_PRAGMA_MESSAGE_POLICIES("The <Parallel STL> execution policies are defined in the namespace __pstl::execution")
33 #else
34 #include "internal/glue_execution_defs.h"
35 __PSTL_PRAGMA_MESSAGE_POLICIES(
36     "The <Parallel STL> execution policies are injected into the standard namespace std::execution")
37 #endif
38
39 //TODO: __pstl::execution namespace is injected into the pstl::execution namespace when the implementation is not a part of
40 // standard C++ library
41 namespace pstl
42 {
43 namespace execution
44 {
45 using namespace __pstl::execution;
46 }
47 }
48
49 #endif /* __PSTL_execution */