@@ -2525,7 +2525,7 @@ __pattern_partial_sort_copy(_Tag, _ExecutionPolicy&&, _ForwardIterator __first,
25252525{
25262526 static_assert (__is_serial_tag_v<_Tag> || __is_parallel_forward_tag_v<_Tag>);
25272527
2528- return :: std::partial_sort_copy (__first, __last, __d_first, __d_last, __comp);
2528+ return std::partial_sort_copy (__first, __last, __d_first, __d_last, __comp);
25292529}
25302530
25312531template <class _IsVector , class _ExecutionPolicy , class _RandomAccessIterator1 , class _RandomAccessIterator2 ,
@@ -2547,56 +2547,55 @@ __pattern_partial_sort_copy(__parallel_tag<_IsVector>, _ExecutionPolicy&& __exec
25472547 if (__n2 >= __n1)
25482548 {
25492549 __par_backend::__parallel_stable_sort (
2550- __backend_tag{}, :: std::forward<_ExecutionPolicy>(__exec), __d_first, __d_first + __n1, __comp,
2550+ __backend_tag{}, std::forward<_ExecutionPolicy>(__exec), __d_first, __d_first + __n1, __comp,
25512551 [__first, __d_first](_RandomAccessIterator2 __i, _RandomAccessIterator2 __j, _Compare __comp) {
25522552 _RandomAccessIterator1 __i1 = __first + (__i - __d_first);
25532553 _RandomAccessIterator1 __j1 = __first + (__j - __d_first);
25542554
25552555 // 1. Copy elements from input to output
25562556 __brick_copy<__parallel_tag<_IsVector>>{}(__i1, __j1, __i, _IsVector{});
25572557 // 2. Sort elements in output sequence
2558- :: std::sort (__i, __j, __comp);
2558+ std::sort (__i, __j, __comp);
25592559 },
25602560 __n1);
25612561 return __d_first + __n1;
25622562 }
25632563 else
25642564 {
2565- using _T1 = typename std::iterator_traits<_RandomAccessIterator1>::value_type;
25662565 using _T2 = typename std::iterator_traits<_RandomAccessIterator2>::value_type;
2567- __par_backend::__buffer<_T1 > __buf (__n1);
2568- _T1 * __r = __buf.get ();
2566+ __par_backend::__buffer<_T2 > __buf (__n1);
2567+ _T2 * __r = __buf.get ();
25692568
25702569 __par_backend::__parallel_stable_sort (
2571- __backend_tag{}, :: std::forward<_ExecutionPolicy>(__exec), __r, __r + __n1, __comp,
2572- [__n2, __first, __r](_T1 * __i, _T1 * __j, _Compare __comp) {
2570+ __backend_tag{}, std::forward<_ExecutionPolicy>(__exec), __r, __r + __n1, __comp,
2571+ [__n2, __first, __r](_T2 * __i, _T2 * __j, _Compare __comp) {
25732572 _RandomAccessIterator1 __it = __first + (__i - __r);
25742573
25752574 // 1. Copy elements from input to raw memory
2576- for (_T1 * __k = __i; __k != __j; ++__k, (void )++__it)
2575+ for (_T2 * __k = __i; __k != __j; ++__k, (void )++__it)
25772576 {
25782577 ::new (__k) _T2 (*__it);
25792578 }
25802579
25812580 // 2. Sort elements in temporary buffer
25822581 if (__n2 < __j - __i)
2583- :: std::partial_sort (__i, __i + __n2, __j, __comp);
2582+ std::partial_sort (__i, __i + __n2, __j, __comp);
25842583 else
2585- :: std::sort (__i, __j, __comp);
2584+ std::sort (__i, __j, __comp);
25862585 },
25872586 __n2);
25882587
25892588 // 3. Move elements from temporary buffer to output
2590- __par_backend::__parallel_for (__backend_tag{}, :: std::forward<_ExecutionPolicy>(__exec), __r, __r + __n2,
2591- [__r, __d_first](_T1 * __i, _T1 * __j) {
2589+ __par_backend::__parallel_for (__backend_tag{}, std::forward<_ExecutionPolicy>(__exec), __r, __r + __n2,
2590+ [__r, __d_first](_T2 * __i, _T2 * __j) {
25922591 __brick_move_destroy<__parallel_tag<_IsVector>>{}(
25932592 __i, __j, __d_first + (__i - __r), _IsVector{});
25942593 });
25952594
2596- if constexpr (!:: std::is_trivially_destructible_v<_T1 >)
2597- __par_backend::__parallel_for (__backend_tag{}, :: std::forward<_ExecutionPolicy>(__exec), __r + __n2,
2595+ if constexpr (!std::is_trivially_destructible_v<_T2 >)
2596+ __par_backend::__parallel_for (__backend_tag{}, std::forward<_ExecutionPolicy>(__exec), __r + __n2,
25982597 __r + __n1,
2599- [](_T1 * __i, _T1 * __j) { __brick_destroy (__i, __j, _IsVector{}); });
2598+ [](_T2 * __i, _T2 * __j) { __brick_destroy (__i, __j, _IsVector{}); });
26002599
26012600 return __d_first + __n2;
26022601 }
0 commit comments