thrust

◆ count() [2/2]

template<typename InputIterator , typename EqualityComparable >
thrust::iterator_traits<InputIterator>::difference_type thrust::count ( InputIterator  first,
InputIterator  last,
const EqualityComparable &  value 
)

count finds the number of elements in [first,last) that are equal to value. More precisely, count returns the number of iterators i in [first, last) such that *i == value.

Parameters
firstThe beginning of the sequence.
lastThe end of the sequence.
valueThe value to be counted.
Returns
The number of elements equal to value.
Template Parameters
InputIteratormust be a model of Input Iterator and InputIterator's value_type must be a model of must be a model of Equality Comparable.
EqualityComparablemust be a model of Equality Comparable and can be compared for equality with InputIterator's value_type

The following code snippet demonstrates how to use count to count the number of instances in a range of a value of interest.

#include <thrust/count.h>
...
// put 3 1s in a device_vector
thrust::device_vector<int> vec(5,0);
vec[1] = 1;
vec[3] = 1;
vec[4] = 1;
// count the 1s
int result = thrust::count(vec.begin(), vec.end(), 1);
// result == 3
See also
http://www.sgi.com/tech/stl/count.html