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

base class for all tree walkers More...

#include <vgtl_tree.h>

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

Inheritance graph
[legend]
Collaboration diagram for _Tree_walker_base< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node >:

Collaboration graph
[legend]

List of all members.

Public Types

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 Member Functions

 _Tree_walker_base ()
 _Tree_walker_base (_Node *__x)
 _Tree_walker_base (const walker &__x)
reference operator* () const
pointer operator-> () const
_Selfoperator= (const _Itr &__x)
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_parents (parents_iterator first, parents_iterator last, Compare comp)
template<class Compare >
void sort_children (Compare comp)
template<class Compare >
void sort_parents (Compare comp)

Public Attributes

_Node * _C_w_cur


Detailed Description

template<class _Tp, class _Ref, class _Ptr, class _Ctr, class _Iterator, class _Node>
class _Tree_walker_base< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node >

This is the base class for all tree walkers.

Definition at line 222 of file vgtl_tree.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

standard walker definition

Definition at line 243 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

standard walker definition

Definition at line 247 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

standard walker definition

Definition at line 244 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

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 _Ptr _Tree_walker_base< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node >::pointer

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 _Ref _Tree_walker_base< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node >::reference

standard walker definition

Definition at line 234 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

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 _Tp _Tree_walker_base< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node >::value_type

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, class _Node>
_Tree_walker_base< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node >::_Tree_walker_base (  )  [inline]

standard constructor

Definition at line 256 of file vgtl_tree.h.

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

constructor setting the position

Definition at line 259 of file vgtl_tree.h.

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

copy constructor

Definition at line 262 of file vgtl_tree.h.


Member Function Documentation

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]

return children_iterator to first child

Definition at line 307 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]

return children_iterator beyond last child

Definition at line 309 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]

retrieve the data hook

Definition at line 280 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]

apply the function __f to all children

Definition at line 320 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]

apply the function __f to all parents

Definition at line 326 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]

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

Definition at line 302 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]

is this node a leaf?

Definition at line 296 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]

is this node a root?

Definition at line 298 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]

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

Definition at line 304 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]

return the number of children

Definition at line 291 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]

return the number of parents (0 or 1)

Definition at line 293 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]

retrieve the full node

Definition at line 288 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]

dereference operator

Definition at line 265 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]

pointer operator

Definition at line 269 of file vgtl_tree.h.

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

assignment operator from iterator to walker

Reimplemented in _Tree_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator, _Node >, and _RTree_walker< _Tp, _Ref, _Ptr, _Ctr, _Iterator >.

Definition at line 274 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]

retrieve the parent node

Definition at line 286 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]

return parents_iterator to first parent (the parent)

Definition at line 312 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]

retrieve the parent's data hook

Definition at line 282 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]

return parents_iterator beyond last parent

Definition at line 315 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]

sort all children according to comp

Definition at line 344 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]

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

Definition at line 333 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]

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

Definition at line 349 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]

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

Definition at line 339 of file vgtl_tree.h.


Member Data Documentation

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

pointer to the current node

Definition at line 252 of file vgtl_tree.h.


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

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