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::ldg_pointer< T > Struct Template Reference

Detailed description

template< typename T>
struct nvbio::cuda::ldg_pointer< T >

Wrapper class to create an __ldg() iterator out of a raw pointer

Definition at line 44 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 ldg_pointer ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer (const T *base)
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer (const ldg_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 ldg_pointer
< T > & 
operator++ ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
< T > 
operator++ (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
< T > & 
operator-- ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
< T > 
operator-- (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
< T > 
operator+ (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
< T > 
operator- (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
< T > & 
operator+= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
< T > & 
operator-= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
difference_type 
operator- (const ldg_pointer< T > it) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE ldg_pointer
operator= (const ldg_pointer< T > &it)
 

Public Members

const T * m_base
 

Member Typedef Documentation

template<typename T>
typedef value_type nvbio::cuda::ldg_pointer< T >::const_reference

Definition at line 48 of file ldg.h.

template<typename T>
typedef std::iterator_traits<const T*>::difference_type nvbio::cuda::ldg_pointer< T >::difference_type

Definition at line 50 of file ldg.h.

template<typename T>
typedef std::random_access_iterator_tag nvbio::cuda::ldg_pointer< T >::iterator_category

Definition at line 51 of file ldg.h.

template<typename T>
typedef value_type* nvbio::cuda::ldg_pointer< T >::pointer

Definition at line 49 of file ldg.h.

template<typename T>
typedef value_type nvbio::cuda::ldg_pointer< T >::reference

Definition at line 47 of file ldg.h.

template<typename T>
typedef T nvbio::cuda::ldg_pointer< T >::value_type

Definition at line 46 of file ldg.h.

Constructor & Destructor Documentation

constructor

Definition at line 56 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::cuda::ldg_pointer< T >::ldg_pointer ( const T *  base)
inline

constructor

Definition at line 61 of file ldg.h.

copy constructor

Definition at line 66 of file ldg.h.

Member Function Documentation

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE value_type nvbio::cuda::ldg_pointer< T >::operator* ( ) const
inline

dereference operator

Definition at line 83 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer<T> nvbio::cuda::ldg_pointer< T >::operator+ ( const difference_type  i) const
inline

addition

Definition at line 133 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer<T>& nvbio::cuda::ldg_pointer< T >::operator++ ( )
inline

pre-increment

Definition at line 95 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer<T> nvbio::cuda::ldg_pointer< T >::operator++ ( int  i)
inline

post-increment

Definition at line 104 of file ldg.h.

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

addition

Definition at line 149 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer<T> nvbio::cuda::ldg_pointer< T >::operator- ( const difference_type  i) const
inline

subtraction

Definition at line 141 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE difference_type nvbio::cuda::ldg_pointer< T >::operator- ( const ldg_pointer< T >  it) const
inline

iterator subtraction

Definition at line 167 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer<T>& nvbio::cuda::ldg_pointer< T >::operator-- ( )
inline

pre-decrement

Definition at line 114 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer<T> nvbio::cuda::ldg_pointer< T >::operator-- ( int  i)
inline

post-decrement

Definition at line 123 of file ldg.h.

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

subtraction

Definition at line 158 of file ldg.h.

template<typename T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE ldg_pointer& nvbio::cuda::ldg_pointer< T >::operator= ( const ldg_pointer< T > &  it)
inline

assignment

Definition at line 175 of file ldg.h.

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

const indexing operator

Definition at line 71 of file ldg.h.

Member Data Documentation

template<typename T>
const T* nvbio::cuda::ldg_pointer< T >::m_base

Definition at line 181 of file ldg.h.


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