#include <vgtl_ldagbase.h>
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 |
Definition at line 455 of file vgtl_ldagbase.h.
typedef _Ctr _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::container_type |
internal container used to store the edges
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 468 of file vgtl_ldagbase.h.
typedef _EAlloc _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::edge_allocator_type |
edge allocator type
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 461 of file vgtl_ldagbase.h.
typedef _CIterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::in_const_iterator |
const iterator for accessing the out edges
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 476 of file vgtl_ldagbase.h.
typedef _Iterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::in_iterator |
iterator for accessing the in edges
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 474 of file vgtl_ldagbase.h.
typedef _NAlloc _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::node_allocator_type |
node allocator type
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 459 of file vgtl_ldagbase.h.
typedef _CIterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::out_const_iterator |
const iterator for accessing the out edges
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 472 of file vgtl_ldagbase.h.
typedef _Iterator _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::out_iterator |
iterator for accessing the out edges
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 470 of file vgtl_ldagbase.h.
_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.
_LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::~_LDG_base | ( | ) | [inline] |
standard destructor
Definition at line 505 of file vgtl_ldagbase.h.
_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.
_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.
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.
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.
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
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
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::clear | ( | ) |
empty the graph
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >, and ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
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.
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.
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.
edge_allocator_type _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::get_edge_allocator | ( | ) | const [inline] |
get an edge allocator object
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 465 of file vgtl_ldagbase.h.
node_allocator_type _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::get_node_allocator | ( | ) | const [inline] |
get a node allocator object
Reimplemented in __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >, and __LDG< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _SequenceCtr< void *, _PtrAlloc >::iterator, _Alloc >.
Definition at line 463 of file vgtl_ldagbase.h.
_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.
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.
_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.