@@ -256,6 +256,9 @@ __pattern_find_if(__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _R
256
256
// find_end
257
257
// ------------------------------------------------------------------------
258
258
259
+ template <typename Name>
260
+ struct __equal_wrapper ;
261
+
259
262
template <typename _BackendTag, typename _ExecutionPolicy, typename _Range1, typename _Range2, typename _Pred>
260
263
oneapi::dpl::__internal::__difference_t <_Range1>
261
264
__pattern_find_end (__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _Range1&& __rng1, _Range2&& __rng2,
@@ -267,8 +270,11 @@ __pattern_find_end(__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _
267
270
268
271
if (__rng1.size () == __rng2.size ())
269
272
{
270
- const bool __res = __ranges::__pattern_equal (__tag, ::std::forward<_ExecutionPolicy>(__exec), __rng1,
271
- ::std::forward<_Range2>(__rng2), __pred);
273
+ const bool __res =
274
+ __ranges::__pattern_equal (__tag,
275
+ oneapi::dpl::__par_backend_hetero::make_wrapped_policy<__equal_wrapper>(
276
+ std::forward<_ExecutionPolicy>(__exec)),
277
+ __rng1, std::forward<_Range2>(__rng2), __pred);
272
278
return __res ? 0 : __rng1.size ();
273
279
}
274
280
@@ -377,11 +383,6 @@ __pattern_any_of(__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _R&
377
383
// search
378
384
// ------------------------------------------------------------------------
379
385
380
- template <typename Name>
381
- class equal_wrapper
382
- {
383
- };
384
-
385
386
template <typename _BackendTag, typename _ExecutionPolicy, typename _Range1, typename _Range2, typename _Pred>
386
387
oneapi::dpl::__internal::__difference_t <_Range1>
387
388
__pattern_search (__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _Range1&& __rng1, _Range2&& __rng2,
@@ -396,8 +397,8 @@ __pattern_search(__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _Ra
396
397
if (__rng1.size () == __rng2.size ())
397
398
{
398
399
const bool __res = __ranges::__pattern_equal (
399
- __tag, __par_backend_hetero::make_wrapped_policy<equal_wrapper>(:: std::forward<_ExecutionPolicy>(__exec)),
400
- __rng1, :: std::forward<_Range2>(__rng2), __pred);
400
+ __tag, __par_backend_hetero::make_wrapped_policy<__equal_wrapper>( std::forward<_ExecutionPolicy>(__exec)),
401
+ __rng1, std::forward<_Range2>(__rng2), __pred);
401
402
return __res ? 0 : __rng1.size ();
402
403
}
403
404
0 commit comments