// -*- C++ -*-
//===-- execution ---------------------------------------------------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#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 <Parallel STL> execution policies are defined in the namespace __pstl::execution")
#else
#include "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;
}
}

#endif /* __PSTL_execution */
