39#include "../thread/thread_load.cuh"
40#include "../thread/thread_store.cuh"
41#include "../util_device.cuh"
42#include "../util_namespace.cuh"
44#include <thrust/version.h>
46#if (THRUST_VERSION >= 100700)
48 #include <thrust/iterator/iterator_facade.h>
49 #include <thrust/iterator/iterator_traits.h>
110 typename InputIteratorT,
112 typename OutputValueT =
typename std::iterator_traits<InputIteratorT>::value_type>
124#if (THRUST_VERSION >= 100700)
126 typedef typename thrust::detail::iterator_facade_category<
127 thrust::any_system_tag,
128 thrust::random_access_traversal_tag,
171 retval.
value = itr[offset];
177 template <
typename Distance>
185 template <
typename Distance>
193 template <
typename Distance>
201 template <
typename Distance>
211 return offset - other.offset;
215 template <
typename Distance>
231 return ((itr == rhs.itr) && (offset == rhs.offset));
237 return ((itr != rhs.itr) || (offset != rhs.offset));
Optional outer namespace(s)
OffsetT OffsetT
[in] Total number of input data items
A key identifier paired with a corresponding value.