_DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator > Class Template Reference
[Classes and types for internal use]

recursive directed graph walkers More...

#include <vgtl_dag.h>

Collaboration diagram for _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef _Tp value_type
typedef _Ptr pointer
typedef _Ref reference
typedef _Ctr_iterator children_iterator
typedef _Ctr_iterator parents_iterator
typedef _Ctr_const_iterator children_const_iterator
typedef _Ctr_const_iterator parents_const_iterator
typedef _Node node_type
typedef size_t size_type
typedef ptrdiff_t difference_type

Public Member Functions

 _DG_walker ()
 _DG_walker (_Node *__x)
 _DG_walker (const walker &__x)
reference operator* () const
pointer operator-> () const
const _Nodenode ()
size_type n_children () const
size_type n_parents () const
bool is_root () const
bool is_leaf () const
bool is_ground () const
bool is_sky () const
children_iterator child_begin ()
children_iterator child_end ()
parents_iterator parent_begin ()
parents_iterator parent_end ()
template<class _Function >
_Function for_each_child (_Function __f)
template<class _Function >
_Function for_each_parent (_Function __f)
_Self operator<< (parents_iterator __i)
_Self operator>> (children_iterator __i)
_Selfoperator<<= (parents_iterator __i)
_Selfoperator>>= (children_iterator __i)
_Self operator<< (parents_const_iterator __i)
_Self operator>> (children_const_iterator __i)
_Selfoperator<<= (parents_const_iterator __i)
_Selfoperator>>= (children_const_iterator __i)
_Selfoperator= (const _Itr &__x)
_Selfoperator= (const _Self &__x)
_Selfoperator= (const _Node &__n)
bool operator== (const _Self &__x) const
bool operator!= (const _Self &__x) const

Public Attributes

_Node_C_w_cur


Detailed Description

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _CIterator>
class _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >

This is the class defining reursive directed graph walkers, which walk directed graphs under guidance.

Definition at line 62 of file vgtl_dag.h.


Member Typedef Documentation

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Ctr_const_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::children_const_iterator

standard walker definition

Definition at line 91 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Ctr_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::children_iterator

standard walker definition

Definition at line 89 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef ptrdiff_t _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::difference_type

standard walker definition

Definition at line 96 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Node _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::node_type

standard walker definition

Definition at line 93 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Ctr_const_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::parents_const_iterator

standard walker definition

Definition at line 92 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Ctr_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::parents_iterator

standard walker definition

Definition at line 90 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Ptr _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::pointer

standard walker definition

Definition at line 77 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Ref _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::reference

standard walker definition

Definition at line 78 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef size_t _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::size_type

standard walker definition

Definition at line 95 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
typedef _Tp _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::value_type

standard walker definition

Definition at line 76 of file vgtl_dag.h.


Constructor & Destructor Documentation

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::_DG_walker (  )  [inline]

standard constructor

Definition at line 105 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::_DG_walker ( _Node __x  )  [inline]

constructor setting the position

Definition at line 109 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::_DG_walker ( const walker __x  )  [inline]

copy constructor

Definition at line 112 of file vgtl_dag.h.


Member Function Documentation

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
children_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::child_begin (  )  [inline]

return children_iterator to first child

Definition at line 158 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
children_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::child_end (  )  [inline]

return children_iterator beyond last child

Definition at line 162 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
template<class _Function >
_Function _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::for_each_child ( _Function  __f  )  [inline]

apply the function __f to all children

Definition at line 177 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
template<class _Function >
_Function _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::for_each_parent ( _Function  __f  )  [inline]

apply the function __f to all parents

Definition at line 183 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
bool _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::is_ground (  )  const [inline]

is this node a virtual node - the ground (below all roots)?

Definition at line 153 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
bool _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::is_leaf (  )  const [inline]

is this node a leaf?

Definition at line 142 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
bool _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::is_root (  )  const [inline]

is this node a root?

Definition at line 132 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
bool _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::is_sky (  )  const [inline]

is this node a virtual node - the sky (above all leafs)?

Definition at line 155 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
size_type _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::n_children (  )  const [inline]

return the number of children

Definition at line 127 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
size_type _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::n_parents (  )  const [inline]

return the number of parents

Definition at line 129 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
const _Node* _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::node (  )  [inline]

retrieve the full node

Definition at line 124 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
bool _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator!= ( const _Self __x  )  const [inline]

comparison operator

Definition at line 193 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
reference _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator* (  )  const [inline]

dereference operator

Definition at line 115 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
pointer _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator-> (  )  const [inline]

pointer operator

Definition at line 119 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator<< ( parents_const_iterator  __i  )  [inline]

this function returns the walker pointing to the required parent

Definition at line 224 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator<< ( parents_iterator  __i  )  [inline]

this function returns the walker pointing to the required parent

Definition at line 198 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self& _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator<<= ( parents_const_iterator  __i  )  [inline]

here the original walker goes to the required parent

Definition at line 238 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self& _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator<<= ( parents_iterator  __i  )  [inline]

here the original walker goes to the required parent

Definition at line 212 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self& _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator= ( const _Node __n  )  [inline]

a walker is assigned to any pointer to a graph node

Definition at line 262 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self& _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator= ( const _Self __x  )  [inline]

standard assignment operator

Definition at line 256 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self& _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator= ( const _Itr __x  )  [inline]

new walker is assigned from that particular iterator

Definition at line 250 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
bool _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator== ( const _Self __x  )  const [inline]

comparison operator

Definition at line 191 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator>> ( children_const_iterator  __i  )  [inline]

this function returns the walker pointing to the required child

Definition at line 231 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator>> ( children_iterator  __i  )  [inline]

this function returns the walker pointing to the required child

Definition at line 205 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self& _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator>>= ( children_const_iterator  __i  )  [inline]

here the original walker goes to the required child

Definition at line 244 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Self& _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::operator>>= ( children_iterator  __i  )  [inline]

here the original walker goes to the required child

Definition at line 218 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
parents_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::parent_begin (  )  [inline]

return parents_iterator to first parent

Definition at line 167 of file vgtl_dag.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
parents_iterator _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::parent_end (  )  [inline]

return parents_iterator beyond last parent

Definition at line 171 of file vgtl_dag.h.


Member Data Documentation

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator , class _CIterator >
_Node* _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _CIterator >::_C_w_cur

pointer to the current node

Definition at line 101 of file vgtl_dag.h.


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

Generated on Tue Feb 9 14:42:24 2010 for Vienna Graph Template Library by  doxygen 1.5.8