Skip to content

Commit 9765784

Browse files
Align reverse_copy spec with P3709R2
1 parent 46f58b9 commit 9765784

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

source/elements/oneDPL/source/parallel_api/parallel_range_api.rst

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,22 +33,29 @@ The following differences to the standard C++ range algorithms apply:
3333
In that case, the returned value contains iterators pointing to the positions past the last elements
3434
processed according to the algorithm semantics.
3535
- ``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``.
3638

3739
Except for these differences, the signatures of parallel range algorithms correspond to the working draft
3840
of the next edition of the C++ standard (C++26).
3941

4042
Auxiliary Definitions
4143
+++++++++++++++++++++
4244

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.
4546

4647
.. code:: cpp
4748
4849
// C++20 analogue of std::projected_value_t; exposition only
4950
template<typename I, typename Proj>
5051
using /*projected-value-type*/ = std::remove_cvref_t<std::invoke_result_t<Proj&, std::iter_value_t<I>&>>;
5152
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+
5259
Whole Sequence Operations
5360
+++++++++++++++++++++++++
5461

@@ -435,8 +442,8 @@ Copying Mutating Operations
435442
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
436443
std::ranges::sized_range<R> && std::ranges::sized_range<OutR> &&
437444
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>>
440447
reverse_copy (ExecutionPolicy&& pol, R&& r, OutR&& result);
441448
442449
// transform (unary)

0 commit comments

Comments
 (0)