thrust

◆ find_if() [2/2]

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.

Parameters
firstBeginning of the sequence to search.
lastEnd of the sequence to search.
predA predicate used to test range elements.
Returns
The first iterator i such that pred(*i) is true, or last.
Template Parameters
InputIteratoris a model of Input Iterator.
Predicateis a model of Predicate.
#include <thrust/find.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;
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()
See also
find
find_if_not
mismatch