Honeycomb  0.1
Component-Model Framework
Public Types | Public Member Functions | List of all members
honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ > Class Template Reference

Depth-first pre-order iterator over nodes. Iterates over nodes that constitute each vertex in a vertex range. More...

#include <Dep.h>

Public Types

typedef Iter_< Vertex_ > Iter
 
typedef std::conditional< std::is_const< Vertex_ >::value, NodeListConst, NodeList >::type NodeList
 
typedef mt::removePtr< typename NodeList::value_type >::type DepNode
 
typedef std::forward_iterator_tag iterator_category
 
typedef DepNode value_type
 
typedef sdt difference_type
 
typedef DepNodepointer
 
typedef DepNodereference
 

Public Member Functions

 NodeIter_ ()
 
 NodeIter_ (Iter &&it)
 
NodeIter_operator++ ()
 
NodeIter_ operator++ (int)
 
bool operator== (const NodeIter_ &rhs) const
 
bool operator!= (const NodeIter_ &rhs) const
 
reference operator* () const
 
pointer operator-> () const
 
void reset (optional< const Key & > start=optnull, DepType type=DepType::out)
 Reset iterator to begin at vertex in graph. More...
 
void skipEdges ()
 Skip the current vertex's edges on next step of this iterator. More...
 
Vertex_ & vertex () const
 Get the current vertex. More...
 

Detailed Description

template<class DepNode_>
template<class Vertex_>
class honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >

Depth-first pre-order iterator over nodes. Iterates over nodes that constitute each vertex in a vertex range.

Member Typedef Documentation

template<class DepNode_>
template<class Vertex_ >
typedef mt::removePtr<typename NodeList::value_type>::type honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::DepNode
template<class DepNode_>
template<class Vertex_ >
typedef sdt honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::difference_type
template<class DepNode_>
template<class Vertex_ >
typedef Iter_<Vertex_> honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::Iter
template<class DepNode_>
template<class Vertex_ >
typedef std::forward_iterator_tag honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::iterator_category
template<class DepNode_>
template<class Vertex_ >
typedef std::conditional<std::is_const<Vertex_>::value, NodeListConst, NodeList>::type honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::NodeList
template<class DepNode_>
template<class Vertex_ >
typedef DepNode* honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::pointer
template<class DepNode_>
template<class Vertex_ >
typedef DepNode& honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::reference
template<class DepNode_>
template<class Vertex_ >
typedef DepNode honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::value_type

Constructor & Destructor Documentation

template<class DepNode_>
template<class Vertex_ >
honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::NodeIter_ ( )
inline
template<class DepNode_>
template<class Vertex_ >
honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::NodeIter_ ( Iter &&  it)
inline

Member Function Documentation

template<class DepNode_>
template<class Vertex_ >
bool honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::operator!= ( const NodeIter_< Vertex_ > &  rhs) const
inline
template<class DepNode_>
template<class Vertex_ >
reference honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::operator* ( ) const
inline
template<class DepNode_>
template<class Vertex_ >
NodeIter_& honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::operator++ ( )
inline
template<class DepNode_>
template<class Vertex_ >
NodeIter_ honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::operator++ ( int  )
inline
template<class DepNode_>
template<class Vertex_ >
pointer honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::operator-> ( ) const
inline
template<class DepNode_>
template<class Vertex_ >
bool honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::operator== ( const NodeIter_< Vertex_ > &  rhs) const
inline
template<class DepNode_>
template<class Vertex_ >
void honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::reset ( optional< const Key & >  start = optnull,
DepType  type = DepType::out 
)
inline

Reset iterator to begin at vertex in graph.

template<class DepNode_>
template<class Vertex_ >
void honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::skipEdges ( )
inline

Skip the current vertex's edges on next step of this iterator.

template<class DepNode_>
template<class Vertex_ >
Vertex_& honey::DepGraph< DepNode_ >::NodeIter_< Vertex_ >::vertex ( ) const
inline

Get the current vertex.


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