xref: /netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/include/std/execution (revision 627f7eb200a4419d89b531d55fccd2ee3ffdcde0)
1*627f7eb2Smrg// <execution> -*- C++ -*-
2*627f7eb2Smrg
3*627f7eb2Smrg// Copyright (C) 2018-2019 Free Software Foundation, Inc.
4*627f7eb2Smrg//
5*627f7eb2Smrg// This file is part of the GNU ISO C++ Library.  This library is free
6*627f7eb2Smrg// software; you can redistribute it and/or modify it under the
7*627f7eb2Smrg// terms of the GNU General Public License as published by the
8*627f7eb2Smrg// Free Software Foundation; either version 3, or (at your option)
9*627f7eb2Smrg// any later version.
10*627f7eb2Smrg
11*627f7eb2Smrg// This library is distributed in the hope that it will be useful,
12*627f7eb2Smrg// but WITHOUT ANY WARRANTY; without even the implied warranty of
13*627f7eb2Smrg// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*627f7eb2Smrg// GNU General Public License for more details.
15*627f7eb2Smrg
16*627f7eb2Smrg// Under Section 7 of GPL version 3, you are granted additional
17*627f7eb2Smrg// permissions described in the GCC Runtime Library Exception, version
18*627f7eb2Smrg// 3.1, as published by the Free Software Foundation.
19*627f7eb2Smrg
20*627f7eb2Smrg// You should have received a copy of the GNU General Public License and
21*627f7eb2Smrg// a copy of the GCC Runtime Library Exception along with this program;
22*627f7eb2Smrg// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23*627f7eb2Smrg// <http://www.gnu.org/licenses/>.
24*627f7eb2Smrg
25*627f7eb2Smrg#ifndef _GLIBCXX_EXECUTION
26*627f7eb2Smrg#define _GLIBCXX_EXECUTION 1
27*627f7eb2Smrg
28*627f7eb2Smrg#pragma GCC system_header
29*627f7eb2Smrg
30*627f7eb2Smrg#if __cplusplus >= 201703L
31*627f7eb2Smrg# include <bits/c++config.h>
32*627f7eb2Smrg# include <pstl/glue_execution_defs.h>
33*627f7eb2Smrg
34*627f7eb2Smrg# define __PSTL_EXECUTION_POLICIES_DEFINED 1
35*627f7eb2Smrg
36*627f7eb2Smrg// Algorithm implementation
37*627f7eb2Smrg# if __PSTL_ALGORITHM_FORWARD_DECLARED
38*627f7eb2Smrg#  include <pstl/glue_algorithm_impl.h>
39*627f7eb2Smrg# endif
40*627f7eb2Smrg
41*627f7eb2Smrg// Numeric implementation
42*627f7eb2Smrg# if __PSTL_NUMERIC_FORWARD_DECLARED
43*627f7eb2Smrg#  include <pstl/glue_numeric_impl.h>
44*627f7eb2Smrg# endif
45*627f7eb2Smrg
46*627f7eb2Smrg// Memory implementation
47*627f7eb2Smrg# if __PSTL_NUMERIC_FORWARD_DECLARED
48*627f7eb2Smrg#  include <pstl/glue_memory_impl.h>
49*627f7eb2Smrg# endif
50*627f7eb2Smrg
51*627f7eb2Smrg// Feature test macro for parallel algorithms
52*627f7eb2Smrg# define __cpp_lib_parallel_algorithm 201603L
53*627f7eb2Smrg
54*627f7eb2Smrg#endif // C++17
55*627f7eb2Smrg
56*627f7eb2Smrg#endif /* _GLIBCXX_EXECUTION */
57