cub::CountingInputIterator
Defined in cub/iterator/counting_input_iterator.cuh
-
template<typename ValueType, typename OffsetT = ptrdiff_t>
class CountingInputIterator A random-access input generator for dereferencing a sequence of incrementing integer values.
- Overview
After initializing a CountingInputIterator to a certain integer
base
, read references atoffset
will return the valuebase
+offset
.Can be constructed, manipulated, dereferenced, and exchanged within and between host and device functions.
Compatible with Thrust API v1.7 or newer.
- Snippet
The code snippet below illustrates the use of
CountingInputIterator
to dereference a sequence of incrementing integers.#include <cub/cub.cuh> // or equivalently <cub/iterator/counting_input_iterator.cuh> cub::CountingInputIterator<int> itr(5); printf("%d\n", itr[0]); // 5 printf("%d\n", itr[1]); // 6 printf("%d\n", itr[2]); // 7 printf("%d\n", itr[50]); // 55
- Template Parameters
ValueType – The value type of this iterator
OffsetT – The difference type of this iterator (Default:
ptrdiff_t
)
Public Types
-
using self_type = CountingInputIterator
My own type.
-
using difference_type = OffsetT
Type to express the result of subtracting one iterator from another.
-
using iterator_category = typename THRUST_NS_QUALIFIER::detail::iterator_facade_category<THRUST_NS_QUALIFIER::any_system_tag, THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference>::type
Public Functions
-
inline CountingInputIterator(const ValueType &val)
- Parameters
val – Starting value for the iterator instance to report
-
inline difference_type operator-(self_type other) const
Distance.