thrust::distance

Defined in thrust/distance.h

template<typename InputIterator>
inline thrust::iterator_traits<InputIterator>::difference_type thrust::distance(InputIterator first, InputIterator last)

distance finds the distance between first and last, i.e. the number of times that first must be incremented until it is equal to last.

The following code snippet demonstrates how to use distance to compute the distance to one iterator from another.

#include <thrust/distance.h>
#include <thrust/device_vector.h>
...
thrust::device_vector<int> vec(13);
thrust::device_vector<int>::iterator iter1 = vec.begin();
thrust::device_vector<int>::iterator iter2 = iter1 + 7;

int d = thrust::distance(iter1, iter2);

// d is 7

Parameters
  • first – The beginning of an input range of interest.

  • last – The end of an input range of interest.

Template Parameters

InputIterator – is a model of Input Iterator.

Returns

The distance between the beginning and end of the input range.

Pre

If InputIterator meets the requirements of random access iterator, last shall be reachable from first or first shall be reachable from last; otherwise, last shall be reachable from first.