Skip to content

Commit 6a0da70

Browse files
Add partial_sort and partial_sort_copy
1 parent e36aad1 commit 6a0da70

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,30 @@ Sorting and Merge
408408
merge (ExecutionPolicy&& pol, R1&& r1, R2&& r2, OutR&& result, Comp comp = {},
409409
Proj1 proj1 = {}, Proj2 proj2 = {});
410410
411+
// partial_sort
412+
template <typename ExecutionPolicy, std::ranges::random_access_range R,
413+
typename Comp = std::ranges::less, typename Proj = std::identity>
414+
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
415+
std::ranges::sized_range<R> && std::sortable<std::ranges::iterator_t<R>, Comp, Proj>
416+
std::ranges::borrowed_iterator_t<R>
417+
partial_sort (ExecutionPolicy&& pol, R&& r, std::ranges::iterator_t<R> middle,
418+
Comp comp = {}, Proj proj = {});
419+
420+
// partial_sort_copy
421+
template <typename ExecutionPolicy, std::ranges::random_access_range R1,
422+
std::ranges::random_access_range R2, typename Comp = std::ranges::less,
423+
typename Proj1 = std::identity, typename Proj2 = std::identity>
424+
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
425+
std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
426+
std::indirectly_copyable<std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>> &&
427+
std::sortable<std::ranges::iterator_t<R2>, Comp, Proj2> &&
428+
std::indirect_strict_weak_order<Comp,
429+
std::projected<std::ranges::iterator_t<R1>, Proj1>,
430+
std::projected<std::ranges::iterator_t<R2>, Proj2> >
431+
std::ranges::partial_sort_copy_result<std::ranges::borrowed_iterator_t<R1>,
432+
std::ranges::borrowed_iterator_t<R2>>
433+
partial_sort_copy (ExecutionPolicy&& pol, R1&& r1, R2&& r2, Comp comp = {},
434+
Proj1 proj1 = {}, Proj2 proj2 = {});
411435
}
412436
413437
Set operations

0 commit comments

Comments
 (0)