Skip to content

Commit c57830c

Browse files
Fix definition with same mangled name in find_end (#2298)
* Fix mangled name with wrapper Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com> * change to struct Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com> --------- Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
1 parent 8966ebd commit c57830c

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,9 @@ __pattern_find_if(__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _R
256256
// find_end
257257
//------------------------------------------------------------------------
258258

259+
template <typename Name>
260+
struct __equal_wrapper;
261+
259262
template <typename _BackendTag, typename _ExecutionPolicy, typename _Range1, typename _Range2, typename _Pred>
260263
oneapi::dpl::__internal::__difference_t<_Range1>
261264
__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, _
267270

268271
if (__rng1.size() == __rng2.size())
269272
{
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);
272278
return __res ? 0 : __rng1.size();
273279
}
274280

@@ -377,11 +383,6 @@ __pattern_any_of(__hetero_tag<_BackendTag> __tag, _ExecutionPolicy&& __exec, _R&
377383
// search
378384
//------------------------------------------------------------------------
379385

380-
template <typename Name>
381-
class equal_wrapper
382-
{
383-
};
384-
385386
template <typename _BackendTag, typename _ExecutionPolicy, typename _Range1, typename _Range2, typename _Pred>
386387
oneapi::dpl::__internal::__difference_t<_Range1>
387388
__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
396397
if (__rng1.size() == __rng2.size())
397398
{
398399
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);
401402
return __res ? 0 : __rng1.size();
402403
}
403404

0 commit comments

Comments
 (0)