Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 >

Public Member Functions

 TwoLevelRandIter ()
 
 TwoLevelRandIter (Outer beg_outer, Outer end_outer, Outer outer_pos, InnerBegFn innerBegFn, InnerEndFn innerEndFn)
 
TwoLevelRandIteroperator+= (Diff_ty d)
 
TwoLevelRandIteroperator-= (Diff_ty d)
 
BiDirBase::Traits::reference operator[] (Diff_ty d) const
 
- Public Member Functions inherited from galois::TwoLevelBiDirIter< Outer, Inner, InnerBegFn, InnerEndFn >
 TwoLevelBiDirIter ()
 
 TwoLevelBiDirIter (Outer beg_outer, Outer end_outer, Outer outer_pos, InnerBegFn innerBegFn, InnerEndFn innerEndFn)
 
TwoLevelBiDirIteroperator-- ()
 
TwoLevelBiDirIter operator-- (int)
 
- Public Member Functions inherited from galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >
 TwoLevelFwdIter ()
 
 TwoLevelFwdIter (Outer beg_outer, Outer end_outer, Outer outer_pos, InnerBegFn innerBegFn, InnerEndFn innerEndFn)
 
Traits::reference operator* () const
 
Traits::pointer operator-> () const
 
TwoLevelFwdIteroperator++ ()
 
TwoLevelFwdIter operator++ (int)
 

Protected Types

typedef TwoLevelBiDirIter
< Outer, Inner, InnerBegFn,
InnerEndFn > 
BiDirBase
 
typedef
BiDirBase::Traits::difference_type 
Diff_ty
 
- Protected Types inherited from galois::TwoLevelBiDirIter< Outer, Inner, InnerBegFn, InnerEndFn >
typedef TwoLevelFwdIter< Outer,
Inner, InnerBegFn, InnerEndFn > 
FwdBase
 
- Protected Types inherited from galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >
typedef std::iterator_traits
< Inner > 
Traits
 
typedef TwoLevelIterBase
< Outer, Inner, InnerBegFn,
InnerEndFn > 
Base
 

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
 
- Protected Member Functions inherited from galois::TwoLevelBiDirIter< Outer, Inner, InnerBegFn, InnerEndFn >
void prevOuter ()
 
void step_backward ()
 
- Protected Member Functions inherited from galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >
void nextOuter ()
 
void seekValidBegin ()
 
void step_forward ()
 
bool is_equal (const TwoLevelFwdIter &that) const
 
- Protected Member Functions inherited from galois::TwoLevelIterBase< Outer, Inner, InnerBegFn, InnerEndFn >
bool outerAtBegin () const
 
bool outerAtEnd () const
 
bool outerEmpty () const
 
const Inner & getInnerBegin () const
 
const Inner & getInnerEnd () const
 
void setInnerAtBegin (void)
 
void setInnerAtEnd (void)
 
bool innerAtBegin () const
 
bool innerAtEnd () const
 
 TwoLevelIterBase ()
 
 TwoLevelIterBase (Outer beg_outer, Outer end_outer, Outer outer_pos, InnerBegFn innerBegFn, InnerEndFn innerEndFn)
 

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)
 

Additional Inherited Members

- Protected Attributes inherited from galois::TwoLevelIterBase< Outer, Inner, InnerBegFn, InnerEndFn >
Outer m_beg_outer
 
Outer m_end_outer
 
Outer m_outer
 
Inner m_beg_inner
 
Inner m_end_inner
 
Inner m_inner
 
InnerBegFn innerBegFn
 
InnerEndFn innerEndFn
 

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,
Outer  outer_pos,
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
inlineprotected
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
void galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::jump_backward ( const Diff_ty  d)
inlineprotected
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
void galois::TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn >::jump_forward ( const Diff_ty  d)
inlineprotected
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+ ( const TwoLevelRandIter< Outer, Inner, InnerBegFn, InnerEndFn > &  it,
Diff_ty  d 
)
friend
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 >
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: