xref: /netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/include/std/execution (revision 4c3eb207d36f67d31994830c0a694161fc1ca39b)
1627f7eb2Smrg// <execution> -*- C++ -*-
2627f7eb2Smrg
3*4c3eb207Smrg// Copyright (C) 2018-2020 Free Software Foundation, Inc.
4627f7eb2Smrg//
5627f7eb2Smrg// This file is part of the GNU ISO C++ Library.  This library is free
6627f7eb2Smrg// software; you can redistribute it and/or modify it under the
7627f7eb2Smrg// terms of the GNU General Public License as published by the
8627f7eb2Smrg// Free Software Foundation; either version 3, or (at your option)
9627f7eb2Smrg// any later version.
10627f7eb2Smrg
11627f7eb2Smrg// This library is distributed in the hope that it will be useful,
12627f7eb2Smrg// but WITHOUT ANY WARRANTY; without even the implied warranty of
13627f7eb2Smrg// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14627f7eb2Smrg// GNU General Public License for more details.
15627f7eb2Smrg
16627f7eb2Smrg// Under Section 7 of GPL version 3, you are granted additional
17627f7eb2Smrg// permissions described in the GCC Runtime Library Exception, version
18627f7eb2Smrg// 3.1, as published by the Free Software Foundation.
19627f7eb2Smrg
20627f7eb2Smrg// You should have received a copy of the GNU General Public License and
21627f7eb2Smrg// a copy of the GCC Runtime Library Exception along with this program;
22627f7eb2Smrg// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23627f7eb2Smrg// <http://www.gnu.org/licenses/>.
24627f7eb2Smrg
25627f7eb2Smrg#ifndef _GLIBCXX_EXECUTION
26627f7eb2Smrg#define _GLIBCXX_EXECUTION 1
27627f7eb2Smrg
28627f7eb2Smrg#pragma GCC system_header
29627f7eb2Smrg
30627f7eb2Smrg#if __cplusplus >= 201703L
31627f7eb2Smrg# include <bits/c++config.h>
32627f7eb2Smrg# include <pstl/glue_execution_defs.h>
33627f7eb2Smrg
34*4c3eb207Smrg# define _PSTL_EXECUTION_POLICIES_DEFINED 1
35627f7eb2Smrg
36627f7eb2Smrg// Algorithm implementation
37*4c3eb207Smrg# if _PSTL_ALGORITHM_FORWARD_DECLARED
38627f7eb2Smrg#  include <pstl/glue_algorithm_impl.h>
39627f7eb2Smrg# endif
40627f7eb2Smrg
41627f7eb2Smrg// Numeric implementation
42*4c3eb207Smrg# if _PSTL_NUMERIC_FORWARD_DECLARED
43627f7eb2Smrg#  include <pstl/glue_numeric_impl.h>
44627f7eb2Smrg# endif
45627f7eb2Smrg
46627f7eb2Smrg// Memory implementation
47*4c3eb207Smrg# if _PSTL_NUMERIC_FORWARD_DECLARED
48627f7eb2Smrg#  include <pstl/glue_memory_impl.h>
49627f7eb2Smrg# endif
50627f7eb2Smrg
51627f7eb2Smrg// Feature test macro for parallel algorithms
52627f7eb2Smrg# define __cpp_lib_parallel_algorithm 201603L
53*4c3eb207Smrg# define __cpp_lib_execution 201902L
54627f7eb2Smrg
55627f7eb2Smrg#endif // C++17
56627f7eb2Smrg
57627f7eb2Smrg#endif /* _GLIBCXX_EXECUTION */
58