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::binary_transform_iterator< T1, T2, Transform > Struct Template Reference

Detailed description

template< typename T1, typename T2, typename Transform>
struct nvbio::binary_transform_iterator< T1, T2, Transform >

Wrapper class to create a binary transform iterator out of two iterators and a binary function

Definition at line 228 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
< T1 >::difference_type 
difference_type
 
typedef std::iterator_traits
< T1 >::iterator_category 
iterator_category
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator (const T1 base1, const T2 base2, const Transform f)
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator (const binary_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
binary_transform_iterator< T1,
T2, Transform > & 
operator++ ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator< T1,
T2, Transform > 
operator++ (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator< T1,
T2, Transform > & 
operator-- ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator< T1,
T2, Transform > 
operator-- (int i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator< T1,
T2, Transform > 
operator+ (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator< T1,
T2, Transform > 
operator- (const difference_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator< T1,
T2, Transform > & 
operator+= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator< T1,
T2, Transform > & 
operator-= (const difference_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
difference_type 
operator- (const binary_transform_iterator< T1, T2, Transform > it) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
binary_transform_iterator
operator= (const binary_transform_iterator< T1, T2, Transform > &it)
 

Public Members

T1 m_base1
 
T2 m_base2
 
Transform m_f
 

Member Typedef Documentation

template<typename T1, typename T2, typename Transform>
typedef value_type nvbio::binary_transform_iterator< T1, T2, Transform >::const_reference

Definition at line 232 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
typedef std::iterator_traits<T1>::difference_type nvbio::binary_transform_iterator< T1, T2, Transform >::difference_type

Definition at line 234 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
typedef std::iterator_traits<T1>::iterator_category nvbio::binary_transform_iterator< T1, T2, Transform >::iterator_category

Definition at line 236 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
typedef value_type* nvbio::binary_transform_iterator< T1, T2, Transform >::pointer

Definition at line 233 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
typedef value_type& nvbio::binary_transform_iterator< T1, T2, Transform >::reference

Definition at line 231 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
typedef Transform::result_type nvbio::binary_transform_iterator< T1, T2, Transform >::value_type

Definition at line 230 of file transform_iterator.h.

Constructor & Destructor Documentation

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::binary_transform_iterator< T1, T2, Transform >::binary_transform_iterator ( )
inline

constructor

Definition at line 241 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::binary_transform_iterator< T1, T2, Transform >::binary_transform_iterator ( const T1  base1,
const T2  base2,
const Transform  f 
)
inline

constructor

Definition at line 246 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::binary_transform_iterator< T1, T2, Transform >::binary_transform_iterator ( const binary_transform_iterator< T1, T2, Transform > &  it)
inline

copy constructor

Definition at line 251 of file transform_iterator.h.

Member Function Documentation

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE value_type nvbio::binary_transform_iterator< T1, T2, Transform >::operator* ( ) const
inline

dereference operator

Definition at line 261 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator<T1,T2,Transform> nvbio::binary_transform_iterator< T1, T2, Transform >::operator+ ( const difference_type  i) const
inline

addition

Definition at line 308 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator<T1,T2,Transform>& nvbio::binary_transform_iterator< T1, T2, Transform >::operator++ ( )
inline

pre-increment

Definition at line 266 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator<T1,T2,Transform> nvbio::binary_transform_iterator< T1, T2, Transform >::operator++ ( int  i)
inline

post-increment

Definition at line 276 of file transform_iterator.h.

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

addition

Definition at line 324 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator<T1,T2,Transform> nvbio::binary_transform_iterator< T1, T2, Transform >::operator- ( const difference_type  i) const
inline

subtraction

Definition at line 316 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE difference_type nvbio::binary_transform_iterator< T1, T2, Transform >::operator- ( const binary_transform_iterator< T1, T2, Transform >  it) const
inline

iterator subtraction

Definition at line 344 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator<T1,T2,Transform>& nvbio::binary_transform_iterator< T1, T2, Transform >::operator-- ( )
inline

pre-decrement

Definition at line 287 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator<T1,T2,Transform> nvbio::binary_transform_iterator< T1, T2, Transform >::operator-- ( int  i)
inline

post-decrement

Definition at line 297 of file transform_iterator.h.

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

subtraction

Definition at line 334 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE binary_transform_iterator& nvbio::binary_transform_iterator< T1, T2, Transform >::operator= ( const binary_transform_iterator< T1, T2, Transform > &  it)
inline

assignment

Definition at line 352 of file transform_iterator.h.

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

const indexing operator

Definition at line 256 of file transform_iterator.h.

Member Data Documentation

template<typename T1, typename T2, typename Transform>
T1 nvbio::binary_transform_iterator< T1, T2, Transform >::m_base1

Definition at line 360 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
T2 nvbio::binary_transform_iterator< T1, T2, Transform >::m_base2

Definition at line 361 of file transform_iterator.h.

template<typename T1, typename T2, typename Transform>
Transform nvbio::binary_transform_iterator< T1, T2, Transform >::m_f

Definition at line 362 of file transform_iterator.h.


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