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

recursive tree walkers More...

#include <vgtl_tree.h>

Inheritance diagram for _RTree_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator >:

Inheritance graph
[legend]
Collaboration diagram for _RTree_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 _Tp value_type
typedef _Ptr pointer
typedef _Ref reference
typedef __one_iterator< void * > parents_iterator
typedef _Ctr_iterator children_iterator
typedef _Node node_type
typedef size_t size_type
typedef ptrdiff_t difference_type
typedef __one_iterator< void * > parents_iterator
typedef _Ctr_iterator children_iterator
typedef _Node node_type
typedef size_t size_type
typedef ptrdiff_t difference_type

Public Member Functions

 _RTree_walker ()
 _RTree_walker (_Node *__x)
 _RTree_walker (const walker &__x)
_Self operator<< (const parents_iterator &__dummy)
 go to parent operator
_Self operator>> (const children_iterator &__i)
 go to child operator
_Selfoperator<<= (const parents_iterator &__dummy)
_Selfoperator>>= (const children_iterator &__i)
_Selfoperator= (const _Itr &__x)
_Selfoperator= (const _Tree_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node > &__x)
reference operator* () const
pointer operator-> () const
ctree_data_hookdata_hook ()
ctree_data_hookparent_data_hook ()
const _Node * parent ()
const _Node * node ()
size_type n_children ()
size_type n_parents ()
bool is_leaf ()
bool is_root ()
bool is_ground ()
bool is_sky ()
children_iterator child_begin ()
children_iterator child_end ()
parents_iterator parent_begin ()
parents_iterator parent_end ()
_Function for_each_child (_Function __f)
_Function for_each_parent (_Function __f)
void sort_children (children_iterator first, children_iterator last, Compare comp)
void sort_children (Compare comp)
void sort_parents (parents_iterator first, parents_iterator last, Compare comp)
void sort_parents (Compare comp)
reference operator* () const
pointer operator-> () const
ctree_data_hookdata_hook ()
ctree_data_hookparent_data_hook ()
const _Node * parent ()
const _Node * node ()
size_type n_children ()
size_type n_parents ()
bool is_leaf ()
bool is_root ()
bool is_ground ()
bool is_sky ()
children_iterator child_begin ()
children_iterator child_end ()
parents_iterator parent_begin ()
parents_iterator parent_end ()
_Function for_each_child (_Function __f)
_Function for_each_parent (_Function __f)
void sort_children (children_iterator first, children_iterator last, Compare comp)
void sort_children (Compare comp)
void sort_parents (parents_iterator first, parents_iterator last, Compare comp)
void sort_parents (Compare comp)
bool operator== (const _Self &__x) const
bool operator!= (const _Self &__x) const

Public Attributes

_Node * _C_w_cur
_Node * _C_w_cur


Detailed Description

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator>
class _RTree_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator >

This is the class defining reursive tree walkers, which walk trees under guidance.

Definition at line 838 of file vgtl_graph.h.


Member Typedef Documentation

typedef _Ctr_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::children_iterator [inherited]

standard walker definition

Definition at line 243 of file vgtl_tree.h.

typedef _Ctr_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::children_iterator [inherited]

standard walker definition

Definition at line 243 of file vgtl_tree.h.

typedef ptrdiff_t _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::difference_type [inherited]

standard walker definition

Definition at line 247 of file vgtl_tree.h.

typedef ptrdiff_t _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::difference_type [inherited]

standard walker definition

Definition at line 247 of file vgtl_tree.h.

typedef _Node _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::node_type [inherited]

standard walker definition

Definition at line 244 of file vgtl_tree.h.

typedef _Node _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::node_type [inherited]

standard walker definition

Definition at line 244 of file vgtl_tree.h.

typedef __one_iterator<void *> _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parents_iterator [inherited]

standard walker definition

Definition at line 242 of file vgtl_tree.h.

typedef __one_iterator<void *> _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parents_iterator [inherited]

standard walker definition

Definition at line 242 of file vgtl_tree.h.

typedef _Ptr _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::pointer [inherited]

standard walker definition

Definition at line 233 of file vgtl_tree.h.

typedef _Ptr _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::pointer [inherited]

standard walker definition

Definition at line 233 of file vgtl_tree.h.

typedef _Ref _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::reference [inherited]

standard walker definition

Definition at line 234 of file vgtl_tree.h.

typedef _Ref _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::reference [inherited]

standard walker definition

Definition at line 234 of file vgtl_tree.h.

typedef size_t _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::size_type [inherited]

standard walker definition

Definition at line 246 of file vgtl_tree.h.

typedef size_t _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::size_type [inherited]

standard walker definition

Definition at line 246 of file vgtl_tree.h.

typedef _Tp _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::value_type [inherited]

standard walker definition

Definition at line 232 of file vgtl_tree.h.

typedef _Tp _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::value_type [inherited]

standard walker definition

Definition at line 232 of file vgtl_tree.h.


Constructor & Destructor Documentation

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

standard constructor

Definition at line 1070 of file vgtl_tree.h.

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

constructor setting the position

Definition at line 1073 of file vgtl_tree.h.

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

copy constructor

Definition at line 1076 of file vgtl_tree.h.


Member Function Documentation

children_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::child_begin (  )  [inline, inherited]

return children_iterator to first child

Definition at line 307 of file vgtl_tree.h.

children_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::child_begin (  )  [inline, inherited]

return children_iterator to first child

Definition at line 307 of file vgtl_tree.h.

children_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::child_end (  )  [inline, inherited]

return children_iterator beyond last child

Definition at line 309 of file vgtl_tree.h.

children_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::child_end (  )  [inline, inherited]

return children_iterator beyond last child

Definition at line 309 of file vgtl_tree.h.

ctree_data_hook& _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::data_hook (  )  [inline, inherited]

retrieve the data hook

Definition at line 280 of file vgtl_tree.h.

ctree_data_hook& _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::data_hook (  )  [inline, inherited]

retrieve the data hook

Definition at line 280 of file vgtl_tree.h.

_Function _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::for_each_child ( _Function  __f  )  [inline, inherited]

apply the function __f to all children

Definition at line 320 of file vgtl_tree.h.

_Function _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::for_each_child ( _Function  __f  )  [inline, inherited]

apply the function __f to all children

Definition at line 320 of file vgtl_tree.h.

_Function _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::for_each_parent ( _Function  __f  )  [inline, inherited]

apply the function __f to all parents

Definition at line 326 of file vgtl_tree.h.

_Function _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::for_each_parent ( _Function  __f  )  [inline, inherited]

apply the function __f to all parents

Definition at line 326 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_ground (  )  [inline, inherited]

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

Definition at line 302 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_ground (  )  [inline, inherited]

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

Definition at line 302 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_leaf (  )  [inline, inherited]

is this node a leaf?

Definition at line 296 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_leaf (  )  [inline, inherited]

is this node a leaf?

Definition at line 296 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_root (  )  [inline, inherited]

is this node a root?

Definition at line 298 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_root (  )  [inline, inherited]

is this node a root?

Definition at line 298 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_sky (  )  [inline, inherited]

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

Definition at line 304 of file vgtl_tree.h.

bool _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::is_sky (  )  [inline, inherited]

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

Definition at line 304 of file vgtl_tree.h.

size_type _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::n_children (  )  [inline, inherited]

return the number of children

Definition at line 291 of file vgtl_tree.h.

size_type _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::n_children (  )  [inline, inherited]

return the number of children

Definition at line 291 of file vgtl_tree.h.

size_type _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::n_parents (  )  [inline, inherited]

return the number of parents (0 or 1)

Definition at line 293 of file vgtl_tree.h.

size_type _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::n_parents (  )  [inline, inherited]

return the number of parents (0 or 1)

Definition at line 293 of file vgtl_tree.h.

const _Node* _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::node (  )  [inline, inherited]

retrieve the full node

Definition at line 288 of file vgtl_tree.h.

const _Node * _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::node (  )  [inline, inherited]

retrieve the full node

Definition at line 288 of file vgtl_tree.h.

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

comparison operator

Definition at line 1083 of file vgtl_tree.h.

reference _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::operator* (  )  const [inline, inherited]

dereference operator

Definition at line 265 of file vgtl_tree.h.

reference _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::operator* (  )  const [inline, inherited]

dereference operator

Definition at line 265 of file vgtl_tree.h.

pointer _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::operator-> (  )  const [inline, inherited]

pointer operator

Definition at line 269 of file vgtl_tree.h.

pointer _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::operator-> (  )  const [inline, inherited]

pointer operator

Definition at line 269 of file vgtl_tree.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator >
_Self _RTree_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator >::operator<< ( const parents_iterator __dummy  )  [inline]

This operator moves the walker to the parent

Definition at line 1089 of file vgtl_tree.h.

template<class _Tp , class _Ref , class _Ptr , class _Ctr , class _Iterator >
_Self& _RTree_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator >::operator<<= ( const parents_iterator __dummy  )  [inline]

go to parent assignment operator

Definition at line 1106 of file vgtl_tree.h.

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

assignment from automatic iterator

Definition at line 1126 of file vgtl_tree.h.

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

assignment from iterator

Reimplemented from _Tree_walker_base< _Tp, _Ref, _Ptr, _Ctr, _Iterator >.

Definition at line 1120 of file vgtl_tree.h.

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

comparison operator

Definition at line 1081 of file vgtl_tree.h.

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

This operator moves the walker to the child pointed to by __i

Definition at line 1099 of file vgtl_tree.h.

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

go to child assignment operator

Definition at line 1114 of file vgtl_tree.h.

const _Node* _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent (  )  [inline, inherited]

retrieve the parent node

Definition at line 286 of file vgtl_tree.h.

const _Node * _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent (  )  [inline, inherited]

retrieve the parent node

Definition at line 286 of file vgtl_tree.h.

parents_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent_begin (  )  [inline, inherited]

return parents_iterator to first parent (the parent)

Definition at line 312 of file vgtl_tree.h.

parents_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent_begin (  )  [inline, inherited]

return parents_iterator to first parent (the parent)

Definition at line 312 of file vgtl_tree.h.

ctree_data_hook& _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent_data_hook (  )  [inline, inherited]

retrieve the parent's data hook

Definition at line 282 of file vgtl_tree.h.

ctree_data_hook& _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent_data_hook (  )  [inline, inherited]

retrieve the parent's data hook

Definition at line 282 of file vgtl_tree.h.

parents_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent_end (  )  [inline, inherited]

return parents_iterator beyond last parent

Definition at line 315 of file vgtl_tree.h.

parents_iterator _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::parent_end (  )  [inline, inherited]

return parents_iterator beyond last parent

Definition at line 315 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_children ( Compare  comp  )  [inline, inherited]

sort all children according to comp

Definition at line 344 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_children ( children_iterator  first,
children_iterator  last,
Compare  comp 
) [inline, inherited]

sort the children in the range [first,last) according to comp

Definition at line 333 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_children ( Compare  comp  )  [inline, inherited]

sort all children according to comp

Definition at line 344 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_children ( children_iterator  first,
children_iterator  last,
Compare  comp 
) [inline, inherited]

sort the children in the range [first,last) according to comp

Definition at line 333 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_parents ( Compare  comp  )  [inline, inherited]

sort all parents according to comp (NOP = do nothing)

Definition at line 349 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_parents ( parents_iterator  first,
parents_iterator  last,
Compare  comp 
) [inline, inherited]

sort the parents in the range [first,last) according to comp (NOP)

Definition at line 339 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_parents ( Compare  comp  )  [inline, inherited]

sort all parents according to comp (NOP = do nothing)

Definition at line 349 of file vgtl_tree.h.

void _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::sort_parents ( parents_iterator  first,
parents_iterator  last,
Compare  comp 
) [inline, inherited]

sort the parents in the range [first,last) according to comp (NOP)

Definition at line 339 of file vgtl_tree.h.


Member Data Documentation

_Node* _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::_C_w_cur [inherited]

pointer to the current node

Definition at line 252 of file vgtl_tree.h.

_Node * _Tree_walker_base< _Tp , _Ref , _Ptr , _Ctr , _Iterator , _Node >::_C_w_cur [inherited]

pointer to the current node

Definition at line 252 of file vgtl_tree.h.


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

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