thrust
Functions
Logical
Reductions

Functions

template<class InputIterator , class Predicate >
bool thrust::all_of (InputIterator first, InputIterator last, Predicate pred)
template<class InputIterator , class Predicate >
bool thrust::any_of (InputIterator first, InputIterator last, Predicate pred)
template<class InputIterator , class Predicate >
bool thrust::none_of (InputIterator first, InputIterator last, Predicate pred)

Function Documentation

template<class InputIterator , class Predicate >
bool thrust::all_of ( 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.

Parameters:
firstThe beginning of the sequence.
lastThe end of the sequence.
predA predicate used to test range elements.
Returns:
true, if all elements satisfy the predicate; false, otherwise.
Template Parameters:
InputIteratoris a model of Input Iterator,
Predicatemust be a model of Predicate.
  #include <thrust/logical.h>
  #include <thrust/functional.h>
  ...
  bool A[3] = {true, true, false};

  thrust::all_of(A, A + 2, thrust::identity<bool>()); // returns true
  thrust::all_of(A, A + 3, thrust::identity<bool>()); // returns false

  // empty range
  thrust::all_of(A, A, thrust::identity<bool>()); // returns false
See also:
any_of
none_of
transform_reduce
template<class InputIterator , class Predicate >
bool thrust::any_of ( InputIterator  first,
InputIterator  last,
Predicate  pred 
)

any_of determines whether any element in a range satifies a predicate. Specifically, any_of returns true if pred(*i) is true for any iterator i in the range [first, last) and false otherwise.

Parameters:
firstThe beginning of the sequence.
lastThe end of the sequence.
predA predicate used to test range elements.
Returns:
true, if any element satisfies the predicate; false, otherwise.
Template Parameters:
InputIteratoris a model of Input Iterator,
Predicatemust be a model of Predicate.
  #include <thrust/logical.h>
  #include <thrust/functional.h>
  ...
  bool A[3] = {true, true, false};

  thrust::any_of(A, A + 2, thrust::identity<bool>()); // returns true
  thrust::any_of(A, A + 3, thrust::identity<bool>()); // returns true

  thrust::any_of(A + 2, A + 3, thrust::identity<bool>()); // returns false

  // empty range
  thrust::any_of(A, A, thrust::identity<bool>()); // returns false
See also:
all_of
none_of
transform_reduce
template<class InputIterator , class Predicate >
bool thrust::none_of ( 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.

Parameters:
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:
InputIteratoris a model of Input Iterator,
Predicatemust be a model of Predicate.
  #include <thrust/logical.h>
  #include <thrust/functional.h>
  ...
  bool A[3] = {true, true, false};

  thrust::none_of(A, A + 2, thrust::identity<bool>()); // returns false
  thrust::none_of(A, A + 3, thrust::identity<bool>()); // returns false

  thrust::none_of(A + 2, A + 3, thrust::identity<bool>()); // returns true

  // empty range
  thrust::none_of(A, A, thrust::identity<bool>()); // returns true
See also:
all_of
any_of
transform_reduce