Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn > Class Template Reference

Two-Level forward iterator. More...

#include <TwoLevelIterator.h>

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

Public Member Functions

 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 std::iterator_traits
< Inner > 
Traits
 
typedef TwoLevelIterBase
< Outer, Inner, InnerBegFn,
InnerEndFn > 
Base
 

Protected Member Functions

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

bool operator== (const TwoLevelFwdIter &left, const TwoLevelFwdIter &right)
 
bool operator!= (const TwoLevelFwdIter &left, const TwoLevelFwdIter &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::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >

Two-Level forward iterator.

Member Typedef Documentation

template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
typedef TwoLevelIterBase<Outer, Inner, InnerBegFn, InnerEndFn> galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::Base
protected
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
typedef std::iterator_traits<Inner> galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::Traits
protected

Constructor & Destructor Documentation

template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::TwoLevelFwdIter ( )
inline
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::TwoLevelFwdIter ( 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 >
bool galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::is_equal ( const TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn > &  that) const
inlineprotected
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
void galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::nextOuter ( )
inlineprotected
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
Traits::reference galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::operator* ( ) const
inline
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
TwoLevelFwdIter& galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::operator++ ( )
inline
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
TwoLevelFwdIter galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::operator++ ( int  )
inline
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
Traits::pointer galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::operator-> ( ) const
inline
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
void galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::seekValidBegin ( )
inlineprotected
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
void galois::TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn >::step_forward ( )
inlineprotected

Friends And Related Function Documentation

template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
bool operator!= ( const TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn > &  left,
const TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn > &  right 
)
friend
template<typename Outer , typename Inner , typename InnerBegFn , typename InnerEndFn >
bool operator== ( const TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn > &  left,
const TwoLevelFwdIter< Outer, Inner, InnerBegFn, InnerEndFn > &  right 
)
friend

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