1// -*- C++ -*- 2//===-- execution ---------------------------------------------------------===// 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 _TEST_SUPPORT_STDLIB_EXECUTION 11#define _TEST_SUPPORT_STDLIB_EXECUTION 12 13// #include_next <execution> // None of the standard libraries PSTL is built on top have the <execution> header yet. 14 15#include <pstl/internal/pstl_config.h> 16#include <pstl/internal/execution_defs.h> 17 18#define _PSTL_EXECUTION_POLICIES_DEFINED 1 19 20#if _PSTL_ALGORITHM_FORWARD_DECLARED 21# include <pstl/internal/glue_algorithm_impl.h> 22#endif 23 24#if _PSTL_MEMORY_FORWARD_DECLARED 25# include <pstl/internal/glue_memory_impl.h> 26#endif 27 28#if _PSTL_NUMERIC_FORWARD_DECLARED 29# include <pstl/internal/glue_numeric_impl.h> 30#endif 31 32#if _PSTL_CPP17_EXECUTION_POLICIES_PRESENT 33_PSTL_PRAGMA_MESSAGE_POLICIES("The <Parallel STL> execution policies are defined in the namespace __pstl::execution") 34#else 35# include <pstl/internal/glue_execution_defs.h> 36_PSTL_PRAGMA_MESSAGE_POLICIES( 37 "The <Parallel STL> execution policies are injected into the standard namespace std::execution") 38#endif 39 40//TODO: __pstl::execution namespace is injected into the pstl::execution namespace when the implementation is not a part of 41// standard C++ library 42namespace pstl 43{ 44namespace execution 45{ 46using namespace __pstl::execution; 47} 48} // namespace pstl 49 50#endif /* _TEST_SUPPORT_STDLIB_EXECUTION */ 51