Template Function thrust::is_partitioned(InputIterator, InputIterator, Predicate)¶
Function Documentation¶
-
template<typename
InputIterator, typenamePredicate>
boolthrust::is_partitioned(InputIterator first, InputIterator last, Predicate pred) is_partitionedreturnstrueif the given range is partitioned with respect to a predicate, andfalseotherwise.Specifically,
is_partitionedreturnstrueif[first, last)is empty of if[first, last)is partitioned bypred, i.e. if all elements that satisfypredappear 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
- Return
trueif the range[first, last)is partitioned with respect topred, or if[first, last)is empty.false, otherwise.- 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, andInputIterator'svalue_typeis convertible toPredicate'sargument_type.Predicate: is a model of Predicate.
- See
partition