#include <vgtl_ldag.h>
Public Types | |
typedef _Ctr | container_type |
typedef _Iterator | out_iterator |
typedef _Iterator | in_iterator |
typedef _CIterator | out_const_iterator |
typedef _CIterator | in_const_iterator |
typedef _Base::node_allocator_type | node_allocator_type |
typedef _Base::edge_allocator_type | edge_allocator_type |
typedef _LDG_iterator< _Tp, _Tp &, _Tp *, container_type, children_iterator, children_const_iterator, _Te > | iterator |
typedef _LDG_iterator< _Tp, const _Tp &, const _Tp *, container_type, children_iterator, children_const_iterator, _Te > | const_iterator |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef std::reverse_iterator < iterator > | reverse_iterator |
typedef _LDG_walker< _Tp, _Tp &, _Tp *, container_type, children_iterator, children_const_iterator, _Te > | walker |
typedef _LDG_walker< _Tp, const _Tp &, const _Tp *, container_type, children_iterator, children_const_iterator, _Te > | const_walker |
typedef _Tp | value_type |
typedef _Node | node_type |
typedef _Edge | edge_type |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef size_t | size_type |
typedef ptrdiff_t | difference_type |
Public Member Functions | |
node_allocator_type | get_node_allocator () const |
edge_allocator_type | get_edge_allocator () const |
__LDG (const allocator_type &__a=allocator_type()) | |
walker | ground () |
walker | sky () |
const_walker | ground () const |
const_walker | sky () const |
bool | empty () const |
size_type | size () const |
size_type | max_size () const |
void | swap (_Self &__x) |
walker | insert_node_in_graph (_Node *__n, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
walker | insert_in_graph (const _Tp &__x, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
walker | insert_in_graph (const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
void | insert_subgraph (_Self &__subgraph, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr1, template< class __Tp, class __AllocTp > class __SequenceCtr2, class _Allocator1 , class _Allocator2 > | |
walker | insert_node_in_graph (_Node *__node, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr1, template< class __Tp, class __AllocTp > class __SequenceCtr2, class _Allocator1 , class _Allocator2 > | |
walker | insert_in_graph (const _Tp &__x, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr1, template< class __Tp, class __AllocTp > class __SequenceCtr2, class _Allocator1 , class _Allocator2 > | |
walker | insert_in_graph (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | insert_node_in_graph (_Node *__node, const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | insert_in_graph (const _Tp &__x, const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | insert_in_graph (const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | insert_node_in_graph (_Node *__node, const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | insert_in_graph (const _Tp &__x, const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | insert_in_graph (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr1, template< class __Tp, class __AllocTp > class __SequenceCtr2, class _Allocator1 , class _Allocator2 > | |
void | insert_subgraph (_Self &__subgraph, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
void | add_edge (const edge &__edge, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
void | add_edge (const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
void | replace_edge_to_child (const walker &__parent, const walker &__child_old, const walker &__child_new) |
void | replace_edge_to_parent (const walker &__parent_old, const walker &__parent_new, const walker &__child) |
void | remove_edge (const edge &__edge) |
void | remove_edge_and_deattach (const walker &__parent, const walker &__child) |
void | remove_edge (const walker &__parent, const walker &__child) |
template<class Compare > | |
void | sort_child_edges (walker __position, children_iterator first, children_iterator last, Compare comp) |
template<class Compare > | |
void | sort_parent_edges (walker __position, parents_iterator first, parents_iterator last, Compare comp) |
template<class Compare > | |
void | sort_child_edges (walker __position, Compare comp) |
template<class Compare > | |
void | sort_parent_edges (walker __position, Compare comp) |
walker | insert_node (_Node *_node, const walker &__position, const container_insert_arg &__It) |
walker | insert_node (const _Tp &__x, const walker &__position, const container_insert_arg &__It) |
walker | insert_node (const walker &__position, const container_insert_arg &__It) |
walker | insert_node_before (_Node *_node, const walker &__position, const container_insert_arg &__It) |
void | insert_node_before (const _Tp &__x, const walker &__position, const container_insert_arg &__It) |
void | insert_node_before (const walker &__position, const container_insert_arg &__It) |
void | merge (const walker &__position, const walker &__second, bool merge_parent_edges=true, bool merge_child_edges=true) |
void | erase (const walker &__position) |
void | partial_erase_to_parent (const walker &__position, const walker &__parent, unsigned int idx) |
void | clear_erased_part (erased_part &_ep) |
erased_part | erase_maximal_subgraph (const walker &__position) |
erased_part | erase_minimal_subgraph (const walker &__position) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
erased_part | erase_maximal_subgraph (const __SequenceCtr< walker, _Allocator > &__positions) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
erased_part | erase_minimal_subgraph (const __SequenceCtr< walker, _Allocator > &__positions) |
erased_part | erase_maximal_pregraph (const walker &__position) |
erased_part | erase_minimal_pregraph (const walker &__position) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
erased_part | erase_maximal_pregraph (const __SequenceCtr< walker, _Allocator > &__positions) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
erased_part | erase_minimal_pregraph (const __SequenceCtr< walker, _Allocator > &__positions) |
bool | erase_child (const walker &__position, const children_iterator &__It) |
bool | erase_parent (const walker &__position, const parents_iterator &__It) |
void | clear () |
__LDG (const _Self &__x) | |
~__LDG () | |
_Self & | operator= (const _Self &__x) |
_Self & | operator= (const _RV_LDG &__rl) |
_Self & | operator= (const erased_part &__ep) |
out_iterator | source_begin () |
out_iterator | root_begin () |
out_iterator | source_end () |
out_iterator | root_end () |
out_const_iterator | source_begin () const |
out_iterator | root_begin () |
out_const_iterator | source_end () const |
out_iterator | root_end () |
in_iterator | sink_begin () |
in_iterator | leaf_begin () |
in_iterator | sink_end () |
in_iterator | leaf_end () |
in_const_iterator | sink_begin () const |
in_iterator | leaf_begin () |
in_const_iterator | sink_end () const |
in_iterator | leaf_end () |
Protected Types | |
typedef std::pair< _RV_LDG, std::vector< enhanced_edge > > | erased_part |
Protected Member Functions | |
_Node * | _C_create_node (const _Tp &__x) |
_Node * | _C_create_node () |
_Edge * | _C_create_edge (const _Te &__x) |
_Edge * | _C_create_edge () |
_Edge * | _C_create_edge (const _Te &__x, _Node *__s, _Node *__t) |
_Edge * | _C_create_edge (_Node *__s, _Node *__t) |
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 () |
void | add_all_out_edges (_Output_Iterator fi, _LDG_node< _Tp, _Ctr, _Iterator > *_parent) |
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 598 of file vgtl_ldag.h.
typedef _LDG_iterator<_Tp,const _Tp&,const _Tp*,container_type, children_iterator,children_const_iterator,_Te> __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::const_iterator |
the const iterator
Definition at line 651 of file vgtl_ldag.h.
typedef const value_type* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::const_pointer |
standard typedef
Definition at line 630 of file vgtl_ldag.h.
typedef const value_type& __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::const_reference |
standard typedef
Definition at line 632 of file vgtl_ldag.h.
typedef std::reverse_iterator<const_iterator> __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::const_reverse_iterator |
the const reverse iterator
Definition at line 655 of file vgtl_ldag.h.
typedef _LDG_walker<_Tp,const _Tp&,const _Tp*,container_type,children_iterator, children_const_iterator,_Te> __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::const_walker |
the (recursive) const walker
Reimplemented in ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, ldag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, and ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 674 of file vgtl_ldag.h.
typedef _Ctr __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::container_type |
internal container used to store the edges
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 601 of file vgtl_ldag.h.
typedef ptrdiff_t __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::difference_type |
standard typedef
Definition at line 634 of file vgtl_ldag.h.
typedef _Base::edge_allocator_type __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::edge_allocator_type |
edge allocator type
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 641 of file vgtl_ldag.h.
typedef _Edge __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::edge_type |
standard typedef
Definition at line 628 of file vgtl_ldag.h.
typedef std::pair<_RV_LDG, std::vector<enhanced_edge> > __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erased_part [protected] |
an edge of the graph (parent, child) an edge with additiona information about erased ground/sky edges an erased subgraph which is not yet a new directed graph
Reimplemented in ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, ldag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, and ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 683 of file vgtl_ldag.h.
typedef _CIterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::in_const_iterator |
const iterator for accessing the out edges
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 605 of file vgtl_ldag.h.
typedef _Iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::in_iterator |
iterator for accessing the in edges
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 603 of file vgtl_ldag.h.
typedef _LDG_iterator<_Tp,_Tp&,_Tp*,container_type,children_iterator, children_const_iterator,_Te> __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::iterator |
the iterator
Definition at line 648 of file vgtl_ldag.h.
typedef _Base::node_allocator_type __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::node_allocator_type |
node allocator type
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 637 of file vgtl_ldag.h.
typedef _Node __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::node_type |
standard typedef
Definition at line 627 of file vgtl_ldag.h.
typedef _CIterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::out_const_iterator |
const iterator for accessing the out edges
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 604 of file vgtl_ldag.h.
typedef _Iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::out_iterator |
iterator for accessing the out edges
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 602 of file vgtl_ldag.h.
typedef value_type* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::pointer |
standard typedef
Definition at line 629 of file vgtl_ldag.h.
typedef value_type& __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::reference |
standard typedef
Definition at line 631 of file vgtl_ldag.h.
typedef std::reverse_iterator<iterator> __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::reverse_iterator |
the reverse iterator
Definition at line 657 of file vgtl_ldag.h.
typedef size_t __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::size_type |
standard typedef
Definition at line 633 of file vgtl_ldag.h.
typedef _Tp __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::value_type |
standard typedef
Definition at line 626 of file vgtl_ldag.h.
typedef _LDG_walker<_Tp,_Tp&,_Tp*,container_type,children_iterator, children_const_iterator,_Te> __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::walker |
the (recursive) walker
Reimplemented in ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, ldag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, and ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 671 of file vgtl_ldag.h.
__LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::__LDG | ( | const allocator_type & | __a = allocator_type() |
) | [inline, explicit] |
standard constructor
Definition at line 781 of file vgtl_ldag.h.
__LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::__LDG | ( | const _Self & | __x | ) | [inline] |
copy constructor
Definition at line 2108 of file vgtl_ldag.h.
__LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::~__LDG | ( | ) | [inline] |
standard destructor
Definition at line 2125 of file vgtl_ldag.h.
_Edge* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::_C_create_edge | ( | _Node * | __s, | |
_Node * | __t | |||
) | [inline, protected] |
construct a new graph edge containing default data with source __s
and target __t
.
Definition at line 766 of file vgtl_ldag.h.
_Edge* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::_C_create_edge | ( | const _Te & | __x, | |
_Node * | __s, | |||
_Node * | __t | |||
) | [inline, protected] |
construct a new graph edge containing data __x
with source __s
and target __t
.
Definition at line 751 of file vgtl_ldag.h.
_Edge* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::_C_create_edge | ( | ) | [inline, protected] |
construct a new graph edge containing default data
Definition at line 738 of file vgtl_ldag.h.
_Edge* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::_C_create_edge | ( | const _Te & | __x | ) | [inline, protected] |
construct a new graph edge containing data __x
Definition at line 726 of file vgtl_ldag.h.
_Node* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::_C_create_node | ( | ) | [inline, protected] |
construct a new graph node containing default data
Definition at line 712 of file vgtl_ldag.h.
_Node* __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::_C_create_node | ( | const _Tp & | __x | ) | [inline, protected] |
construct a new graph node containing data __x
Definition at line 698 of file vgtl_ldag.h.
_LDG_edge<_Te ,_Node>* _LDG_base< _Tp , _Ctr , _Iterator , _CIterator , _Te , _NAlloc , _EAlloc >::_C_get_edge | ( | ) | [inline, protected, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
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, inherited] |
add all out edges to the parent _parent
. fi
is a iterator to the out edges container of the parent
Definition at line 603 of file vgtl_ldagbase.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::add_edge | ( | const walker & | __parent, | |
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline] |
add an edge between __parent
and __child
at positions __Itc
and __Itp
, respectively
Definition at line 1200 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::add_edge | ( | const edge & | __edge, | |
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline] |
add one edge between two nodes at the positions described by __Itc
and __Itp
.
Definition at line 1191 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::clear | ( | ) | [inline] |
erase all the nodes except sky and ground
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Reimplemented in ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >, and ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2068 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::clear_erased_part | ( | erased_part & | _ep | ) | [inline] |
clear all nodes in an erased part
Definition at line 1868 of file vgtl_ldag.h.
void _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >::clear_graph | ( | _LDG_node< _Tp , _Ctr , _Iterator > * | _node | ) | [inline, protected, inherited] |
removes recursively all nodes and edges downward starting from _node.
Definition at line 572 of file vgtl_ldagbase.h.
void _LDG_base< _Tp , _Ctr , _Iterator , _CIterator , _Te , _NAlloc , _EAlloc >::clear_in_edges | ( | ) | [inline, protected, inherited] |
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, inherited] |
clear all out edges of the ground node
Definition at line 548 of file vgtl_ldagbase.h.
bool __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::empty | ( | ) | const [inline] |
returns true
if the DG is empty
Definition at line 888 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase | ( | const walker & | __position | ) | [inline] |
erase a node from the DG except the sky and ground
Definition at line 1518 of file vgtl_ldag.h.
bool __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_child | ( | const walker & | __position, | |
const children_iterator & | __It | |||
) | [inline] |
Erase a child of __position
. This works if and only if the child has only one child and no other parents.
Definition at line 2020 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_maximal_pregraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline] |
here every child is removed till the sky included all nodes from __positions
. The removed subgraph is returned. The subgraph is maximal, i.e. all nodes are removed, which are reachable from any node from __positions
by walking up.
Definition at line 1984 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_maximal_pregraph | ( | const walker & | __position | ) | [inline] |
here every child is removed till the sky node. included the node at __position
. The removed subgraph is returned. The subgraph is maximal, i.e. all nodes are removed, which are reachable from __position
by walking upwards.
Definition at line 1950 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_maximal_subgraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline] |
here every child is removed till the last base node, included all nodes from __positions
. The removed subgraph is returned. The subgraph is maximal, i.e. all nodes are removed, which are reachable from any node from __positions
by walking down.
Definition at line 1913 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_maximal_subgraph | ( | const walker & | __position | ) | [inline] |
here every child is removed till the last base node, included the node at __position
. The removed subgraph is returned. The subgraph is maximal, i.e. all nodes are removed, which are reachable from __position
by walking down.
Definition at line 1879 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_minimal_pregraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline] |
here every child is removed till the sky. included all nodes from __positions
. The removed subgraph is returned. The subgraph is minimal, i.e. only nodes are removed, which have no other ancestor than any node in __positions
. I.e., when walking towards the ground, there is no way which bypasses all nodes in __positions
.
Definition at line 2004 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_minimal_pregraph | ( | const walker & | __position | ) | [inline] |
here every child is removed till the sky. included the node at __position
. The removed subgraph is returned. The subgraph is minimal, i.e. only nodes are removed, which have no other descendant than __position
. I.e., when walking towards the sky, there is no way which bypasses __position
.
Definition at line 1966 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_minimal_subgraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline] |
here every child is removed till the last base node, included all nodes from __positions
. The removed subgraph is returned. The subgraph is minimal, i.e. only nodes are removed, which have no other ancestor than any node in __positions
. I.e., when walking towards the ground, there is no way which bypasses all nodes in __positions
.
Definition at line 1933 of file vgtl_ldag.h.
erased_part __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_minimal_subgraph | ( | const walker & | __position | ) | [inline] |
here every child is removed till the last base node, included the node at __position
. The removed subgraph is returned. The subgraph is minimal, i.e. only nodes are removed, which have no other ancestor than __position
. I.e., when walking towards the ground, there is no way which bypasses __position
.
Definition at line 1895 of file vgtl_ldag.h.
bool __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::erase_parent | ( | const walker & | __position, | |
const parents_iterator & | __It | |||
) | [inline] |
Erase a parent of __position
. This works if and only if the parent has only one parent and no other children.
Definition at line 2046 of file vgtl_ldag.h.
edge_allocator_type __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::get_edge_allocator | ( | ) | const [inline] |
construct an edge allocator object
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 643 of file vgtl_ldag.h.
node_allocator_type __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::get_node_allocator | ( | ) | const [inline] |
construct a node allocator object
Reimplemented from _LDG_base< _Tp, _Ctr, _Iterator, _CIterator, _Te, _NAlloc, _EAlloc >.
Definition at line 639 of file vgtl_ldag.h.
const_walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::ground | ( | ) | const [inline] |
return a const walker to the virtual ground node.
Definition at line 794 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::ground | ( | ) | [inline] |
return a walker to the virtual ground node.
Definition at line 784 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const container_insert_arg & | __cref | |||
) | [inline] |
insert a node with default data into the graph between all parents from __parents
and the child __child
.
Definition at line 1127 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const _Tp & | __x, | |
const __SequenceCtr< walker, _Allocator > & | __parents, | |||
const walker & | __child, | |||
const container_insert_arg & | __cref | |||
) | [inline] |
insert a node with data __x
into the graph between all parents from __parents
and the child __child
.
Definition at line 1112 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const walker & | __parent, | |
const container_insert_arg & | __pref, | |||
const __SequenceCtr< walker, _Allocator > & | __children | |||
) | [inline] |
insert a node with data __x
into the graph between the parent __parent
and all children from __children
.
Definition at line 1073 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const _Tp & | __x, | |
const walker & | __parent, | |||
const container_insert_arg & | __pref, | |||
const __SequenceCtr< walker, _Allocator > & | __children | |||
) | [inline] |
insert a node with data __x
into the graph between the parent __parent
and all children from __children
.
Definition at line 1059 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline] |
insert a node with default data into the graph between all parents from __parents
and all children from __children
.
Definition at line 1021 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const _Tp & | __x, | |
const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |||
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline] |
insert a node with data __x
into the graph between all parents from __parents
and all children from __children
.
Definition at line 1006 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const walker & | __parent, | |
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline] |
insert node with default data into the graph between __parent
and __child
, the edge at the specific positions described by __Itc
and __Itp
.
Definition at line 942 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_in_graph | ( | const _Tp & | __x, | |
const walker & | __parent, | |||
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline] |
insert node with data __n
into the graph between __parent
and __child
, the edge at the specific positions described by __Itc
and __Itp
.
Definition at line 928 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node | ( | const walker & | __position, | |
const container_insert_arg & | __It | |||
) | [inline] |
insert a new node with default data as child of __position
Definition at line 1399 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node | ( | const _Tp & | __x, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline] |
insert a new node with data __x
as child of __position
Definition at line 1393 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node | ( | _Node * | _node, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline] |
insert one node as child of __position
Definition at line 1379 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node_before | ( | const walker & | __position, | |
const container_insert_arg & | __It | |||
) | [inline] |
insert a new node with default data as parent of __position
Definition at line 1423 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node_before | ( | const _Tp & | __x, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline] |
insert a new node with data __x
as parent of __position
Definition at line 1418 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node_before | ( | _Node * | _node, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline] |
insert a node as parent of __position
Definition at line 1404 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node_in_graph | ( | _Node * | __node, | |
const __SequenceCtr< walker, _Allocator > & | __parents, | |||
const walker & | __child, | |||
const container_insert_arg & | __cref | |||
) | [inline] |
insert node __n
into the graph between all parents from __parents
and the child __child
.
Definition at line 1087 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node_in_graph | ( | _Node * | __node, | |
const walker & | __parent, | |||
const container_insert_arg & | __pref, | |||
const __SequenceCtr< walker, _Allocator > & | __children | |||
) | [inline] |
insert node __n
into the graph between the parent __parent
and all children from __children
.
Definition at line 1034 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node_in_graph | ( | _Node * | __node, | |
const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |||
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline] |
insert node __n
into the graph between all parents from __parents
and all children from __children
.
Definition at line 975 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_node_in_graph | ( | _Node * | __n, | |
const walker & | __parent, | |||
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline] |
insert node __n
into the graph between __parent
and __child
, the edge at the specific positions described by __Itc
and __Itp
.
Definition at line 912 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_subgraph | ( | _Self & | __subgraph, | |
const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |||
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline] |
in this method one DG is inserted into another DG between the parents __parents
and the children __children
.
Definition at line 1141 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::insert_subgraph | ( | _Self & | __subgraph, | |
const walker & | __parent, | |||
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline] |
insert a subgraph into the graph between __parent
and __child
, the edge at the specific positions described by __Itc
and __Itp
.
Definition at line 953 of file vgtl_ldag.h.
in_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::leaf_begin | ( | ) | [inline] |
return the first local sink of the directed graph
Definition at line 846 of file vgtl_ldag.h.
in_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::leaf_begin | ( | ) | [inline] |
return the first local sink of the directed graph
Definition at line 833 of file vgtl_ldag.h.
in_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::leaf_end | ( | ) | [inline] |
return beyond the last local sink of the directed graph
Definition at line 852 of file vgtl_ldag.h.
in_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::leaf_end | ( | ) | [inline] |
return beyond the last local sink of the directed graph
Definition at line 839 of file vgtl_ldag.h.
size_type __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::max_size | ( | ) | const [inline] |
the maximum size of a DG is virtually unlimited
Definition at line 899 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::merge | ( | const walker & | __position, | |
const walker & | __second, | |||
bool | merge_parent_edges = true , |
|||
bool | merge_child_edges = true | |||
) | [inline] |
merge two nodes, call also the merge method for the node data
Definition at line 1429 of file vgtl_ldag.h.
_Self& __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::operator= | ( | const erased_part & | __ep | ) | [inline] |
assignment operator from an erased part
Reimplemented in ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2139 of file vgtl_ldag.h.
_Self& __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::operator= | ( | const _RV_LDG & | __rl | ) | [inline] |
assignment operator from a part of an erased part
Reimplemented in ldgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2131 of file vgtl_ldag.h.
_Self& __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::operator= | ( | const _Self & | __x | ) |
standard assignment operator
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::partial_erase_to_parent | ( | const walker & | __position, | |
const walker & | __parent, | |||
unsigned int | idx | |||
) | [inline] |
split a node in two, the first connected to the __parent, the second connected to all other parents. Then erase the first node.
Definition at line 1578 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::remove_edge | ( | const walker & | __parent, | |
const walker & | __child | |||
) | [inline] |
just remove one edge between __parent
and __child
Definition at line 1332 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::remove_edge | ( | const edge & | __edge | ) | [inline] |
remove an edge with a particular parent and child
Definition at line 1315 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::remove_edge_and_deattach | ( | const walker & | __parent, | |
const walker & | __child | |||
) | [inline] |
remove one egde and don't reconnect the node to sky/ground
Definition at line 1319 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::replace_edge_to_child | ( | const walker & | __parent, | |
const walker & | __child_old, | |||
const walker & | __child_new | |||
) | [inline] |
change the edge from __parent
to __child_old
to an edge from __parent
to __child_new
.
Definition at line 1243 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::replace_edge_to_parent | ( | const walker & | __parent_old, | |
const walker & | __parent_new, | |||
const walker & | __child | |||
) | [inline] |
change the edge from __parent_old
to __child
to an edge from __parent_new
to __child
.
Definition at line 1281 of file vgtl_ldag.h.
out_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::root_begin | ( | ) | [inline] |
return the first local source of the directed graph
Definition at line 820 of file vgtl_ldag.h.
out_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::root_begin | ( | ) | [inline] |
return the first local source of the directed graph
Definition at line 807 of file vgtl_ldag.h.
out_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::root_end | ( | ) | [inline] |
return beyond the last local source of the directed graph
Definition at line 826 of file vgtl_ldag.h.
out_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::root_end | ( | ) | [inline] |
return beyond the last local source of the directed graph
Definition at line 813 of file vgtl_ldag.h.
in_const_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sink_begin | ( | ) | const [inline] |
return the first local sink of the directed graph
Definition at line 844 of file vgtl_ldag.h.
in_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sink_begin | ( | ) | [inline] |
return the first local sink of the directed graph
Definition at line 831 of file vgtl_ldag.h.
in_const_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sink_end | ( | ) | const [inline] |
return beyond the last local sink of the directed graph
Definition at line 850 of file vgtl_ldag.h.
in_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sink_end | ( | ) | [inline] |
return beyond the last local sink of the directed graph
Definition at line 837 of file vgtl_ldag.h.
size_type __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::size | ( | ) | const [inline] |
returns the size of the DG (number of nodes)
Definition at line 892 of file vgtl_ldag.h.
const_walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sky | ( | ) | const [inline] |
return a const walker to the virtual sky node.
Definition at line 799 of file vgtl_ldag.h.
walker __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sky | ( | ) | [inline] |
return a walker to the virtual sky node.
Definition at line 789 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sort_child_edges | ( | walker | __position, | |
Compare | comp | |||
) | [inline] |
sort all child edges according to comp
Definition at line 1368 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sort_child_edges | ( | walker | __position, | |
children_iterator | first, | |||
children_iterator | last, | |||
Compare | comp | |||
) | [inline] |
sort the child edges in the range [first,last) according to comp
Definition at line 1356 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sort_parent_edges | ( | walker | __position, | |
Compare | comp | |||
) | [inline] |
sort all parent edges according to comp
Definition at line 1374 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::sort_parent_edges | ( | walker | __position, | |
parents_iterator | first, | |||
parents_iterator | last, | |||
Compare | comp | |||
) | [inline] |
sort the parent edges in the range [first,last) according to comp
Definition at line 1362 of file vgtl_ldag.h.
out_const_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::source_begin | ( | ) | const [inline] |
return the first local source of the directed graph
Definition at line 818 of file vgtl_ldag.h.
out_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::source_begin | ( | ) | [inline] |
return the first local source of the directed graph
Definition at line 805 of file vgtl_ldag.h.
out_const_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::source_end | ( | ) | const [inline] |
return beyond the last local source of the directed graph
Definition at line 824 of file vgtl_ldag.h.
out_iterator __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::source_end | ( | ) | [inline] |
return beyond the last local source of the directed graph
Definition at line 811 of file vgtl_ldag.h.
void __LDG< _Tp, _Te, _Ctr, _Iterator, _CIterator, _Inserter, _NAlloc, _EAlloc >::swap | ( | _Self & | __x | ) | [inline] |
swap two DGs
Definition at line 902 of file vgtl_ldag.h.
_LDG_node<_Tp ,_Ctr ,_Iterator >* _LDG_base< _Tp , _Ctr , _Iterator , _CIterator , _Te , _NAlloc , _EAlloc >::_C_ground [protected, inherited] |
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, inherited] |
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, inherited] |
the virtual sky node (above all leafs)
Definition at line 543 of file vgtl_ldagbase.h.