NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Public Members | List of all members
nvbio::cuda::load_pointer< T, MOD > Struct Template Reference

Detailed description

template< typename T, CacheLoadModifier MOD>
struct nvbio::cuda::load_pointer< T, MOD >

Wrapper class to create a cub::ThreadLoad iterator out of a raw pointer

Definition at line 223 of file ldg.h.

#include <ldg.h>

Public Types

typedef T value_type
 
typedef value_type reference
 
typedef value_type const_reference
 
typedef value_typepointer
 
typedef std::iterator_traits
< const T * >::difference_type 
difference_type
 
typedef
std::random_access_iterator_tag 
iterator_category
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer (const T *base)
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer (const load_pointer &it)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE value_type 
operator[] (const uint32 i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE value_type 
operator* () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD > & 
operator++ ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD
operator++ (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD > & 
operator-- ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD
operator-- (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD
operator+ (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD
operator- (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD > & 
operator+= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
< T, MOD > & 
operator-= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
difference_type 
operator- (const load_pointer< T, MOD > it) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE load_pointer
operator= (const load_pointer< T, MOD > &it)
 

Public Members

const T * m_base
 

Member Typedef Documentation

template<typename T, CacheLoadModifier MOD>
typedef value_type nvbio::cuda::load_pointer< T, MOD >::const_reference

Definition at line 227 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
typedef std::iterator_traits<const T*>::difference_type nvbio::cuda::load_pointer< T, MOD >::difference_type

Definition at line 229 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
typedef std::random_access_iterator_tag nvbio::cuda::load_pointer< T, MOD >::iterator_category

Definition at line 230 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
typedef value_type* nvbio::cuda::load_pointer< T, MOD >::pointer

Definition at line 228 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
typedef value_type nvbio::cuda::load_pointer< T, MOD >::reference

Definition at line 226 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
typedef T nvbio::cuda::load_pointer< T, MOD >::value_type

Definition at line 225 of file ldg.h.

Constructor & Destructor Documentation

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::cuda::load_pointer< T, MOD >::load_pointer ( )
inline

constructor

Definition at line 235 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::cuda::load_pointer< T, MOD >::load_pointer ( const T *  base)
inline

constructor

Definition at line 240 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::cuda::load_pointer< T, MOD >::load_pointer ( const load_pointer< T, MOD > &  it)
inline

copy constructor

Definition at line 245 of file ldg.h.

Member Function Documentation

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE value_type nvbio::cuda::load_pointer< T, MOD >::operator* ( ) const
inline

dereference operator

Definition at line 262 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD> nvbio::cuda::load_pointer< T, MOD >::operator+ ( const difference_type  i) const
inline

addition

Definition at line 312 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD>& nvbio::cuda::load_pointer< T, MOD >::operator++ ( )
inline

pre-increment

Definition at line 274 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD> nvbio::cuda::load_pointer< T, MOD >::operator++ ( int  i)
inline

post-increment

Definition at line 283 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD>& nvbio::cuda::load_pointer< T, MOD >::operator+= ( const difference_type  i)
inline

addition

Definition at line 328 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD> nvbio::cuda::load_pointer< T, MOD >::operator- ( const difference_type  i) const
inline

subtraction

Definition at line 320 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE difference_type nvbio::cuda::load_pointer< T, MOD >::operator- ( const load_pointer< T, MOD it) const
inline

iterator subtraction

Definition at line 346 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD>& nvbio::cuda::load_pointer< T, MOD >::operator-- ( )
inline

pre-decrement

Definition at line 293 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD> nvbio::cuda::load_pointer< T, MOD >::operator-- ( int  i)
inline

post-decrement

Definition at line 302 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer<T,MOD>& nvbio::cuda::load_pointer< T, MOD >::operator-= ( const difference_type  i)
inline

subtraction

Definition at line 337 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE load_pointer& nvbio::cuda::load_pointer< T, MOD >::operator= ( const load_pointer< T, MOD > &  it)
inline

assignment

Definition at line 354 of file ldg.h.

template<typename T, CacheLoadModifier MOD>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE value_type nvbio::cuda::load_pointer< T, MOD >::operator[] ( const uint32  i) const
inline

const indexing operator

Definition at line 250 of file ldg.h.

Member Data Documentation

template<typename T, CacheLoadModifier MOD>
const T* nvbio::cuda::load_pointer< T, MOD >::m_base

Definition at line 360 of file ldg.h.


The documentation for this struct was generated from the following file: