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

Detailed description

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

Wrapper class to create a transform iterator out of another base iterator and a function

Definition at line 46 of file transform_iterator.h.

#include <transform_iterator.h>

Public Types

typedef Transform::result_type value_type
 
typedef value_typereference
 
typedef value_type const_reference
 
typedef value_typepointer
 
typedef std::iterator_traits
< T >::difference_type 
difference_type
 
typedef std::iterator_traits
< T >::iterator_category 
iterator_category
 

Public Methods

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

Public Members

m_base
 
Transform m_f
 

Member Typedef Documentation

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

Definition at line 50 of file transform_iterator.h.

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

Definition at line 52 of file transform_iterator.h.

template<typename T, typename Transform>
typedef std::iterator_traits<T>::iterator_category nvbio::transform_iterator< T, Transform >::iterator_category

Definition at line 54 of file transform_iterator.h.

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

Definition at line 51 of file transform_iterator.h.

template<typename T, typename Transform>
typedef value_type& nvbio::transform_iterator< T, Transform >::reference

Definition at line 49 of file transform_iterator.h.

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

Definition at line 48 of file transform_iterator.h.

Constructor & Destructor Documentation

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

constructor

Definition at line 59 of file transform_iterator.h.

template<typename T, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::transform_iterator< T, Transform >::transform_iterator ( const base,
const Transform  f 
)
inline

constructor

Definition at line 64 of file transform_iterator.h.

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

copy constructor

Definition at line 69 of file transform_iterator.h.

Member Function Documentation

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

dereference operator

Definition at line 79 of file transform_iterator.h.

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

addition

Definition at line 122 of file transform_iterator.h.

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

pre-increment

Definition at line 84 of file transform_iterator.h.

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

post-increment

Definition at line 93 of file transform_iterator.h.

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

addition

Definition at line 138 of file transform_iterator.h.

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

subtraction

Definition at line 130 of file transform_iterator.h.

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

iterator subtraction

Definition at line 156 of file transform_iterator.h.

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

pre-decrement

Definition at line 103 of file transform_iterator.h.

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

post-decrement

Definition at line 112 of file transform_iterator.h.

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

subtraction

Definition at line 147 of file transform_iterator.h.

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

assignment

Definition at line 164 of file transform_iterator.h.

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

const indexing operator

Definition at line 74 of file transform_iterator.h.

Member Data Documentation

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

Definition at line 171 of file transform_iterator.h.

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

Definition at line 172 of file transform_iterator.h.


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