@@ -33,29 +33,24 @@ The following differences to the standard C++ range algorithms apply:
33
33
In that case, the returned value contains iterators pointing to the positions past the last elements
34
34
processed according to the algorithm semantics.
35
35
- ``for_each `` does not return its function object.
36
- - ``reverse_copy_truncated_result `` alias used by `` reverse_copy `` resides in `` namespace oneapi::dpl::ranges ``
37
- instead of `` namespace std::ranges ``.
36
+ - ``reverse_copy `` returns `` std::ranges::in_in_out_result `` instead of the alias
37
+ `` std::ranges::reverse_copy_truncated_result ``.
38
38
39
39
Except for these differences, the signatures of parallel range algorithms correspond to the working draft
40
40
of the next edition of the C++ standard (C++26).
41
41
42
42
Auxiliary Definitions
43
43
+++++++++++++++++++++
44
44
45
- The following auxiliary entities are defined to aid the specification of parallel range algorithms.
45
+ The following auxiliary entities are only defined for the purpose of exposition, to aid the specification
46
+ of parallel range algorithms.
46
47
47
48
.. code :: cpp
48
49
49
50
// C++20 analogue of std::projected_value_t; exposition only
50
51
template<typename I, typename Proj>
51
52
using /*projected-value-type*/ = std::remove_cvref_t<std::invoke_result_t<Proj&, std::iter_value_t<I>&>>;
52
53
53
- // C++20 analogue of std::ranges::reverse_copy_truncated_result
54
- namespace oneapi::dpl::ranges {
55
- template<typename I, typename O>
56
- using reverse_copy_truncated_result = std::ranges::in_in_out_result<I, I, O>;
57
- }
58
-
59
54
Whole Sequence Operations
60
55
+++++++++++++++++++++++++
61
56
@@ -442,8 +437,9 @@ Copying Mutating Operations
442
437
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
443
438
std::ranges::sized_range<R> && std::ranges::sized_range<OutR> &&
444
439
std::indirectly_copyable<std::ranges::iterator_t<R>, std::ranges::iterator_t<OutR>>
445
- oneapi::dpl::ranges::reverse_copy_truncated_result<std::ranges::borrowed_iterator_t<R>,
446
- std::ranges::borrowed_iterator_t<OutR>>
440
+ std::ranges::in_in_out_result<std::ranges::borrowed_iterator_t<R>,
441
+ std::ranges::borrowed_iterator_t<R>,
442
+ std::ranges::borrowed_iterator_t<OutR>>
447
443
reverse_copy (ExecutionPolicy&& pol, R&& r, OutR&& result);
448
444
449
445
// transform (unary)
0 commit comments