_DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc > Class Template Reference
[Classes and types for internal use]

Directed graph base class for allocator encapsulation. More...

#include <vgtl_dagbase.h>

Inheritance diagram for _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >:

Inheritance graph
[legend]

List of all members.

Public Types

typedef _Alloc allocator_type
typedef _Ctr container_type
typedef _Iterator children_iterator
typedef _Iterator parents_iterator

Public Member Functions

allocator_type get_allocator () const
 _DG_base (const allocator_type &)
 ~_DG_base ()
void clear ()

Protected Member Functions

void clear_graph (_DG_node< _Tp, _Ctr, _Iterator > *_node)
_DG_node< _Tp, _Ctr, _Iterator > * _C_get_node ()
void _C_put_node (_DG_node< _Tp, _Ctr, _Iterator > *__p)
void clear_children ()
void clear_parents ()
template<class _Output_Iterator >
void add_all_children (_Output_Iterator fi, _DG_node< _Tp, _Ctr, _Iterator > *_parent)
template<class _Output_Iterator >
void add_all_parents (_Output_Iterator fi, _DG_node< _Tp, _Ctr, _Iterator > *_child)

Protected Attributes

_DG_node< _Tp, _Ctr, _Iterator > * _C_ground
_DG_node< _Tp, _Ctr, _Iterator > * _C_sky
int _C_mark


Detailed Description

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
class _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >

Base directed graph class top level that encapsulates details of allocators. This class is same as _DG_base and _DG_alloc_base if STL doesn't support standard allocators.

Definition at line 349 of file vgtl_dagbase.h.


Member Typedef Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
typedef _Alloc _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::allocator_type

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
typedef _Iterator _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::children_iterator

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
typedef _Ctr _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::container_type

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
typedef _Iterator _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::parents_iterator


Constructor & Destructor Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
_DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::_DG_base ( const allocator_type  )  [inline]

constructor initializing the allocator and the virtual nodes

Definition at line 367 of file vgtl_dagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
_DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::~_DG_base (  )  [inline]

standard destructor

Definition at line 388 of file vgtl_dagbase.h.


Member Function Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
_DG_node<_Tp,_Ctr,_Iterator>* _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::_C_get_node (  )  [inline, protected]

allocate a new node

Definition at line 405 of file vgtl_dagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
void _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::_C_put_node ( _DG_node< _Tp, _Ctr, _Iterator > *  __p  )  [inline, protected]

deallocate a node

Definition at line 408 of file vgtl_dagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
template<class _Output_Iterator >
void _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::add_all_children ( _Output_Iterator  fi,
_DG_node< _Tp, _Ctr, _Iterator > *  _parent 
) [inline, protected]

add all children to the parent _parent. fi is a iterator to the children container of the parent

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
template<class _Output_Iterator >
void _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::add_all_parents ( _Output_Iterator  fi,
_DG_node< _Tp, _Ctr, _Iterator > *  _child 
) [inline, protected]

add all parents to the child _child. fi is a iterator to the parents container of the child

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
void _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::clear (  ) 

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
void _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::clear_children (  )  [inline, protected]

clear all children of the root node

Definition at line 420 of file vgtl_dagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
void _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::clear_graph ( _DG_node< _Tp, _Ctr, _Iterator > *  _node  )  [protected]

removes recursively all nodes downward starting from _node.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
void _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::clear_parents (  )  [inline, protected]

clear all parents of the leaf node

Definition at line 423 of file vgtl_dagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
allocator_type _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::get_allocator (  )  const [inline]


Member Data Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
_DG_node<_Tp,_Ctr,_Iterator>* _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::_C_ground [protected]

the virtual ground node (below all roots)

Definition at line 413 of file vgtl_dagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
int _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::_C_mark [protected]

an internal counter for setting marks during certain algorithms

Definition at line 417 of file vgtl_dagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Alloc>
_DG_node<_Tp,_Ctr,_Iterator>* _DG_base< _Tp, _Ctr, _Iterator, _CIterator, _Alloc >::_C_sky [protected]

the virtual sky node (above all leafs)

Definition at line 415 of file vgtl_dagbase.h.


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

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