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::index_transform_iterator< T, Transform > Struct Template Reference

Detailed description

template< typename T, typename Transform>
struct nvbio::index_transform_iterator< T, Transform >

Wrapper class to create a transform iterator out of another base iterator and an index transformation functor

Definition at line 47 of file index_transform_iterator.h.

#include <index_transform_iterator.h>

Public Types

typedef
index_transform_iterator< T,
Transform > 
this_type
 
typedef Transform::result_type value_type
 
typedef iterator_reference
< this_type
reference
 
typedef value_type const_reference
 
typedef value_typepointer
 
typedef std::iterator_traits
< T >::difference_type 
difference_type
 
typedef
std::random_access_iterator_tag 
iterator_category
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator (const T base, const Transform f, const difference_type i=0)
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator (const index_transform_iterator &it)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
set (const value_type v)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
const_reference 
operator[] (const uint32 i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE reference 
operator[] (const uint32 i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE value_type 
operator* () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE reference 
operator* ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > & 
operator++ ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > 
operator++ (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > & 
operator-- ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > 
operator-- (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > 
operator+ (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > 
operator- (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > & 
operator+= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator< T,
Transform > & 
operator-= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
difference_type 
operator- (const index_transform_iterator< T, Transform > it) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
index_transform_iterator
operator= (const index_transform_iterator< T, Transform > &it)
 

Public Members

m_base
 
Transform m_f
 
difference_type m_index
 

Member Typedef Documentation

template<typename T, typename Transform>
typedef value_type nvbio::index_transform_iterator< T, Transform >::const_reference

Definition at line 52 of file index_transform_iterator.h.

template<typename T, typename Transform>
typedef std::iterator_traits<T>::difference_type nvbio::index_transform_iterator< T, Transform >::difference_type

Definition at line 54 of file index_transform_iterator.h.

template<typename T, typename Transform>
typedef std::random_access_iterator_tag nvbio::index_transform_iterator< T, Transform >::iterator_category

Definition at line 56 of file index_transform_iterator.h.

template<typename T, typename Transform>
typedef value_type* nvbio::index_transform_iterator< T, Transform >::pointer

Definition at line 53 of file index_transform_iterator.h.

template<typename T, typename Transform>
typedef iterator_reference<this_type> nvbio::index_transform_iterator< T, Transform >::reference

Definition at line 51 of file index_transform_iterator.h.

template<typename T, typename Transform>
typedef index_transform_iterator<T,Transform> nvbio::index_transform_iterator< T, Transform >::this_type

Definition at line 49 of file index_transform_iterator.h.

template<typename T, typename Transform>
typedef Transform::result_type nvbio::index_transform_iterator< T, Transform >::value_type

Definition at line 50 of file index_transform_iterator.h.

Constructor & Destructor Documentation

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::index_transform_iterator< T, Transform >::index_transform_iterator ( )
inline

constructor

Definition at line 61 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::index_transform_iterator< T, Transform >::index_transform_iterator ( const base,
const Transform  f,
const difference_type  i = 0 
)
inline

constructor

Definition at line 66 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::index_transform_iterator< T, Transform >::index_transform_iterator ( const index_transform_iterator< T, Transform > &  it)
inline

copy constructor

Definition at line 71 of file index_transform_iterator.h.

Member Function Documentation

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE value_type nvbio::index_transform_iterator< T, Transform >::operator* ( ) const
inline

dereference operator

Definition at line 91 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE reference nvbio::index_transform_iterator< T, Transform >::operator* ( )
inline

dereference operator

Definition at line 96 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform> nvbio::index_transform_iterator< T, Transform >::operator+ ( const difference_type  i) const
inline

addition

Definition at line 139 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform>& nvbio::index_transform_iterator< T, Transform >::operator++ ( )
inline

pre-increment

Definition at line 101 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform> nvbio::index_transform_iterator< T, Transform >::operator++ ( int  i)
inline

post-increment

Definition at line 110 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform>& nvbio::index_transform_iterator< T, Transform >::operator+= ( const difference_type  i)
inline

addition

Definition at line 155 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform> nvbio::index_transform_iterator< T, Transform >::operator- ( const difference_type  i) const
inline

subtraction

Definition at line 147 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE difference_type nvbio::index_transform_iterator< T, Transform >::operator- ( const index_transform_iterator< T, Transform >  it) const
inline

iterator subtraction

Definition at line 173 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform>& nvbio::index_transform_iterator< T, Transform >::operator-- ( )
inline

pre-decrement

Definition at line 120 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform> nvbio::index_transform_iterator< T, Transform >::operator-- ( int  i)
inline

post-decrement

Definition at line 129 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator<T,Transform>& nvbio::index_transform_iterator< T, Transform >::operator-= ( const difference_type  i)
inline

subtraction

Definition at line 164 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_transform_iterator& nvbio::index_transform_iterator< T, Transform >::operator= ( const index_transform_iterator< T, Transform > &  it)
inline

assignment

Definition at line 181 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE const_reference nvbio::index_transform_iterator< T, Transform >::operator[] ( const uint32  i) const
inline

const indexing operator

Definition at line 81 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE reference nvbio::index_transform_iterator< T, Transform >::operator[] ( const uint32  i)
inline

const indexing operator

Definition at line 86 of file index_transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::index_transform_iterator< T, Transform >::set ( const value_type  v)
inline

set method

Definition at line 76 of file index_transform_iterator.h.

Member Data Documentation

template<typename T, typename Transform>
T nvbio::index_transform_iterator< T, Transform >::m_base

Definition at line 189 of file index_transform_iterator.h.

template<typename T, typename Transform>
Transform nvbio::index_transform_iterator< T, Transform >::m_f

Definition at line 190 of file index_transform_iterator.h.

template<typename T, typename Transform>
difference_type nvbio::index_transform_iterator< T, Transform >::m_index

Definition at line 191 of file index_transform_iterator.h.


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