@@ -33,22 +33,29 @@ 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
38
37
39
Except for these differences, the signatures of parallel range algorithms correspond to the working draft
38
40
of the next edition of the C++ standard (C++26).
39
41
40
42
Auxiliary Definitions
41
43
+++++++++++++++++++++
42
44
43
- The following auxiliary entities are only defined for the purpose of exposition, to aid the specification
44
- of parallel range algorithms.
45
+ The following auxiliary entities are defined to aid the specification of parallel range algorithms.
45
46
46
47
.. code :: cpp
47
48
48
49
// C++20 analogue of std::projected_value_t; exposition only
49
50
template<typename I, typename Proj>
50
51
using /*projected-value-type*/ = std::remove_cvref_t<std::invoke_result_t<Proj&, std::iter_value_t<I>&>>;
51
52
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
+
52
59
Whole Sequence Operations
53
60
+++++++++++++++++++++++++
54
61
@@ -435,8 +442,8 @@ Copying Mutating Operations
435
442
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
436
443
std::ranges::sized_range<R> && std::ranges::sized_range<OutR> &&
437
444
std::indirectly_copyable<std::ranges::iterator_t<R>, std::ranges::iterator_t<OutR>>
438
- std:: ranges::reverse_copy_result <std::ranges::borrowed_iterator_t<R>,
439
- std::ranges::borrowed_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
447
reverse_copy (ExecutionPolicy&& pol, R&& r, OutR&& result);
441
448
442
449
// transform (unary)
0 commit comments