CUB
|
A random-access input wrapper for pairing dereferenced values with their corresponding indices (forming KeyValuePair
tuples).
itr
of type InputIteratorT
. Dereferencing an ArgIndexInputIteratorTat offset i
produces a KeyValuePair
value whose key
field is i
and whose value
field is itr[i]
.ArgIndexInputIteratorTto
dereference an array of doubles InputIteratorT | The type of the wrapped input iterator |
OffsetT | The difference type of this iterator (Default: ptrdiff_t ) |
Definition at line 111 of file arg_index_input_iterator.cuh.
Public Types | |
typedef ArgIndexInputIterator | self_type |
My own type. | |
typedef OffsetT | difference_type |
Type to express the result of subtracting one iterator from another. | |
typedef KeyValuePair < difference_type, T > | value_type |
The type of the element the iterator can point to. | |
typedef value_type * | pointer |
The type of a pointer to an element the iterator can point to. | |
typedef value_type | reference |
The type of a reference to an element the iterator can point to. | |
typedef std::random_access_iterator_tag | iterator_category |
The iterator category. | |
Public Methods | |
__host__ __device__ __forceinline__ | ArgIndexInputIterator (InputIteratorT itr, difference_type offset=0) |
Constructor. More... | |
__host__ __device__ __forceinline__ self_type | operator++ (int) |
Postfix increment. | |
__host__ __device__ __forceinline__ self_type | operator++ () |
Prefix increment. | |
__host__ __device__ __forceinline__ reference | operator* () const |
Indirection. | |
template<typename Distance > | |
__host__ __device__ __forceinline__ self_type | operator+ (Distance n) const |
Addition. | |
template<typename Distance > | |
__host__ __device__ __forceinline__ self_type & | operator+= (Distance n) |
Addition assignment. | |
template<typename Distance > | |
__host__ __device__ __forceinline__ self_type | operator- (Distance n) const |
Subtraction. | |
template<typename Distance > | |
__host__ __device__ __forceinline__ self_type & | operator-= (Distance n) |
Subtraction assignment. | |
__host__ __device__ __forceinline__ difference_type | operator- (self_type other) const |
Distance. | |
template<typename Distance > | |
__host__ __device__ __forceinline__ reference | operator[] (Distance n) const |
Array subscript. | |
__host__ __device__ __forceinline__ pointer | operator-> () |
Structure dereference. | |
__host__ __device__ __forceinline__ bool | operator== (const self_type &rhs) |
Equal to. | |
__host__ __device__ __forceinline__ bool | operator!= (const self_type &rhs) |
Not equal to. | |
__host__ __device__ __forceinline__ void | normalize () |
Normalize. | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const self_type &itr) |
ostream operator | |
|
inline |
Constructor.
itr | Input iterator to wrap |
offset | OffsetT (in items) from itr denoting the position of the iterator |
Definition at line 148 of file arg_index_input_iterator.cuh.