thrust

◆ none_of() [1/2]

template<typename DerivedPolicy , typename InputIterator , typename Predicate >
__host__ __device__ bool thrust::none_of ( const thrust::detail::execution_policy_base< DerivedPolicy > &  exec,
InputIterator  first,
InputIterator  last,
Predicate  pred 
)

none_of determines whether no element in a range satifies a predicate. Specifically, none_of returns true if there is no iterator i in the range [first, last) such that pred(*i) is true, and false otherwise.

The algorithm's execution is parallelized as determined by exec.

Parameters
execThe execution policy to use for parallelization.
firstThe beginning of the sequence.
lastThe end of the sequence.
predA predicate used to test range elements.
Returns
true, if no element satisfies the predicate; false, otherwise.
Template Parameters
DerivedPolicyThe name of the derived execution policy.
InputIteratoris a model of Input Iterator,
Predicatemust be a model of Predicate.
#include <thrust/logical.h>
...
bool A[3] = {true, true, false};
thrust::none_of(thrust::host, A, A + 2, thrust::identity<bool>()); // returns false
thrust::none_of(thrust::host, A, A + 3, thrust::identity<bool>()); // returns false
thrust::none_of(thrust::host, A + 2, A + 3, thrust::identity<bool>()); // returns true
// empty range
See also
all_of
any_of
transform_reduce