Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
943ab81
Introduce __is_value_storable_and_comparable_v
SergeyKopienko Sep 7, 2026
15cdc7b
Add a test for __is_value_storable_and_comparable_v
SergeyKopienko Sep 7, 2026
a4393b8
Use std::addressof to take the address of the comparator in the SIMD …
SergeyKopienko Sep 7, 2026
8fa3324
Take the vectorized min_element/minmax_element brick only when it is …
SergeyKopienko Sep 7, 2026
3f1dfcd
Extend minmax_element test coverage with value types of the serial fa…
SergeyKopienko Sep 7, 2026
e45255f
Apply GitHUB clang format
SergeyKopienko Sep 7, 2026
1c9cd7a
Renames inline constexpr bool __predicate -> __predicate_v
SergeyKopienko Sep 8, 2026
7785602
Renames inline constexpr bool __convertible_to -> __convertible_to_v
SergeyKopienko Sep 8, 2026
e5765ee
Renames inline constexpr bool __semiregular -> __semiregular_v
SergeyKopienko Sep 8, 2026
9bb5537
Renames inline constexpr bool __assignable_from -> __assignable_from_v
SergeyKopienko Sep 8, 2026
8aff2f7
Renames inline constexpr bool __constructible_from -> __constructible…
SergeyKopienko Sep 8, 2026
6b1bbfe
Renames inline constexpr bool __move_constructible -> __move_construc…
SergeyKopienko Sep 8, 2026
9de20e2
Renames inline constexpr bool __copy_constructible -> __copy_construc…
SergeyKopienko Sep 8, 2026
0c61ad9
Renames inline constexpr bool __movable -> __movable_v
SergeyKopienko Sep 8, 2026
39a590c
Renames inline constexpr bool __copyable -> __copyable_v
SergeyKopienko Sep 8, 2026
f3771ef
Replace `__semiregular_v` with the exact requirements of the SIMD `mi…
SergeyKopienko Sep 8, 2026
46973ae
value_storable_and_comparable.pass.cpp - fix compile error
SergeyKopienko Sep 8, 2026
b5465a8
minmax_element.pass.cpp - expand test coverage
SergeyKopienko Sep 8, 2026
3c7f105
minmax_element.pass.cpp - expand test coverage
SergeyKopienko Sep 8, 2026
95e55cf
expand test coverage
SergeyKopienko Sep 8, 2026
e6602d4
Fix review comment: not reasons no check comparator compatibility
SergeyKopienko Sep 8, 2026
fa6adf6
include/oneapi/dpl/pstl/unseq_backend_simd.h - fix review comment: re…
SergeyKopienko Sep 8, 2026
d001a0e
Extra test coverage for the value type which is not default-construct…
SergeyKopienko Sep 8, 2026
6af2da5
unseq_backend_simd.h - fix review comment: remove extra definition of…
SergeyKopienko Sep 8, 2026
58d5712
Update include/oneapi/dpl/pstl/unseq_backend_simd.h
SergeyKopienko Sep 8, 2026
d87fb76
Update include/oneapi/dpl/pstl/unseq_backend_simd.h
SergeyKopienko Sep 8, 2026
2f91d9e
Update include/oneapi/dpl/pstl/unseq_backend_simd.h
SergeyKopienko Sep 8, 2026
5daf9ff
minmax_element.pass.cpp - fix review comment: replace ::std:: -> std::
SergeyKopienko Sep 9, 2026
2ae97ae
minmax_element.pass.cpp - fix review comment: remove extra comments
SergeyKopienko Sep 9, 2026
95333a7
Apply suggestion from @dmitriy-sobolev
SergeyKopienko Sep 9, 2026
2fd7f85
Apply suggestion from @dmitriy-sobolev
SergeyKopienko Sep 9, 2026
0acac49
Apply suggestion from @dmitriy-sobolev
SergeyKopienko Sep 9, 2026
fbbb903
Merge remote-tracking branch 'origin/dev/skopienko/fix_simd_min_minma…
SergeyKopienko Sep 9, 2026
e3e1566
Revert "minmax_element.pass.cpp - fix review comment: remove extra co…
SergeyKopienko Sep 9, 2026
1a0e3d5
Pack comments
SergeyKopienko Sep 9, 2026
dac74a0
unseq_backend_simd.h - remove redundand comment
SergeyKopienko Sep 9, 2026
43a6200
test/general/implementation_details/value_storable.pass.cpp - fix rev…
SergeyKopienko Sep 10, 2026
ed6b94c
test/parallel_api/algorithm/alg.sorting/alg.min.max/minmax_element.pa…
SergeyKopienko Sep 10, 2026
b0ef6b1
test/general/implementation_details/value_storable.pass.cpp - fix rev…
SergeyKopienko Sep 10, 2026
26fedda
Fix review comment: let's remove NoDefaultCtor and use TestUtils::NoD…
SergeyKopienko Sep 10, 2026
d8dd902
Merge branch 'main' into dev/skopienko/fix_simd_min_minmax_element
SergeyKopienko Sep 10, 2026
b36435a
Merge branch 'main' into dev/skopienko/fix_simd_min_minmax_element
SergeyKopienko Sep 10, 2026
029eaf4
Fix `SIMD` `min_element` / `minmax_element` for value types unusable …
SergeyKopienko Sep 15, 2026
86545ae
include/oneapi/dpl/pstl/algorithm_impl.h - remove extra changes
SergeyKopienko Sep 15, 2026
fff9621
include/oneapi/dpl/pstl/unseq_backend_simd.h - change the comments
SergeyKopienko Sep 15, 2026
2fb3a99
test/parallel_api/algorithm/alg.sorting/alg.min.max/minmax_element.pa…
SergeyKopienko Sep 15, 2026
040db37
test/parallel_api/algorithm/alg.sorting/alg.min.max/minmax_element.pa…
SergeyKopienko Sep 15, 2026
6cb706e
test/parallel_api/ranges/std_ranges_memory_test.h
SergeyKopienko Aug 28, 2026
cfa6587
test/parallel_api/ranges/std_ranges_algo_archetypes_test.h
SergeyKopienko Aug 28, 2026
ef0e0d5
test/parallel_api/ranges/std_ranges_archetypes.h
SergeyKopienko Aug 28, 2026
83694f4
test/support/test_config.h
SergeyKopienko Aug 28, 2026
3365e90
test/parallel_api/ranges/std_ranges_memory_archetypes.pass.cpp
SergeyKopienko Aug 28, 2026
624a47b
test/parallel_api/ranges/std_ranges_algo_archetypes_write.pass.cpp
SergeyKopienko Aug 28, 2026
c09d817
test/parallel_api/ranges/std_ranges_algo_archetypes_value.pass.cpp
SergeyKopienko Aug 28, 2026
000149c
test/parallel_api/ranges/std_ranges_algo_archetypes_read.pass.cpp
SergeyKopienko Aug 28, 2026
ddcd6c9
test/parallel_api/ranges/std_ranges_algo_archetypes_permute.pass.cpp
SergeyKopienko Aug 28, 2026
8bb789a
test/parallel_api/ranges/std_ranges_algo_archetypes_merge.pass.cpp
SergeyKopienko Aug 28, 2026
f8638ca
Split broken tests to host- and hetero-policy parts
SergeyKopienko Aug 31, 2026
98a134b
Fix broken host/hetero cases
SergeyKopienko Aug 31, 2026
264da4f
Remove switched off broken test macros
SergeyKopienko Aug 31, 2026
1689fd9
Create *_dc archetypes for hetero polict and run_algo2_all_policies -…
SergeyKopienko Sep 1, 2026
1a89cf0
Create *_dc archetypes for hetero polict and run_algo2_all_policies -…
SergeyKopienko Sep 1, 2026
b41bc7d
Remove switched off broken test macros
SergeyKopienko Sep 1, 2026
b73c92a
Extract to separate error: fix __has_subscription_op and struct __sub…
SergeyKopienko Sep 1, 2026
880a03e
Remove broket test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_FIND_LAST…
SergeyKopienko Sep 1, 2026
127983e
Remove broken test macros _TEST_CPP20_RANGES_BROKEN_REQUIRES_REMOVE_H…
SergeyKopienko Sep 1, 2026
8036e32
Remove extra broken test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_SOR…
SergeyKopienko Sep 1, 2026
fc1e609
Remove extra broken test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_STA…
SergeyKopienko Sep 1, 2026
f735b22
Remove extra broken test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_UNI…
SergeyKopienko Sep 1, 2026
f4eade0
Remove extra broken test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_MIN…
SergeyKopienko Sep 1, 2026
8155cf3
Remove extra brokem test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_MAX…
SergeyKopienko Sep 1, 2026
e0398ec
Remove extra broken test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_MIN…
SergeyKopienko Sep 1, 2026
a23d200
Merge branch 'dev/skopienko/fix_simd_min_minmax_element' into dev/sko…
SergeyKopienko Sep 9, 2026
7e7f9be
Remove extra broke test macros
SergeyKopienko Sep 9, 2026
9a7c543
Add missed TEST_DPCPP_BACKEND_PRESENT macro checks
SergeyKopienko Sep 9, 2026
07451e5
Extend test coverage
SergeyKopienko Sep 9, 2026
a3ba6a2
Remove redundant std::invocable checks from the archetype tests
SergeyKopienko Sep 9, 2026
a58639c
Drop the introductory comments of the archetype tests
SergeyKopienko Sep 9, 2026
b72cd9e
Drop the reduced policy fallbacks of the archetype tests
SergeyKopienko Sep 9, 2026
6e7a6db
Drop the policy suffix from the broken requires macros of the host po…
SergeyKopienko Sep 9, 2026
b286b82
Cover oneapi::dpl::ranges::includes with archetypes
SergeyKopienko Sep 9, 2026
baa3879
Add transform archetypes for the binary overload and the projections
SergeyKopienko Sep 9, 2026
4576884
Cover the binary transform overload and its projections with real calls
SergeyKopienko Sep 9, 2026
12e357b
Cover the transform variants with non-const callables and projections
SergeyKopienko Sep 9, 2026
c7964d4
Split the archetype definitions into per-family headers
SergeyKopienko Sep 9, 2026
08cdf10
Restore the default of test_memory_algo::call_id
SergeyKopienko Sep 9, 2026
62f400d
Move the memory archetype harness into its own header
SergeyKopienko Sep 9, 2026
20c8d26
Cut the archetype tests by family only and drop the duplicated call s…
SergeyKopienko Sep 9, 2026
cfa82d0
Use LF line endings in the memory archetype test
SergeyKopienko Sep 9, 2026
4f98c62
Add the archetype definitions the missing coverage needs
SergeyKopienko Sep 9, 2026
9db2417
Fill the empty cells of the archetype matrix and guard the gaps
SergeyKopienko Sep 9, 2026
a1f6b77
Run one call per pattern shape over the range without view_interface
SergeyKopienko Sep 9, 2026
38625b3
Merge branch 'dev/skopienko/fix_simd_min_minmax_element' into dev/sko…
SergeyKopienko Sep 15, 2026
74496ad
Revert "Extract to separate error: fix __has_subscription_op and stru…
SergeyKopienko Sep 15, 2026
968bf90
include/oneapi/dpl/pstl/utils.h - introduce __mutable_lvalue_t templa…
SergeyKopienko Sep 15, 2026
99ab955
include/oneapi/dpl/pstl/utils.h - introduce __as_mutable_lvalue() fun…
SergeyKopienko Sep 15, 2026
f8ffb2c
include/oneapi/dpl/pstl/utils.h - introduce class __relax_const_comp
SergeyKopienko Sep 15, 2026
7c96779
include/oneapi/dpl/pstl/hetero/dpcpp/sycl_traits.h - declare class __…
SergeyKopienko Sep 15, 2026
67f1350
include/oneapi/dpl/pstl/utils.h - introduce bool __comp_wants_mutable…
SergeyKopienko Sep 15, 2026
46553e1
include/oneapi/dpl/pstl/utils.h - introduce __get_relax_non_const_com…
SergeyKopienko Sep 15, 2026
f3e2a97
include/oneapi/dpl/pstl/glue_algorithm_ranges_impl.h - apply oneapi::…
SergeyKopienko Sep 15, 2026
9cf8f0f
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - apply oneapi::dpl::…
SergeyKopienko Sep 15, 2026
6cffb0b
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - apply…
SergeyKopienko Sep 15, 2026
2d30ba1
@@@ test/parallel_api/ranges/std_ranges_algo_archetypes_read.pass.cpp
SergeyKopienko Sep 15, 2026
1125e8f
@@@ test/parallel_api/ranges/std_ranges_algo_archetypes_value.pass.cpp
SergeyKopienko Sep 15, 2026
d89928f
Remove extra broken test macro for fixed test cases
SergeyKopienko Sep 15, 2026
d30e848
include/oneapi/dpl/pstl/utils.h + include/oneapi/dpl/pstl/hetero/dpcp…
SergeyKopienko Sep 15, 2026
06641ba
include/oneapi/dpl/pstl/glue_algorithm_ranges_impl.h - apply oneapi::…
SergeyKopienko Sep 15, 2026
59f5371
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - apply oneapi::dpl::…
SergeyKopienko Sep 15, 2026
db5eb00
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - apply…
SergeyKopienko Sep 15, 2026
492c6d9
Remove extra broken test macro for fixed test cases
SergeyKopienko Sep 15, 2026
163d178
@@@ <<< public API change! >>> fix _TEST_CPP20_RANGES_BROKEN_REQUIRES…
SergeyKopienko Sep 16, 2026
0ff5d5c
Fix broken test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_ROTATE_COPY_…
SergeyKopienko Sep 16, 2026
f87176d
Add __internal::__tuple_type_cast() shared helper
SergeyKopienko Sep 16, 2026
c1a16cb
Take the element to write by a non-const reference in __write_to_id_if
SergeyKopienko Sep 16, 2026
35a7ee0
Do not copy the input element in the single group copy_if kernel
SergeyKopienko Sep 16, 2026
38349c2
Forward the input element in __pstl_assign
SergeyKopienko Sep 16, 2026
6338ab0
Enable the hetero remove_copy archetype calls
SergeyKopienko Sep 16, 2026
ec23bdc
Remove the fixed test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_REMOVE…
SergeyKopienko Sep 16, 2026
661ce21
Merge branch 'dev/skopienko/extra_range_tests_for_value_requirements_…
SergeyKopienko Sep 16, 2026
154eacb
Fold the fixed read archetype calls back into run_algo_all_policies
SergeyKopienko Sep 16, 2026
1b74dba
Fold the fixed permuting archetype calls back into run_algo_all_policies
SergeyKopienko Sep 16, 2026
ad98c80
Take the address with std::addressof in the one work group radix sort
SergeyKopienko Sep 16, 2026
7c5480b
Drop the dead includes from the one work group radix sort
SergeyKopienko Sep 16, 2026
bd25c49
Merge branch 'dev/skopienko/extra_range_tests_for_value_requirements_…
SergeyKopienko Sep 16, 2026
c0294f6
<<< !separate error >>>> Fix error in the code and remove broken test…
SergeyKopienko Sep 16, 2026
00c2eb8
Fix the argument order and the frozen iterator in __simd_find_first_of
SergeyKopienko Sep 16, 2026
3bdbc3c
Remove the fixed test macro _TEST_CPP20_RANGES_BROKEN_REQUIRES_FIND_F…
SergeyKopienko Sep 16, 2026
53b1cba
Return the earliest match from the other branch of __simd_find_first_of
SergeyKopienko Sep 16, 2026
a818d6d
Cover find_first_of matches away from the front of the first range
SergeyKopienko Sep 16, 2026
b65bda6
Merge branch 'dev/skopienko/extra_range_tests_for_value_requirements_…
SergeyKopienko Sep 16, 2026
5decbd7
Add new broken test macros
SergeyKopienko Sep 17, 2026
7496383
test/parallel_api/ranges/std_ranges_test.h - additional test tools fo…
SergeyKopienko Sep 17, 2026
3997c01
Incorporate new test cases
SergeyKopienko Sep 17, 2026
2621d21
Incorporate new test cases + new broken test macro
SergeyKopienko Sep 17, 2026
33a5297
Fix a narrowing conversion in the ranges __pattern_reverse
SergeyKopienko Sep 17, 2026
5fe9eb3
Detect a non-const-callable comparator/predicate on the projected type
SergeyKopienko Sep 17, 2026
255185f
Fix the detection arity for the ranges adjacent_find and search_n
SergeyKopienko Sep 17, 2026
f41d7e1
include/oneapi/dpl/pstl/utils_ranges.h - rename oneapi::dpl::__intern…
SergeyKopienko Sep 17, 2026
0551ccd
Apply in the code: rename oneapi::dpl::__internal::__key_t -> __proje…
SergeyKopienko Sep 17, 2026
f916420
Merge branch 'dev/skopienko/rename_internal_key_t' into dev/skopienko…
SergeyKopienko Sep 17, 2026
f475368
Apply in the code: rename oneapi::dpl::__internal::__key_t -> __proje…
SergeyKopienko Sep 17, 2026
fd2a524
include/oneapi/dpl/pstl/utils_ranges.h - rename oneapi::dpl::__intern…
SergeyKopienko Sep 17, 2026
3c38f7b
Merge branch 'dev/skopienko/rename_internal_key_t' into dev/skopienko…
SergeyKopienko Sep 17, 2026
8a0368a
include/oneapi/dpl/pstl/utils_ranges.h - fix compile error
SergeyKopienko Sep 17, 2026
f312615
Fix mangled names compile errors
SergeyKopienko Sep 17, 2026
0e63735
Fix compile error in ranges::replace_copy_if for a non-copyable value
SergeyKopienko Sep 18, 2026
33fa772
Do not require a default constructible value type in the OpenMP sort
SergeyKopienko Sep 18, 2026
c5657f4
Fix ranges::destroy of a range that is not common on libc++
SergeyKopienko Sep 18, 2026
095032f
Take the bounds of a range from __ranges::__bounds() in the range pat…
SergeyKopienko Sep 18, 2026
fd22017
Merge branch 'main' into dev/skopienko/extra_range_tests_for_value_re…
SergeyKopienko Sep 18, 2026
d862cc6
Implement __get_relax_non_const_comp via __get_relax_non_const_pred
SergeyKopienko Sep 18, 2026
def90ee
Merge branch 'main' into dev/skopienko/fix_simd_min_minmax_element
SergeyKopienko Sep 18, 2026
8043006
Fix review comment: rename __is_value_storable_v -> __is_indirectly_s…
SergeyKopienko Sep 18, 2026
d2fc624
Rename test/general/implementation_details/value_storable.pass.cpp ->…
SergeyKopienko Sep 18, 2026
43b2a3a
Merge branch 'dev/skopienko/fix_simd_min_minmax_element' into dev/sko…
SergeyKopienko Sep 18, 2026
35ff7c9
Merge branch 'main' into dev/skopienko/extra_range_tests_for_value_re…
SergeyKopienko Sep 18, 2026
252d37f
Merge branch 'main' into dev/skopienko/extra_range_tests_for_value_re…
SergeyKopienko Sep 21, 2026
42e6544
@@@ catch exceptions in tests
SergeyKopienko Sep 18, 2026
30ad9d5
Replace run_algo2_host_policies + run_algo2_hetero_policies -> run_al…
SergeyKopienko Sep 18, 2026
d43e937
Fix missed value category in struct __pattern_lexicographical_compare…
SergeyKopienko Sep 18, 2026
c93133b
Fix compile error in ranges::replace_copy_if for a non-copyable value…
SergeyKopienko Sep 18, 2026
16ede9b
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - apply oneapi::dpl::…
SergeyKopienko Sep 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions include/oneapi/dpl/pstl/algorithm_fwd.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,18 +126,18 @@ _RandomAccessIterator2 __brick_walk2_n(_RandomAccessIterator1, _Size, _RandomAcc

template <class _Tag, class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Function>
_ForwardIterator2
__pattern_walk2(_Tag, _ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _Function) noexcept;
__pattern_walk2(_Tag, _ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _Function&&) noexcept;

template <class _IsVector, class _ExecutionPolicy, class _RandomAccessIterator1, class _RandomAccessIterator2,
class _Function>
_RandomAccessIterator2
__pattern_walk2(__parallel_tag<_IsVector>, _ExecutionPolicy&&, _RandomAccessIterator1, _RandomAccessIterator1,
_RandomAccessIterator2, _Function);
_RandomAccessIterator2, _Function&&);

template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Function>
_ForwardIterator2
__pattern_walk2(__parallel_forward_tag, _ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2,
_Function);
_Function&&);

template <class _Tag, class _ExecutionPolicy, class _ForwardIterator1, class _Size, class _ForwardIterator2,
class _Function>
Expand Down
16 changes: 8 additions & 8 deletions include/oneapi/dpl/pstl/algorithm_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -278,25 +278,25 @@ __brick_walk2_n(_RandomAccessIterator1 __first1, _Size __n, _RandomAccessIterato
template <class _Tag, class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Function>
_ForwardIterator2
__pattern_walk2(_Tag, _ExecutionPolicy&&, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
_ForwardIterator2 __first2, _Function __f) noexcept
_ForwardIterator2 __first2, _Function&& __f) noexcept
{
static_assert(__is_serial_tag_v<_Tag>);

return __internal::__brick_walk2(__first1, __last1, __first2, __f, typename _Tag::__is_vector{});
return __internal::__brick_walk2(__first1, __last1, __first2, std::forward<_Function>(__f), typename _Tag::__is_vector{});
}

template <class _IsVector, class _ExecutionPolicy, class _RandomAccessIterator1, class _RandomAccessIterator2,
class _Function>
_RandomAccessIterator2
__pattern_walk2(__parallel_tag<_IsVector>, _ExecutionPolicy&& __exec, _RandomAccessIterator1 __first1,
_RandomAccessIterator1 __last1, _RandomAccessIterator2 __first2, _Function __f)
_RandomAccessIterator1 __last1, _RandomAccessIterator2 __first2, _Function&& __f)
{
using __backend_tag = typename __parallel_tag<_IsVector>::__backend_tag;

return __internal::__except_handler([&]() {
__par_backend::__parallel_for(
__backend_tag{}, ::std::forward<_ExecutionPolicy>(__exec), __first1, __last1,
[__f, __first1, __first2](_RandomAccessIterator1 __i, _RandomAccessIterator1 __j) {
[&__f, __first1, __first2](_RandomAccessIterator1 __i, _RandomAccessIterator1 __j) {
__internal::__brick_walk2(__i, __j, __first2 + (__i - __first1), __f, _IsVector{});
});
return __first2 + (__last1 - __first1);
Expand All @@ -306,7 +306,7 @@ __pattern_walk2(__parallel_tag<_IsVector>, _ExecutionPolicy&& __exec, _RandomAcc
template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Function>
_ForwardIterator2
__pattern_walk2(__parallel_forward_tag, _ExecutionPolicy&& __exec, _ForwardIterator1 __first1,
_ForwardIterator1 __last1, _ForwardIterator2 __first2, _Function __f)
_ForwardIterator1 __last1, _ForwardIterator2 __first2, _Function&& __f)
{
using __backend_tag = typename __parallel_forward_tag::__backend_tag;

Expand Down Expand Up @@ -346,10 +346,10 @@ template <class _IsVector, class _ExecutionPolicy, class _RandomAccessIterator1,
class _RandomAccessIterator2, class _Function>
_RandomAccessIterator2
__pattern_walk2_n(__parallel_tag<_IsVector> __tag, _ExecutionPolicy&& __exec, _RandomAccessIterator1 __first1,
_Size __n, _RandomAccessIterator2 __first2, _Function __f)
_Size __n, _RandomAccessIterator2 __first2, _Function&& __f)
{
return __internal::__pattern_walk2(__tag, ::std::forward<_ExecutionPolicy>(__exec), __first1, __first1 + __n,
__first2, __f);
return __internal::__pattern_walk2(__tag, std::forward<_ExecutionPolicy>(__exec), __first1, __first1 + __n,
__first2, std::forward<_Function>(__f));
}

template <class _Tag, class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Brick>
Expand Down
Loading
Loading