| 
| __HOST__ __DEVICE__  | striding_ptr (pointer ptr=pointer(), size_type stride=0) | 
|   | 
| __HOST__ __DEVICE__  | striding_ptr (const striding_ptr &src) | 
|   | 
| template<typename U , typename Q >  | 
| __HOST__ __DEVICE__  | striding_ptr (const striding_ptr< U, Q > &src) | 
|   | 
| __HOST__ __DEVICE__ pointer  | get () const  | 
|   | 
| __HOST__ __DEVICE__ size_type  | get_stride () const  | 
|   | 
| __DEVICE__ reference  | operator* () | 
|   | 
| __DEVICE__ const_reference  | operator* () const  | 
|   | 
| __DEVICE__ pointer  | operator-> () const  | 
|   | 
| __DEVICE__ reference  | operator[] (std::size_t i) | 
|   | 
| __DEVICE__ const_reference  | operator[] (std::size_t i) const  | 
|   | 
| __HOST__ __DEVICE__ striding_ptr &  | operator++ () | 
|   | 
| __HOST__ __DEVICE__ striding_ptr &  | operator-- () | 
|   | 
| __HOST__ __DEVICE__ striding_ptr  | operator++ (int) | 
|   | 
| __HOST__ __DEVICE__ striding_ptr  | operator-- (int) | 
|   | 
| __HOST__ __DEVICE__ striding_ptr &  | operator+= (int x) | 
|   | 
| __HOST__ __DEVICE__ striding_ptr &  | operator-= (int x) | 
|   | 
| __HOST__ __DEVICE__ striding_ptr  | operator+ (int x) const  | 
|   | 
| __HOST__ __DEVICE__ striding_ptr  | operator- (int x) const  | 
|   | 
| template<typename T2 , typename P2 >  | 
| __HOST__ __DEVICE__ bool  | operator== (const striding_ptr< T2, P2 > &other) const  | 
|   | 
| template<typename T2 , typename P2 >  | 
| __HOST__ __DEVICE__ bool  | operator!= (const striding_ptr< T2, P2 > &other) const  | 
|   | 
| template<typename T2 , typename P2 >  | 
| __HOST__ __DEVICE__ bool  | operator< (const striding_ptr< T2, P2 > &other) const  | 
|   | 
| template<typename T2 , typename P2 >  | 
| __HOST__ __DEVICE__ bool  | operator> (const striding_ptr< T2, P2 > &other) const  | 
|   | 
| template<typename T2 , typename P2 >  | 
| __HOST__ __DEVICE__ bool  | operator<= (const striding_ptr< T2, P2 > &other) const  | 
|   | 
| template<typename T2 , typename P2 >  | 
| __HOST__ __DEVICE__ bool  | operator>= (const striding_ptr< T2, P2 > &other) const  | 
|   | 
template<typename T, typename P = typename ecuda::add_pointer<T>::type>
class ecuda::striding_ptr< T, P >
A specialized pointer to striding memory. 
A specialized pointer to device memory where traversal of the data takes into a "stride", or a fixed number of elements that are skipped each time the pointer is incremented.
The specialization is used to create certain views of a matrix or cube (e.g. single matrix column).
Memory use can be conceptualized as: 
|--- stride ----| 
+-+-------------+
| |xxxxxxxxxxxxx|
| |xxxxxxxxxxxxx| x = allocated but not used
| |xxxxxxxxxxxxx|
| |xxxxxxxxxxxxx|
| |xxxxxxxxxxxxx|
| |xxxxxxxxxxxxx| ... etc. (total size of the allocation is not known internally by 
striding_ptr)
 
+-+--------+----+
For example, a pointer that will traverse the first column of a 10x5 matrix containing elements of type T could be represented with striding_ptr<T>(ptr,5), where ptr points to the first element of the matrix. 
Definition at line 78 of file striding_ptr.hpp.