1 | // -*- C++ -*- |
2 | //===-- glue_memory_defs.h ------------------------------------------------===// |
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 __PSTL_glue_memory_defs_H |
11 | #define __PSTL_glue_memory_defs_H |
12 | |
13 | #include "execution_defs.h" |
14 | |
15 | namespace std |
16 | { |
17 | |
18 | // [uninitialized.copy] |
19 | |
20 | template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator> |
21 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
22 | uninitialized_copy(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result); |
23 | |
24 | template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator> |
25 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
26 | uninitialized_copy_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result); |
27 | |
28 | // [uninitialized.move] |
29 | |
30 | template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator> |
31 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
32 | uninitialized_move(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result); |
33 | |
34 | template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator> |
35 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
36 | uninitialized_move_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result); |
37 | |
38 | // [uninitialized.fill] |
39 | |
40 | template <class _ExecutionPolicy, class _ForwardIterator, class _Tp> |
41 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> |
42 | uninitialized_fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); |
43 | |
44 | template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp> |
45 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
46 | uninitialized_fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, const _Tp& __value); |
47 | |
48 | // [specialized.destroy] |
49 | |
50 | template <class _ExecutionPolicy, class _ForwardIterator> |
51 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> |
52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); |
53 | |
54 | template <class _ExecutionPolicy, class _ForwardIterator, class _Size> |
55 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
56 | destroy_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n); |
57 | |
58 | // [uninitialized.construct.default] |
59 | |
60 | template <class _ExecutionPolicy, class _ForwardIterator> |
61 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> |
62 | uninitialized_default_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); |
63 | |
64 | template <class _ExecutionPolicy, class _ForwardIterator, class _Size> |
65 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
66 | uninitialized_default_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n); |
67 | |
68 | // [uninitialized.construct.value] |
69 | |
70 | template <class _ExecutionPolicy, class _ForwardIterator> |
71 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> |
72 | uninitialized_value_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); |
73 | |
74 | template <class _ExecutionPolicy, class _ForwardIterator, class _Size> |
75 | __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> |
76 | uninitialized_value_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n); |
77 | |
78 | } // namespace std |
79 | #endif /* __PSTL_glue_memory_defs_H */ |
80 | |