thrust::all_of

Defined in thrust/logical.h

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

all_of determines whether all elements in a range satify a predicate. Specifically, all_of returns true if pred(*i) is true for every iterator i in the range [first, last) 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::all_of(thrust::host, A, A + 2, thrust::identity<bool>()); // returns true
thrust::all_of(thrust::host, A, A + 3, thrust::identity<bool>()); // returns false

// empty range
thrust::all_of(thrust::host, A, A, thrust::identity<bool>()); // returns false

See also

any_of

See also

none_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 all elements satisfy the predicate; false, otherwise.