// -*- 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 __PSTL_execution #define __PSTL_execution #include "internal/pstl_config.h" #include "internal/execution_defs.h" #define __PSTL_EXECUTION_POLICIES_DEFINED 1 #if __PSTL_ALGORITHM_FORWARD_DECLARED #include "internal/glue_algorithm_impl.h" #endif #if __PSTL_MEMORY_FORWARD_DECLARED #include "internal/glue_memory_impl.h" #endif #if __PSTL_NUMERIC_FORWARD_DECLARED #include "internal/glue_numeric_impl.h" #endif #if __PSTL_CPP17_EXECUTION_POLICIES_PRESENT __PSTL_PRAGMA_MESSAGE_POLICIES("The execution policies are defined in the namespace __pstl::execution") #else #include "internal/glue_execution_defs.h" __PSTL_PRAGMA_MESSAGE_POLICIES( "The 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; } } #endif /* __PSTL_execution */