Template Function thrust::distance

Function Documentation

template<typename InputIterator>__host__ __device__ 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.
Return

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.

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

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

Template Parameters

#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

See

http://www.sgi.com/tech/stl/distance.html