Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > Class Template Reference

Two-Level random access iterator. More...

#include <TwoLevelIterator.h>

Inheritance diagram for Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >:
Galois::TwoLevelBiDirIter< Outer, Inner, InnerBegFn, InnerEndFn > Galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn > Galois::TwoLevelIterBase< Outer, Inner, InnerBegFn, InnerEndFn >

List of all members.

Public Member Functions

 TwoLevelRandIter ()
 TwoLevelRandIter (Outer beg_outer, Outer end_outer, InnerBegFn innerBegFn, InnerEndFn innerEndFn)
TwoLevelRandIteroperator+= (Diff_ty d)
TwoLevelRandIteroperator-= (Diff_ty d)
BiDirBase::Traits::reference operator[] (Diff_ty d) const

Protected Types

typedef TwoLevelBiDirIter
< Outer, Inner, InnerBegFn,
InnerEndFn > 
BiDirBase
typedef
BiDirBase::Traits::difference_type 
Diff_ty

Protected Member Functions

void jump_forward (const Diff_ty d)
void jump_backward (const Diff_ty d)
Diff_ty compute_dist (const TwoLevelRandIter &that) const

Friends

TwoLevelRandIter operator+ (const TwoLevelRandIter &it, Diff_ty d)
TwoLevelRandIter operator+ (Diff_ty d, const TwoLevelRandIter &it)
TwoLevelRandIter operator- (const TwoLevelRandIter &it, Diff_ty d)
Diff_ty operator- (const TwoLevelRandIter &left, const TwoLevelRandIter &right)
bool operator< (const TwoLevelRandIter &left, const TwoLevelRandIter &right)
bool operator<= (const TwoLevelRandIter &left, const TwoLevelRandIter &right)
bool operator> (const TwoLevelRandIter &left, const TwoLevelRandIter &right)
bool operator>= (const TwoLevelRandIter &left, const TwoLevelRandIter &right)

Detailed Description

template<typename Outer, typename Inner, typename InnerBegFn, typename InnerEndFn>
class Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >

Two-Level random access iterator.


Member Typedef Documentation

template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
typedef TwoLevelBiDirIter<Outer, Inner, InnerBegFn, InnerEndFn> Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::BiDirBase [protected]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
typedef BiDirBase::Traits::difference_type Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::Diff_ty [protected]

Constructor & Destructor Documentation

template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::TwoLevelRandIter (  )  [inline]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::TwoLevelRandIter ( Outer  beg_outer,
Outer  end_outer,
InnerBegFn  innerBegFn,
InnerEndFn  innerEndFn 
) [inline]

Member Function Documentation

template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
Diff_ty Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::compute_dist ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  that  )  const [inline, protected]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
void Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::jump_backward ( const Diff_ty  d  )  [inline, protected]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
void Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::jump_forward ( const Diff_ty  d  )  [inline, protected]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
TwoLevelRandIter& Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::operator+= ( Diff_ty  d  )  [inline]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
TwoLevelRandIter& Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::operator-= ( Diff_ty  d  )  [inline]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
BiDirBase::Traits::reference Galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::operator[] ( Diff_ty  d  )  const [inline]

Friends And Related Function Documentation

template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
TwoLevelRandIter operator+ ( Diff_ty  d,
const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  it 
) [friend]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
TwoLevelRandIter operator+ ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  it,
Diff_ty  d 
) [friend]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
Diff_ty operator- ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  left,
const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  right 
) [friend]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
TwoLevelRandIter operator- ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  it,
Diff_ty  d 
) [friend]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
bool operator< ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  left,
const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  right 
) [friend]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
bool operator<= ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  left,
const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  right 
) [friend]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
bool operator> ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  left,
const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  right 
) [friend]
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
bool operator>= ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  left,
const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  right 
) [friend]

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

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1