Template Function thrust::find_if(InputIterator, InputIterator, Predicate)

Function Documentation

template<typename InputIterator, typename Predicate>
InputIterator thrust::find_if(InputIterator first, InputIterator last, Predicate pred)

find_if returns the first iterator i in the range [first, last) such that pred(*i) is true or last if no such iterator exists.

#include <thrust/find.h>
#include <thrust/device_vector.h>

struct greater_than_four
{
  __host__ __device__
  bool operator()(int x)
  {
    return x > 4;
  }
};

struct greater_than_ten
{
  __host__ __device__
  bool operator()(int x)
  {
    return x > 10;
  }
};

...
thrust::device_vector<int> input(4);

input[0] = 0;
input[1] = 5;
input[2] = 3;
input[3] = 7;

thrust::device_vector<int>::iterator iter;

iter = thrust::find_if(input.begin(), input.end(), greater_than_four()); // returns input.first() + 1

iter = thrust::find_if(input.begin(), input.end(), greater_than_ten());  // returns input.end()
Return

The first iterator i such that pred(*i) is true, or last.

Parameters
  • first: Beginning of the sequence to search.

  • last: End of the sequence to search.

  • pred: A predicate used to test range elements.

Template Parameters

See

find

See

find_if_not

See

mismatch