_LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc > Class Template Reference
[Classes and types for internal use]

Labelled directed graph base class for allocator encapsulation. More...

#include <vgtl_ldagbase.h>

Inheritance diagram for _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >:

Inheritance graph
[legend]

List of all members.

Public Types

typedef _NAlloc node_allocator_type
typedef _EAlloc edge_allocator_type
typedef _Ctr container_type
typedef _Iterator out_iterator
typedef _CIterator out_const_iterator
typedef _Iterator in_iterator
typedef _CIterator in_const_iterator

Public Member Functions

node_allocator_type get_node_allocator () const
edge_allocator_type get_edge_allocator () const
 _LDG_base (const node_allocator_type &, const edge_allocator_type &)
 ~_LDG_base ()
void clear ()

Protected Member Functions

void clear_graph (_LDG_node< _Tp, _Ctr, _Iterator > *_node)
_LDG_node< _Tp, _Ctr, _Iterator > * _C_get_node ()
void _C_put_node (_LDG_node< _Tp, _Ctr, _Iterator > *__p)
_LDG_edge< _Te, _Node > * _C_get_edge ()
void _C_put_edge (_LDG_edge< _Te, _Node > *__p)
void clear_out_edges ()
void clear_in_edges ()
template<class _Output_Iterator >
void add_all_out_edges (_Output_Iterator fi, _LDG_node< _Tp, _Ctr, _Iterator > *_parent)
template<class _Output_Iterator >
void add_all_in_edges (_Output_Iterator fi, _LDG_node< _Tp, _Ctr, _Iterator > *_child)

Protected Attributes

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


Detailed Description

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
class _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >

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

Definition at line 455 of file vgtl_ldagbase.h.


Member Typedef Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
typedef _Ctr _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::container_type

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
typedef _EAlloc _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::edge_allocator_type

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
typedef _CIterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::in_const_iterator

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
typedef _Iterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::in_iterator

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
typedef _NAlloc _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::node_allocator_type

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
typedef _CIterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::out_const_iterator

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
typedef _Iterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::out_iterator


Constructor & Destructor Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
_LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_LDG_base ( const node_allocator_type ,
const edge_allocator_type  
) [inline]

constructor initializing the allocator and the virtual nodes

Definition at line 479 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
_LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::~_LDG_base (  )  [inline]

standard destructor

Definition at line 505 of file vgtl_ldagbase.h.


Member Function Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
_LDG_edge<_Te,_Node>* _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_C_get_edge (  )  [inline, protected]

allocate a new edge

Definition at line 533 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
_LDG_node<_Tp,_Ctr,_Iterator>* _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_C_get_node (  )  [inline, protected]

allocate a new node

Definition at line 526 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_C_put_edge ( _LDG_edge< _Te, _Node > *  __p  )  [inline, protected]

deallocate a edge

Definition at line 536 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_C_put_node ( _LDG_node< _Tp, _Ctr, _Iterator > *  __p  )  [inline, protected]

deallocate a node

Definition at line 529 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
template<class _Output_Iterator >
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::add_all_in_edges ( _Output_Iterator  fi,
_LDG_node< _Tp, _Ctr, _Iterator > *  _child 
) [inline, protected]

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

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
template<class _Output_Iterator >
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::add_all_out_edges ( _Output_Iterator  fi,
_LDG_node< _Tp, _Ctr, _Iterator > *  _parent 
) [inline, protected]

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

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::clear (  ) 

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::clear_graph ( _LDG_node< _Tp, _Ctr, _Iterator > *  _node  )  [protected]

removes recursively all nodes and edges downward starting from _node.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::clear_in_edges (  )  [inline, protected]

clear all in edges of the sky node

Definition at line 551 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::clear_out_edges (  )  [inline, protected]

clear all out edges of the ground node

Definition at line 548 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
edge_allocator_type _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::get_edge_allocator (  )  const [inline]

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
node_allocator_type _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::get_node_allocator (  )  const [inline]


Member Data Documentation

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
_LDG_node<_Tp,_Ctr,_Iterator>* _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_C_ground [protected]

the virtual ground node (below all roots)

Definition at line 541 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
int _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_C_mark [protected]

an internal counter for setting marks during certain algorithms

Definition at line 545 of file vgtl_ldagbase.h.

template<class _Tp, class _Ctr, class _Iterator, class _CIterator, class _Te, class _NAlloc, class _EAlloc>
_LDG_node<_Tp,_Ctr,_Iterator>* _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::_C_sky [protected]

the virtual sky node (above all leafs)

Definition at line 543 of file vgtl_ldagbase.h.


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

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