Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

_DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator > 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 >:

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 _Node node_type
typedef size_t size_type
typedef ptrdiff_t difference_type

Public Methods

 _DG_walker ()
 _DG_walker (_Node *__x)
 _DG_walker (const walker &__x)
reference operator * () const
pointer operator-> () const
const _Node * node ()
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)
_Self & operator<<= (parents_iterator __i)
_Self & operator>>= (children_iterator __i)
_Self & operator= (const _Itr &__x)
_Self & operator= (const _Self &__x)
_Self & operator= (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 _DG_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator >

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

Definition at line 59 of file vgtl_dag.h.


Member Typedef Documentation

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

standard walker definition

Definition at line 84 of file vgtl_dag.h.

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

standard walker definition

Definition at line 89 of file vgtl_dag.h.

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

standard walker definition

Definition at line 86 of file vgtl_dag.h.

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

standard walker definition

Definition at line 85 of file vgtl_dag.h.

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

standard walker definition

Definition at line 73 of file vgtl_dag.h.

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

standard walker definition

Definition at line 74 of file vgtl_dag.h.

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

standard walker definition

Definition at line 88 of file vgtl_dag.h.

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

standard walker definition

Definition at line 72 of file vgtl_dag.h.


Constructor & Destructor Documentation

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

standard constructor

Definition at line 98 of file vgtl_dag.h.

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

constructor setting the position

Definition at line 102 of file vgtl_dag.h.

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

copy constructor

Definition at line 105 of file vgtl_dag.h.


Member Function Documentation

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

return children_iterator to first child

Definition at line 151 of file vgtl_dag.h.

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

return children_iterator beyond last child

Definition at line 153 of file vgtl_dag.h.

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

apply the function __f to all children

Definition at line 162 of file vgtl_dag.h.

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

apply the function __f to all parents

Definition at line 168 of file vgtl_dag.h.

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

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

Definition at line 146 of file vgtl_dag.h.

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

is this node a leaf?

Definition at line 135 of file vgtl_dag.h.

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

is this node a root?

Definition at line 125 of file vgtl_dag.h.

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

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

Definition at line 148 of file vgtl_dag.h.

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

return the number of children

Definition at line 120 of file vgtl_dag.h.

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

return the number of parents

Definition at line 122 of file vgtl_dag.h.

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

retrieve the full node

Definition at line 117 of file vgtl_dag.h.

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

dereference operator

Definition at line 108 of file vgtl_dag.h.

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

comparison operator

Definition at line 178 of file vgtl_dag.h.

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

pointer operator

Definition at line 112 of file vgtl_dag.h.

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

this function returns the walker pointing to the required parent

Definition at line 183 of file vgtl_dag.h.

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

here the original walker goes to the required parent

Definition at line 197 of file vgtl_dag.h.

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

a walker is assigned to any pointer to a graph node

Definition at line 221 of file vgtl_dag.h.

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

standard assignment operator

Definition at line 215 of file vgtl_dag.h.

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

new walker is assigned from that particular iterator

Definition at line 209 of file vgtl_dag.h.

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

comparison operator

Definition at line 176 of file vgtl_dag.h.

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

this functions returns the walker pointing to the required child

Definition at line 190 of file vgtl_dag.h.

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

here the original walker goes to the required child

Definition at line 203 of file vgtl_dag.h.

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

return parents_iterator to first parent

Definition at line 156 of file vgtl_dag.h.

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

return parents_iterator beyond last parent

Definition at line 158 of file vgtl_dag.h.


Member Data Documentation

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

pointer to the current node

Definition at line 94 of file vgtl_dag.h.


The documentation for this class was generated from the following file:
Generated on Tue Nov 4 01:41:36 2003 for Vienna Graph Template Library by doxygen1.2.18