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

_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 __one_iterator< void * > parents_iterator
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

Public Methods

 _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

_Self & operator<<= (const parents_iterator &__dummy)
_Self & operator>>= (const children_iterator &__i)
_Self & operator= (const _Itr &__x)
_Self & operator= (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 ()
template<class _Function> _Function for_each_child (_Function __f)
template<class _Function> _Function for_each_parent (_Function __f)
template<class Compare> void sort_children (children_iterator first, children_iterator last, Compare comp)
template<class Compare> void sort_children (Compare comp)
template<class Compare> void sort_parents (parents_iterator first, parents_iterator last, Compare comp)
template<class Compare> 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 837 of file vgtl_graph.h.


Member Typedef Documentation

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

standard walker definition

Definition at line 242 of file vgtl_tree.h.

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

standard walker definition

Definition at line 246 of file vgtl_tree.h.

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

standard walker definition

Definition at line 243 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 241 of file vgtl_tree.h.

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

standard walker definition

Definition at line 241 of file vgtl_tree.h.

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

standard walker definition

Definition at line 232 of file vgtl_tree.h.

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

standard walker definition

Definition at line 233 of file vgtl_tree.h.

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

standard walker definition

Definition at line 245 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 231 of file vgtl_tree.h.

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

standard walker definition

Definition at line 231 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 1069 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 1072 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 1075 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 306 of file vgtl_tree.h.

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

return children_iterator to first child

Definition at line 306 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 308 of file vgtl_tree.h.

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

return children_iterator beyond last child

Definition at line 308 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 279 of file vgtl_tree.h.

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

retrieve the data hook

Definition at line 279 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 319 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
template<class _Function>
_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 319 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 325 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
template<class _Function>
_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 325 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 301 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
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 301 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 295 of file vgtl_tree.h.

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

is this node a leaf?

Definition at line 295 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 297 of file vgtl_tree.h.

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

is this node a root?

Definition at line 297 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 303 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
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 303 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 290 of file vgtl_tree.h.

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

return the number of children

Definition at line 290 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 292 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
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 292 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 287 of file vgtl_tree.h.

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

retrieve the full node

Definition at line 287 of file vgtl_tree.h.

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

dereference operator

Definition at line 264 of file vgtl_tree.h.

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

dereference operator

Definition at line 264 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 1082 of file vgtl_tree.h.

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

pointer operator

Definition at line 268 of file vgtl_tree.h.

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

pointer operator

Definition at line 268 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 1088 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 1105 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 1125 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, _Node >.

Definition at line 1119 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 1080 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 1098 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 1113 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 285 of file vgtl_tree.h.

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

retrieve the parent node

Definition at line 285 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 311 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
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 311 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 281 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
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 281 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 314 of file vgtl_tree.h.

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

return parents_iterator beyond last parent

Definition at line 314 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 343 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 332 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
template<class Compare>
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 343 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
template<class Compare>
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 332 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 348 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 338 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
template<class Compare>
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 348 of file vgtl_tree.h.

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
template<class Compare>
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 338 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 251 of file vgtl_tree.h.

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

pointer to the current node

Definition at line 251 of file vgtl_tree.h.


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