Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC > Class Template Reference
Collaboration diagram for Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >:

Public Types

typedef boost::tuple< TypeA, TypeB, TypeC > value_type
typedef ptrdiff_t difference_type
typedef value_type * pointer
typedef boost::tuple< TypeA &, TypeB &, TypeC & > reference
typedef std::random_access_iterator_tag iterator_category
typedef boost::tuple< const TypeA &, const TypeB &, const TypeC & > const_reference

Public Member Functions

 TripleRandomIterator (IteratorA i, IteratorB j, IteratorC k)
TripleRandomIterator & operator++ ()
TripleRandomIterator & operator-- ()
TripleRandomIterator operator++ (int)
TripleRandomIterator operator-- (int)
bool operator== (const TripleRandomIterator &rhs) const
bool operator!= (const TripleRandomIterator &rhs) const
bool operator< (const TripleRandomIterator &rhs) const
reference operator* ()
difference_type operator- (const TripleRandomIterator &rhs) const
TripleRandomIterator & operator+= (const difference_type n)
TripleRandomIterator & operator-= (const difference_type n)
TripleRandomIterator operator+ (const difference_type n) const
TripleRandomIterator operator- (const difference_type n) const

Private Types

typedef TupleRandomIteratorTraits< IteratorA >::value_type TypeA
typedef TupleRandomIteratorTraits< IteratorB >::value_type TypeB
typedef TupleRandomIteratorTraits< IteratorC >::value_type TypeC

Private Attributes

IteratorA m_i
IteratorB m_j
IteratorC m_k

Detailed Description

template<typename IteratorA, typename IteratorB, typename IteratorC>
class Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >

Definition at line 132 of file TupleRandomIterator.h.

Member Typedef Documentation

◆ const_reference

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef boost::tuple<const TypeA&, const TypeB&, const TypeC&> Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::const_reference

Definition at line 145 of file TupleRandomIterator.h.

◆ difference_type

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef ptrdiff_t Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::difference_type

Definition at line 141 of file TupleRandomIterator.h.

◆ iterator_category

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef std::random_access_iterator_tag Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::iterator_category

Definition at line 144 of file TupleRandomIterator.h.

◆ pointer

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef value_type* Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::pointer

Definition at line 142 of file TupleRandomIterator.h.

◆ reference

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef boost::tuple<TypeA&, TypeB&, TypeC&> Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::reference

Definition at line 143 of file TupleRandomIterator.h.

◆ TypeA

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef TupleRandomIteratorTraits<IteratorA>::value_type Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::TypeA
private

Definition at line 135 of file TupleRandomIterator.h.

◆ TypeB

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef TupleRandomIteratorTraits<IteratorB>::value_type Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::TypeB
private

Definition at line 136 of file TupleRandomIterator.h.

◆ TypeC

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef TupleRandomIteratorTraits<IteratorC>::value_type Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::TypeC
private

Definition at line 137 of file TupleRandomIterator.h.

◆ value_type

template<typename IteratorA, typename IteratorB, typename IteratorC>
typedef boost::tuple<TypeA, TypeB, TypeC> Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::value_type

Definition at line 140 of file TupleRandomIterator.h.

Constructor & Destructor Documentation

◆ TripleRandomIterator() [1/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::TripleRandomIterator ( )
inline

Definition at line 148 of file TupleRandomIterator.h.

◆ TripleRandomIterator() [2/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::TripleRandomIterator ( IteratorA i,
IteratorB j,
IteratorC k )
inline

Definition at line 149 of file TupleRandomIterator.h.

Member Function Documentation

◆ operator!=()

template<typename IteratorA, typename IteratorB, typename IteratorC>
bool Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator!= ( const TripleRandomIterator< IteratorA, IteratorB, IteratorC > & rhs) const
inline

Definition at line 183 of file TupleRandomIterator.h.

◆ operator*()

template<typename IteratorA, typename IteratorB, typename IteratorC>
reference Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator* ( )
inline

Definition at line 186 of file TupleRandomIterator.h.

◆ operator+()

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator+ ( const difference_type n) const
inline

Definition at line 207 of file TupleRandomIterator.h.

◆ operator++() [1/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator & Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator++ ( )
inline

Definition at line 155 of file TupleRandomIterator.h.

◆ operator++() [2/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator++ ( int )
inline

Definition at line 169 of file TupleRandomIterator.h.

◆ operator+=()

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator & Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator+= ( const difference_type n)
inline

Definition at line 193 of file TupleRandomIterator.h.

◆ operator-() [1/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator- ( const difference_type n) const
inline

Definition at line 211 of file TupleRandomIterator.h.

◆ operator-() [2/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
difference_type Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator- ( const TripleRandomIterator< IteratorA, IteratorB, IteratorC > & rhs) const
inline

Definition at line 188 of file TupleRandomIterator.h.

◆ operator--() [1/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator & Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator-- ( )
inline

Definition at line 162 of file TupleRandomIterator.h.

◆ operator--() [2/2]

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator-- ( int )
inline

Definition at line 175 of file TupleRandomIterator.h.

◆ operator-=()

template<typename IteratorA, typename IteratorB, typename IteratorC>
TripleRandomIterator & Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator-= ( const difference_type n)
inline

Definition at line 200 of file TupleRandomIterator.h.

◆ operator<()

template<typename IteratorA, typename IteratorB, typename IteratorC>
bool Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator< ( const TripleRandomIterator< IteratorA, IteratorB, IteratorC > & rhs) const
inline

Definition at line 184 of file TupleRandomIterator.h.

◆ operator==()

template<typename IteratorA, typename IteratorB, typename IteratorC>
bool Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::operator== ( const TripleRandomIterator< IteratorA, IteratorB, IteratorC > & rhs) const
inline

Definition at line 182 of file TupleRandomIterator.h.

Member Data Documentation

◆ m_i

template<typename IteratorA, typename IteratorB, typename IteratorC>
IteratorA Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::m_i
private

Definition at line 217 of file TupleRandomIterator.h.

◆ m_j

template<typename IteratorA, typename IteratorB, typename IteratorC>
IteratorB Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::m_j
private

Definition at line 218 of file TupleRandomIterator.h.

◆ m_k

template<typename IteratorA, typename IteratorB, typename IteratorC>
IteratorC Alien::TripleRandomIterator< IteratorA, IteratorB, IteratorC >::m_k
private

Definition at line 219 of file TupleRandomIterator.h.


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