diff --git a/source/elements/oneDPL/source/parallel_api/parallel_range_api.rst b/source/elements/oneDPL/source/parallel_api/parallel_range_api.rst index 1565ed522..ad11ee66a 100644 --- a/source/elements/oneDPL/source/parallel_api/parallel_range_api.rst +++ b/source/elements/oneDPL/source/parallel_api/parallel_range_api.rst @@ -535,6 +535,59 @@ Set operations } +Partition operations +++++++++++++++++++++ + +.. code:: cpp + + // Defined in + + namespace oneapi::dpl::ranges { + + // is_partitioned + template , Proj> > Pred> + requires oneapi::dpl::is_execution_policy_v> && + std::ranges::sized_range + bool is_partitioned (ExecutionPolicy&& pol, R&& r, Pred pred, Proj proj = {}); + + // partition + template , Proj> > Pred> + requires oneapi::dpl::is_execution_policy_v> && + std::ranges::sized_range && std::permutable> + std::ranges::borrowed_subrange_t + partition (ExecutionPolicy&& pol, R&& r, Pred pred, Proj proj = {}); + + // stable_partition + template , Proj> > Pred> + requires oneapi::dpl::is_execution_policy_v> && + std::ranges::sized_range && std::permutable> + std::ranges::borrowed_subrange_t + stable_partition (ExecutionPolicy&& pol, R&& r, Pred pred, Proj proj = {}); + + // partition_copy + template , Proj> > Pred> + requires oneapi::dpl::is_execution_policy_v> && + std::ranges::sized_range && std::ranges::sized_range && + std::ranges::sized_range && + std::indirectly_copyable, std::ranges::iterator_t> && + std::indirectly_copyable, std::ranges::iterator_t> + std::ranges::partition_copy_result, + std::ranges::borrowed_iterator_t, + std::ranges::borrowed_iterator_t> + partition_copy (ExecutionPolicy&& pol, R&& r, OutR1&& out_true_r, OutR2&& out_false_r, + Pred pred, Proj proj = {}); + + } + Copying Mutating Operations +++++++++++++++++++++++++++