none_of#

Overloads#

none_of(exec, first, last, pred)#

template<typename DerivedPolicy, typename InputIterator, typename Predicate>
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 satisfies 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.

#include <thrust/logical.h>
#include <thrust/functional.h>
#include <thrust/execution_policy.h>
...
bool A[3] = {true, true, false};

thrust::none_of(thrust::host, A, A + 2, ::cuda::std::identity{}); // returns false
thrust::none_of(thrust::host, A, A + 3, ::cuda::std::identity{}); // returns false

thrust::none_of(thrust::host, A + 2, A + 3, ::cuda::std::identity{}); // returns true

// empty range
thrust::none_of(thrust::host, A, A, ::cuda::std::identity{}); // returns true

See also

all_of

See also

any_of

See also

transform_reduce

Parameters:
  • exec – The execution policy to use for parallelization.

  • first – The beginning of the sequence.

  • last – The end of the sequence.

  • pred – A predicate used to test range elements.

Template Parameters:
  • DerivedPolicy – The name of the derived execution policy.

  • InputIterator – is a model of Input Iterator,

  • Predicate – must be a model of Predicate.

Returns:

true, if no element satisfies the predicate; false, otherwise.

none_of(first, last, pred)#

template<typename InputIterator, typename Predicate>
bool thrust::none_of(
InputIterator first,
InputIterator last,
Predicate pred,
)#

none_of determines whether no element in a range satisfies 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.

#include <thrust/logical.h>
#include <thrust/functional.h>
...
bool A[3] = {true, true, false};

thrust::none_of(A, A + 2, ::cuda::std::identity{}); // returns false
thrust::none_of(A, A + 3, ::cuda::std::identity{}); // returns false

thrust::none_of(A + 2, A + 3, ::cuda::std::identity{}); // returns true

// empty range
thrust::none_of(A, A, ::cuda::std::identity{}); // returns true

See also

all_of

See also

any_of

See also

transform_reduce

Parameters:
  • first – The beginning of the sequence.

  • last – The end of the sequence.

  • pred – A predicate used to test range elements.

Template Parameters:
Returns:

true, if no element satisfies the predicate; false, otherwise.