@@ -478,7 +478,7 @@ In-place Mutating Operations
478
478
std::indirectly_writable<std::ranges::iterator_t<R>, const T&>
479
479
std::ranges::borrowed_iterator_t<R>
480
480
fill (ExecutionPolicy&& pol, R&& r, const T& value);
481
-
481
+
482
482
// replace
483
483
template <typename ExecutionPolicy, std::ranges::random_access_range R,
484
484
typename Proj = std::identity,
@@ -525,6 +525,33 @@ In-place Mutating Operations
525
525
std::ranges::borrowed_subrange_t<R>
526
526
remove_if (ExecutionPolicy&& pol, R&& r, Pred pred, Proj proj = {});
527
527
528
+ // reverse
529
+ template <typename ExecutionPolicy, std::ranges::random_access_range R>
530
+ requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
531
+ std::ranges::sized_range<R> && std::permutable<std::ranges::iterator_t<R>>
532
+ std::ranges::borrowed_iterator_t<R>
533
+ reverse (ExecutionPolicy&& pol, R&& r);
534
+
535
+ // swap_ranges
536
+ template <typename ExecutionPolicy, std::ranges::random_access_range R1,
537
+ std::ranges::random_access_range R2>
538
+ requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
539
+ std::ranges::sized_range<R1> && std::ranges::sized_range<R2> &&
540
+ std::indirectly_swappable<std::ranges::iterator_t<R1>, std::ranges::iterator_t<R2>>
541
+ std::ranges::swap_ranges_result<std::ranges::borrowed_iterator_t<R1>,
542
+ std::ranges::borrowed_iterator_t<R2>>
543
+ swap_ranges (ExecutionPolicy&& pol, R1&& r1, R2&& r2);
544
+
545
+ // unique
546
+ template <typename ExecutionPolicy, std::ranges::random_access_range R,
547
+ typename Proj = std::identity,
548
+ std::indirect_equivalence_relation< std::projected<std::ranges::iterator_t<R>, Proj> >
549
+ Comp = std::ranges::equal_to>
550
+ requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> &&
551
+ std::ranges::sized_range<R> && std::permutable<std::ranges::iterator_t<R>>
552
+ std::ranges::borrowed_subrange_t<R>
553
+ unique (ExecutionPolicy&& pol, R&& r, Comp comp = {}, Proj proj = {});
554
+
528
555
}
529
556
530
557
.. _`C++ Standard` : https://isocpp.org/std/the-standard
0 commit comments