()>* = nullptr>
inline bool is_partitioned(execution::parallel_unsequenced_policy, I f, I l, P p)
{
::hipstd::__maybe_bind_globals();
::hipstd::warn_if_no_xnack();
return ::thrust::is_partitioned(::thrust::device, f, l, ::std::move(p));
}
template ()>* = nullptr>
inline bool is_partitioned(execution::parallel_unsequenced_policy, I f, I l, P p)
{
if constexpr (!::hipstd::is_offloadable_iterator())
{
::hipstd::unsupported_iterator_category ())
{
::hipstd::unsupported_callable_type ();
}
return ::std::is_partitioned(::std::execution::par, f, l, ::std::move(p));
}
// END IS_PARTITIONED
// BEGIN PARTITION
template ()>* = nullptr>
inline I partition(execution::parallel_unsequenced_policy, I f, I l, P p)
{
::hipstd::__maybe_bind_globals();
::hipstd::warn_if_no_xnack();
return ::thrust::partition(::thrust::device, f, l, ::std::move(p));
}
template ()>* = nullptr>
inline I partition(execution::parallel_unsequenced_policy, I f, I l, P p)
{
if constexpr (!::hipstd::is_offloadable_iterator())
{
::hipstd::unsupported_iterator_category ())
{
::hipstd::unsupported_callable_type ();
}
return ::std::partition(::std::execution::par, f, l, ::std::move(p));
}
// END PARTITION
// BEGIN PARTITION_COPY
template <
typename I,
typename O0,
typename O1,
typename P,
enable_if_t<::hipstd::is_offloadable_iterator() && ::hipstd::is_offloadable_callable ()>* = nullptr>
inline pair ()>* = nullptr>
inline pair ())
{
::hipstd::unsupported_callable_type ();
}
return ::std::partition_copy(::std::execution::par, f, l, fo0, fo1, ::std::move(p));
}
// END PARTITION_COPY
// BEGIN STABLE_PARTITION
template ()>* = nullptr>
inline I stable_partition(execution::parallel_unsequenced_policy, I f, I l, P p)
{
::hipstd::__maybe_bind_globals();
::hipstd::warn_if_no_xnack();
return ::thrust::stable_partition(::thrust::device, f, l, ::std::move(p));
}
template ()>* = nullptr>
inline I stable_partition(execution::parallel_unsequenced_policy, I f, I l, P p)
{
if constexpr (!::hipstd::is_offloadable_iterator())
{
::hipstd::unsupported_iterator_category ())
{
::hipstd::unsupported_callable_type ();
}
return ::std::stable_partition(::std::execution::par, f, l, ::std::move(p));
}
// END STABLE_PARTITION
} // namespace std
#else // __HIPSTDPAR__
# error "__HIPSTDPAR__ should be defined. Please use the '--hipstdpar' compile option."
#endif // __HIPSTDPAR__