| // -*- C++ -*- |
| //===-- execution ---------------------------------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef _TEST_SUPPORT_STDLIB_EXECUTION |
| #define _TEST_SUPPORT_STDLIB_EXECUTION |
| |
| // #include_next <execution> // None of the standard libraries PSTL is built on top have the <execution> header yet. |
| |
| #include <pstl/internal/pstl_config.h> |
| #include <pstl/internal/execution_defs.h> |
| |
| #define _PSTL_EXECUTION_POLICIES_DEFINED 1 |
| |
| #if _PSTL_ALGORITHM_FORWARD_DECLARED |
| # include <pstl/internal/glue_algorithm_impl.h> |
| #endif |
| |
| #if _PSTL_MEMORY_FORWARD_DECLARED |
| # include <pstl/internal/glue_memory_impl.h> |
| #endif |
| |
| #if _PSTL_NUMERIC_FORWARD_DECLARED |
| # include <pstl/internal/glue_numeric_impl.h> |
| #endif |
| |
| #if _PSTL_CPP17_EXECUTION_POLICIES_PRESENT |
| _PSTL_PRAGMA_MESSAGE_POLICIES("The <Parallel STL> execution policies are defined in the namespace __pstl::execution") |
| #else |
| # include <pstl/internal/glue_execution_defs.h> |
| _PSTL_PRAGMA_MESSAGE_POLICIES( |
| "The <Parallel STL> execution policies are injected into the standard namespace std::execution") |
| #endif |
| |
| //TODO: __pstl::execution namespace is injected into the pstl::execution namespace when the implementation is not a part of |
| // standard C++ library |
| namespace pstl |
| { |
| namespace execution |
| { |
| using namespace __pstl::execution; |
| } |
| } // namespace pstl |
| |
| #endif /* _TEST_SUPPORT_STDLIB_EXECUTION */ |