@@ -173,22 +173,24 @@ __pattern_swap(__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _Rang
173
173
if (__rng1.size () <= __rng2.size ())
174
174
{
175
175
std::size_t __n = __rng1.size ();
176
- auto __exec1 = oneapi::dpl::__par_backend_hetero::make_wrapped_policy<__swap1_wrapper>(std::forward<_ExecutionPolicy>(__exec));
176
+ auto __exec1 = oneapi::dpl::__par_backend_hetero::make_wrapped_policy<__swap1_wrapper>(
177
+ std::forward<_ExecutionPolicy>(__exec));
177
178
auto __future = oneapi::dpl::__par_backend_hetero::__parallel_for (
178
179
_BackendTag{}, std::move (__exec1),
179
- unseq_backend::__brick_swap<decltype (__exec1), _Function, _Range1, _Range2>{
180
+ unseq_backend::__brick_swap<decltype (__exec1), _Function, std:: decay_t < _Range1>, std:: decay_t < _Range2> >{
180
181
{}, __f, __n},
181
182
__n, __rng1, __rng2);
182
183
__future.wait (__par_backend_hetero::__deferrable_mode{});
183
184
return __n;
184
185
}
185
186
std::size_t __n = __rng2.size ();
186
- auto __exec2 = oneapi::dpl::__par_backend_hetero::make_wrapped_policy<__swap2_wrapper>(std::forward<_ExecutionPolicy>(__exec));
187
+ auto __exec2 =
188
+ oneapi::dpl::__par_backend_hetero::make_wrapped_policy<__swap2_wrapper>(std::forward<_ExecutionPolicy>(__exec));
187
189
auto __future = oneapi::dpl::__par_backend_hetero::__parallel_for (
188
- _BackendTag{}, std::move (__exec2),
189
- unseq_backend::__brick_swap<decltype (__exec2), _Function, _Range2, _Range1>{
190
- {}, __f, __n},
191
- __n, __rng2, __rng1);
190
+ _BackendTag{}, std::move (__exec2),
191
+ unseq_backend::__brick_swap<decltype (__exec2), _Function, std:: decay_t < _Range2>, std:: decay_t < _Range1> >{
192
+ {}, __f, __n},
193
+ __n, __rng2, __rng1);
192
194
__future.wait (__par_backend_hetero::__deferrable_mode{});
193
195
return __n;
194
196
}
0 commit comments