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

Generic algorithms for internal use


Functions

template<class _Walker, class _Visitor> _Visitor::return_value _recursive_preorder_walk (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_postorder_walk (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_walk (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_preorder_walk_if (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_preorder_walk_if (_Walker __w, _Visitor __f, _Predicate __p)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_postorder_walk_if (_Walker __w, _Visitor __f, _Predicate __p)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_walk_if (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_cached_walk (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_multi_walk (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor, class _Predicate1, class _Predicate2> _Visitor::return_value _recursive_walk_if (_Walker __w, _Visitor __f, _Predicate1 __p1, _Predicate2 __p2)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_cached_walk (_Walker __w, _Visitor __f, _Predicate __p)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_multi_walk (_Walker __w, _Visitor __f, _Predicate __p)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_preorder_walk_up (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_preorder_walk_up_if (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_preorder_walk_up_if (_Walker __w, _Visitor __f, _Predicate __p)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_postorder_walk_up (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_postorder_walk_up_if (_Walker __w, _Visitor __f, _Predicate __p)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_walk_up (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_walk_up_if (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor, class _Predicate1, class _Predicate2> _Visitor::return_value _recursive_walk_up_if (_Walker __w, _Visitor __f, _Predicate1 __p1, _Predicate2 __p2)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_cached_walk_up (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor> _Visitor::return_value _recursive_multi_walk_up (_Walker __w, _Visitor __f)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_cached_walk_up (_Walker __w, _Visitor __f, _Predicate __p)
template<class _Walker, class _Visitor, class _Predicate> _Visitor::return_value _recursive_multi_walk_up (_Walker __w, _Visitor __f, _Predicate __p)
template<class _BidirIter, class _Tp> _BidirIter rfind (_BidirIter __first, _BidirIter __last, const _Tp &__val, std::bidirectional_iterator_tag)
template<class _BidirIter, class _Predicate> _BidirIter rfind_if (_BidirIter __first, _BidirIter __last, _Predicate __pred, std::bidirectional_iterator_tag)
template<class _RandomAccessIter, class _Tp> _RandomAccessIter rfind (_RandomAccessIter __first, _RandomAccessIter __last, const _Tp &__val, std::random_access_iterator_tag)
template<class _RandomAccessIter, class _Predicate> _RandomAccessIter rfind_if (_RandomAccessIter __first, _RandomAccessIter __last, _Predicate __pred, std::random_access_iterator_tag)

Detailed Description

The generic functions in this section are used by other generic algorithms and are not intended for external use.

Function Documentation

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_cached_walk _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive pre+post order walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If then predicate p returns true, the children are visited. If it returns false, the children are ignored
  • collect is called everytime a child has finished
  • postorder is called after the children have been visited.
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 1341 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_cached_walk _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If it returns true, the children are visited. If it returns false, the children are ignored
  • collect is called everytime a child has finished
  • postorder is called after the children have been visited.
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 1090 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_cached_walk_up _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive pre+post order walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If then predicate __p returns true, the children are visited. If it returns false, the children are ignored
  • collect is called everytime a child has finished
  • postorder is called after the children have been visited.
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 2268 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_cached_walk_up _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If it returns true, the children are visited. If it returns false, the children are ignored
  • collect is called everytime a child has finished
  • postorder is called after the children have been visited.
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 2109 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_multi_walk _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive pre+post order walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node.
  • vcollect is called after a child of a virtual node has finished.
  • vvalue is called to compute the return value of a virtual node.
  • preorder is called before the children are visited.
  • collect is called everytime a child has finished.
  • postorder is called after the children have been visited. If the predicate __p returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node. this function does not check for hitting the virtual ground node.

Definition at line 1423 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_multi_walk _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node.
  • vcollect is called after a child of a virtual node has finished.
  • vvalue is called to compute the return value of a virtual node.
  • preorder is called before the children are visited.
  • collect is called everytime a child has finished.
  • postorder is called after the children have been visited. If it returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node. this function does not check for hitting the virtual ground node.

Definition at line 1169 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_multi_walk_up _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive pre+post order walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node.
  • vcollect is called after a child of a virtual node has finished.
  • vvalue is called to compute the return value of a virtual node.
  • preorder is called before the children are visited.
  • collect is called everytime a child has finished.
  • postorder is called after the children have been visited. If the predicate __p returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node. this function does not check for hitting the virtual sky node.

Definition at line 2351 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_multi_walk_up _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node.
  • vcollect is called after a child of a virtual node has finished.
  • vvalue is called to compute the return value of a virtual node.
  • preorder is called before the children are visited.
  • collect is called everytime a child has finished.
  • postorder is called after the children have been visited. If it returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node. this function does not check for hitting the virtual sky node.

Definition at line 2189 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_postorder_walk _Walker    __w,
_Visitor    __f
 

perform a recursive postorder walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • init is called before the children are visited
  • collect is called everytime a child has finished
  • postorder is called after all children have finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 635 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_postorder_walk_if _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive postorder walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • init is called before the children are visited. Then the predicate is called. If this predicate returns true, the children are visited. Otherwise, the node is treated as if it was a terminal node.
  • postorder is called after all children have been visited.
  • collect is called everytime a child has finished.
  • value is called to compute the return value for this node. this function does not check for hitting the virtual ground node.

Definition at line 926 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_postorder_walk_up _Walker    __w,
_Visitor    __f
 

perform a recursive postorder walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • init is called before the children are visited
  • collect is called everytime a child has finished
  • postorder is called after all children have finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 1708 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_postorder_walk_up_if _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive postorder walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • init is called before the children are visited. Then the predicate is called. If this predicate returns true, the children are visited. Otherwise, the node is treated as if it was a terminal node.
  • postorder is called after all children have been visited.
  • collect is called everytime a child has finished.
  • value is called to compute the return value for this node.

Definition at line 1784 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_preorder_walk _Walker    __w,
_Visitor    __f
 

perform a recursive preorder walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited
  • collect is called everytime a child has finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 568 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_preorder_walk_if _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive preorder walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. Then the predicate is called. If this predicate returns true, the children are visited. Otherwise, the node is treated as if it was a terminal node.
  • collect is called everytime a child has finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 847 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_preorder_walk_if _Walker    __w,
_Visitor    __f
 

perform a recursive preorder walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If this function returns true, the children are visited. Otherwise, the node is treated as if it was a terminal node.
  • collect is called everytime a child has finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 772 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_preorder_walk_up _Walker    __w,
_Visitor    __f
 

perform a recursive preorder walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited
  • collect is called everytime a child has finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 1493 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate>
_Visitor::return_value _recursive_preorder_walk_up_if _Walker    __w,
_Visitor    __f,
_Predicate    __p
 

perform a recursive preorder walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. Then the predicate is called. If this predicate returns true, the children are visited. Otherwise, the node is treated as if it was a terminal node.
  • collect is called everytime a child has finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 1638 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_preorder_walk_up_if _Walker    __w,
_Visitor    __f
 

perform a recursive preorder walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If this function returns true, the children are visited. Otherwise, the node is treated as if it was a terminal node.
  • collect is called everytime a child has finished
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 1563 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_walk _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited
  • collect is called everytime a child has finished
  • postorder is called after all children have been visited
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 702 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate1, class _Predicate2>
_Visitor::return_value _recursive_walk_if _Walker    __w,
_Visitor    __f,
_Predicate1    __p1,
_Predicate2    __p2
 

perform a recursive pre+post order walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If then predicate p1 returns true, the children are visited. If it returns false, the children are ignored
  • collect is called everytime a child has finished
  • postorder is called after the children have been visited. If then predicate p2 returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 1258 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_walk_if _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If it returns true, the children are visited. If it returns false, the children are ignored
  • collect is called everytime a child has finished
  • postorder is called after the children have been visited. If it returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node this function does not check for hitting the virtual ground node.

Definition at line 1012 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_walk_up _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited
  • collect is called everytime a child has finished
  • postorder is called after all children have been visited
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 1854 of file vgtl_algo.h.

template<class _Walker, class _Visitor, class _Predicate1, class _Predicate2>
_Visitor::return_value _recursive_walk_up_if _Walker    __w,
_Visitor    __f,
_Predicate1    __p1,
_Predicate2    __p2
 

perform a recursive pre+post order walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node
  • vcollect is called after a child of a virtual node has finished
  • vvalue is called to compute the return value of a virtual node
  • preorder is called before the children are visited. If then predicate p1 returns true, the children are visited. If it returns false, the children are ignored
  • collect is called everytime a child has finished
  • postorder is called after the children have been visited. If then predicate p2 returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node this function does not check for hitting the virtual sky node.

Definition at line 2027 of file vgtl_algo.h.

template<class _Walker, class _Visitor>
_Visitor::return_value _recursive_walk_up_if _Walker    __w,
_Visitor    __f
 

perform a recursive pre+post order walk towards the root starting at __w. At every node various methods of the visitor __f are called:

  • vinit is called before walking for every virtual node.
  • vcollect is called after a child of a virtual node has finished.
  • vvalue is called to compute the return value of a virtual node.
  • preorder is called before the children are visited. If it returns true, the children are visited. If it returns false, the children are ignored.
  • collect is called everytime a child has finished.
  • postorder is called after the children have been visited. If it returns true, the walk is continued by switching back to preorder mode for this node. If it returns false, the walk is over for this node.
  • value is called to compute the return value for this node. this function does not check for hitting the virtual sky node.

Definition at line 1936 of file vgtl_algo.h.

template<class _RandomAccessIter, class _Tp>
_RandomAccessIter rfind _RandomAccessIter    __first,
_RandomAccessIter    __last,
const _Tp &    __val,
std::random_access_iterator_tag   
 

This is an overload used by rfind() (reverse find) for the Random Access Iterator case. rfind() works like the STL find() algorithm, just backwards.

Definition at line 86 of file vgtl_helpers.h.

template<class _BidirIter, class _Tp>
_BidirIter rfind _BidirIter    __first,
_BidirIter    __last,
const _Tp &    __val,
std::bidirectional_iterator_tag   
[inline]
 

This is an overload used by rfind() (reverse find) for the Bidirectional Iterator case. rfind() works like the STL find() algorithm, just backwards.

Definition at line 44 of file vgtl_helpers.h.

template<class _RandomAccessIter, class _Predicate>
_RandomAccessIter rfind_if _RandomAccessIter    __first,
_RandomAccessIter    __last,
_Predicate    __pred,
std::random_access_iterator_tag   
 

This is an overload used by rfind_if() (reverse find if) for the Random Access Iterator case. rfind_if() works like the STL find_if() algorithm, just backwards.

Definition at line 136 of file vgtl_helpers.h.

template<class _BidirIter, class _Predicate>
_BidirIter rfind_if _BidirIter    __first,
_BidirIter    __last,
_Predicate    __pred,
std::bidirectional_iterator_tag   
[inline]
 

This is an overload used by rfind_if() (reverse find if) for the Bidirectional Iterator case. rfind_if() works like the STL find_if() algorithm, just backwards.

Definition at line 64 of file vgtl_helpers.h.


Generated on Tue Nov 4 01:41:51 2003 for Vienna Graph Template Library by doxygen1.2.18