thrust::find_if
Defined in thrust/find.h
- 
template<typename DerivedPolicy, typename InputIterator, typename Predicate>
 InputIterator thrust::find_if(const thrust::detail::execution_policy_base<DerivedPolicy> &exec, InputIterator first, InputIterator last, Predicate pred)
- find_ifreturns the first iterator- iin the range- [first, last)such that- pred(*i)is- trueor- lastif no such iterator exists.- The algorithm’s execution is parallelized as determined by - exec.- #include <thrust/find.h> #include <thrust/device_vector.h> #include <thrust/execution_policy.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(thrust::device, input.begin(), input.end(), greater_than_four()); // returns input.first() + 1 iter = thrust::find_if(thrust::device, input.begin(), input.end(), greater_than_ten()); // returns input.end() - See also - find - See also - find_if_not - See also - mismatch - Parameters
- exec – The execution policy to use for parallelization. 
- first – Beginning of the sequence to search. 
- last – End of the sequence to search. 
- 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 – is a model of Predicate. 
 
- Returns
- The first iterator - isuch that- pred(*i)is- true, or- last.