is_partitioned
#
Overloads#
is_partitioned(exec, first, last, pred)
#
-
template<typename DerivedPolicy, typename InputIterator, typename Predicate>
bool thrust::is_partitioned( - const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
- InputIterator first,
- InputIterator last,
- Predicate pred,
is_partitioned
returnstrue
if the given range is partitioned with respect to a predicate, andfalse
otherwise.Specifically,
is_partitioned
returnstrue
if[first, last)
is empty of if[first, last)
is partitioned bypred
, i.e. if all elements that satisfypred
appear before those that do not.The algorithm’s execution is parallelized as determined by
exec
.#include <thrust/partition.h> #include <thrust/execution_policy.h> struct is_even { __host__ __device__ bool operator()(const int &x) { return (x % 2) == 0; } }; ... int A[] = {2, 4, 6, 8, 10, 1, 3, 5, 7, 9}; int B[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; thrust::is_partitioned(thrust::host, A, A + 10, is_even()); // returns true thrust::is_partitioned(thrust::host, B, B + 10, is_even()); // returns false
See also
- Parameters:
exec – The execution policy to use for parallelization.
first – The beginning of the range to consider.
last – The end of the range to consider.
pred – A function object which decides to which partition each element of the range
[first, last)
belongs.
- Template Parameters:
DerivedPolicy – The name of the derived execution policy.
InputIterator – is a model of Input Iterator, and
InputIterator's
value_type
is convertible toPredicate's
argument type.Predicate – is a model of Predicate.
- Returns:
true
if the range[first, last)
is partitioned with respect topred
, or if[first, last)
is empty.false
, otherwise.
is_partitioned(first, last, pred)
#
-
template<typename InputIterator, typename Predicate>
bool thrust::is_partitioned( - InputIterator first,
- InputIterator last,
- Predicate pred,
is_partitioned
returnstrue
if the given range is partitioned with respect to a predicate, andfalse
otherwise.Specifically,
is_partitioned
returnstrue
if[first, last)
is empty of if[first, last)
is partitioned bypred
, i.e. if all elements that satisfypred
appear before those that do not.#include <thrust/partition.h> struct is_even { __host__ __device__ bool operator()(const int &x) { return (x % 2) == 0; } }; ... int A[] = {2, 4, 6, 8, 10, 1, 3, 5, 7, 9}; int B[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; thrust::is_partitioned(A, A + 10, is_even()); // returns true thrust::is_partitioned(B, B + 10, is_even()); // returns false
See also
- Parameters:
first – The beginning of the range to consider.
last – The end of the range to consider.
pred – A function object which decides to which partition each element of the range
[first, last)
belongs.
- Template Parameters:
InputIterator – is a model of Input Iterator, and
InputIterator's
value_type
is convertible toPredicate's
argument type.Predicate – is a model of Predicate.
- Returns:
true
if the range[first, last)
is partitioned with respect topred
, or if[first, last)
is empty.false
, otherwise.