#include <vgtl_dag.h>
Public Types | |
typedef _Base::walker | walker |
typedef _Base::const_walker | const_walker |
typedef _Base::children_iterator | children_iterator |
typedef _Base::parents_iterator | parents_iterator |
typedef _Base::parents_const_iterator | parents_const_iterator |
typedef _Base::children_const_iterator | children_const_iterator |
typedef _SequenceCtr< void *, _PtrAlloc > | container_type |
typedef _DG_iterator< _Tp, _Tp &, _Tp *, container_type, children_iterator, children_const_iterator > | iterator |
typedef _DG_iterator< _Tp, const _Tp &, const _Tp *, container_type, children_iterator, children_const_iterator > | const_iterator |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef std::reverse_iterator < iterator > | reverse_iterator |
typedef std::pair< walker, walker > | edge |
typedef std::pair< edge, bool > | enhanced_edge |
typedef _Tp | value_type |
typedef _Node | node_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 | |
dgraph (const allocator_type &__a=allocator_type()) | |
dgraph (const _Self &__dg) | |
dgraph (const erased_part &__ep, const allocator_type &__a=allocator_type()) | |
void | clear () |
walker | between (const walker &__parent, const children_iterator &__cit, const walker &__child, const parents_iterator &__pit, const _Tp &__x) |
walker | split (const walker &__parent, const children_iterator &__ch_it, const walker &__child, const parents_iterator &__pa_it, const _Tp &__x) |
walker | between_back (const walker &__parent, const walker &__child, const _Tp &__x) |
walker | split_back (const walker &__parent, const walker &__child, const _Tp &__x) |
walker | between_front (const walker &__parent, const walker &__child, const _Tp &__x) |
walker | split_front (const walker &__parent, const walker &__child, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr1, template< class __Tp, class __AllocTp > class __SequenceCtr2, class _Allocator1 , class _Allocator2 > | |
walker | between (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr1, template< class __Tp, class __AllocTp > class __SequenceCtr2, class _Allocator1 , class _Allocator2 > | |
void | split (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children, const _Tp &__x) |
void | insert_subgraph (_Self &__subgraph, const walker &__parent, const children_iterator &__ch_it, const walker &__child, const parents_iterator &__pa_it) |
void | insert_back_subgraph (_Self &__subgraph, const walker &__parent, const walker &__child) |
void | insert_front_subgraph (_Self &__subgraph, const walker &__parent, const walker &__child) |
void | add_edge (const walker &__parent, const children_iterator &__ch_it, const walker &__child, const parents_iterator &__pa_it) |
void | add_edge_back (const walker &__parent, const walker &__child) |
void | add_edge_front (const walker &__parent, const walker &__child) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | between (const walker &__parent, const children_iterator &__cit, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | split (const walker &__parent, const children_iterator &__ch_it, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | split_back (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | between_back (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | split_front (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | between_front (const walker &__parent, const __SequenceCtr< walker, _Allocator > &__children, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | between (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const parents_iterator &__pit, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | split (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const parents_iterator &__pr_it, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | split_back (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | between_back (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | split_front (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
template<template< class __Tp, class __AllocTp > class __SequenceCtr, class _Allocator > | |
walker | between_front (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const _Tp &__x) |
_Self & | operator= (const _RV_DG &__rl) |
_Self & | operator= (const erased_part &__ep) |
allocator_type | get_allocator () const |
walker | ground () |
const_walker | ground () const |
walker | sky () |
const_walker | sky () const |
children_iterator | root_begin () |
children_const_iterator | root_begin () const |
children_iterator | root_end () |
children_const_iterator | root_end () const |
parents_iterator | leaf_begin () |
parents_const_iterator | leaf_begin () const |
parents_iterator | leaf_end () |
parents_const_iterator | leaf_end () 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_node_in_graph (_Node *__node, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
walker | insert_node_in_graph (_Node *__node, const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
walker | insert_node_in_graph (_Node *__node, const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
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) |
walker | insert_in_graph (const _Tp &__x, const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
walker | insert_in_graph (const __SequenceCtr1< walker, _Allocator1 > &__parents, const __SequenceCtr2< walker, _Allocator2 > &__children) |
walker | insert_in_graph (const _Tp &__x, const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
walker | insert_in_graph (const walker &__parent, const container_insert_arg &__pref, const __SequenceCtr< walker, _Allocator > &__children) |
walker | insert_in_graph (const _Tp &__x, const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
walker | insert_in_graph (const __SequenceCtr< walker, _Allocator > &__parents, const walker &__child, const container_insert_arg &__cref) |
void | insert_subgraph (_Self &__subgraph, const walker &__parent, const walker &__child, const container_insert_arg &__Itc, const container_insert_arg &__Itp) |
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 (const walker &__parent, const walker &__child) |
void | remove_edge_and_deattach (const walker &__parent, const walker &__child) |
void | sort_child_edges (walker __position, children_iterator first, children_iterator last, Compare comp) |
void | sort_child_edges (walker __position, Compare comp) |
void | sort_parent_edges (walker __position, parents_iterator first, parents_iterator last, Compare comp) |
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_maximal_subgraph (const __SequenceCtr< walker, _Allocator > &__positions) |
erased_part | erase_minimal_subgraph (const walker &__position) |
erased_part | erase_minimal_subgraph (const __SequenceCtr< walker, _Allocator > &__positions) |
erased_part | erase_maximal_pregraph (const walker &__position) |
erased_part | erase_maximal_pregraph (const __SequenceCtr< walker, _Allocator > &__positions) |
erased_part | erase_minimal_pregraph (const walker &__position) |
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) |
Protected Types | |
typedef _Base::allocator_type | allocator_type |
typedef _Base::erased_part | erased_part |
Protected Member Functions | |
_Node * | _C_create_node (const _Tp &__x) |
_Node * | _C_create_node () |
void | _C_destroy_node (_Node *__p) |
void | clear_graph (_DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_node) |
_DG_node< _Tp, _SequenceCtr < void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator > * | _C_get_node () |
void | _C_put_node (_DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *__p) |
void | clear_children () |
void | clear_parents () |
void | add_all_children (_Output_Iterator fi, _DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_parent) |
void | add_all_parents (_Output_Iterator fi, _DG_node< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator > *_child) |
Protected Attributes | |
_DG_node< _Tp, _SequenceCtr < void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator > * | _C_ground |
_DG_node< _Tp, _SequenceCtr < void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator > * | _C_sky |
int | _C_mark |
Definition at line 2098 of file vgtl_dag.h.
typedef _Base::allocator_type dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::allocator_type [protected] |
allocator type
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2113 of file vgtl_dag.h.
typedef _Base::children_const_iterator dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::children_const_iterator |
the children const iterator
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2133 of file vgtl_dag.h.
typedef _Base::children_iterator dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::children_iterator |
the children iterator
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2127 of file vgtl_dag.h.
typedef _DG_iterator<_Tp ,const _Tp &,const _Tp *,container_type, children_iterator,children_const_iterator> __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::const_iterator [inherited] |
the const iterator
Definition at line 600 of file vgtl_dag.h.
typedef const value_type* __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::const_pointer [inherited] |
standard typedef
Definition at line 583 of file vgtl_dag.h.
typedef const value_type& __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::const_reference [inherited] |
standard typedef
Definition at line 585 of file vgtl_dag.h.
typedef std::reverse_iterator<const_iterator> __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::const_reverse_iterator [inherited] |
the const reverse iterator
Definition at line 604 of file vgtl_dag.h.
typedef _Base::const_walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::const_walker |
the const walker
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2125 of file vgtl_dag.h.
typedef _SequenceCtr< void *, _PtrAlloc > __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::container_type [inherited] |
internal container used to store the children
Reimplemented from _DG_base< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _Alloc >.
Definition at line 560 of file vgtl_dag.h.
typedef ptrdiff_t __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::difference_type [inherited] |
standard typedef
Definition at line 587 of file vgtl_dag.h.
typedef std::pair<walker,walker> __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::edge [inherited] |
an edge of the graph (parent, child)
Definition at line 626 of file vgtl_dag.h.
typedef std::pair<edge,bool> __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::enhanced_edge [inherited] |
an edge with additiona information about erased ground/sky edges
Definition at line 628 of file vgtl_dag.h.
typedef _Base::erased_part dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::erased_part [protected] |
an erased subgraph which is not yet a new directed graph
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2119 of file vgtl_dag.h.
typedef _DG_iterator<_Tp ,_Tp &,_Tp *,container_type,children_iterator, children_const_iterator> __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::iterator [inherited] |
the iterator
Definition at line 597 of file vgtl_dag.h.
typedef _Node __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::node_type [inherited] |
standard typedef
Definition at line 581 of file vgtl_dag.h.
typedef _Base::parents_const_iterator dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::parents_const_iterator |
the parents const iterator
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2131 of file vgtl_dag.h.
typedef _Base::parents_iterator dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::parents_iterator |
the parents iterator
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2129 of file vgtl_dag.h.
typedef value_type* __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::pointer [inherited] |
standard typedef
Definition at line 582 of file vgtl_dag.h.
typedef value_type& __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::reference [inherited] |
standard typedef
Definition at line 584 of file vgtl_dag.h.
typedef std::reverse_iterator<iterator> __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::reverse_iterator [inherited] |
the reverse iterator
Definition at line 606 of file vgtl_dag.h.
typedef size_t __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::size_type [inherited] |
standard typedef
Definition at line 586 of file vgtl_dag.h.
typedef _Tp __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::value_type [inherited] |
standard typedef
Definition at line 580 of file vgtl_dag.h.
typedef _Base::walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::walker |
the walker
Reimplemented in dag< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >.
Definition at line 2123 of file vgtl_dag.h.
dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::dgraph | ( | const allocator_type & | __a = allocator_type() |
) | [inline, explicit] |
standard constructor
Definition at line 2137 of file vgtl_dag.h.
dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::dgraph | ( | const _Self & | __dg | ) | [inline] |
copy constructor
Definition at line 2140 of file vgtl_dag.h.
dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::dgraph | ( | const erased_part & | __ep, | |
const allocator_type & | __a = allocator_type() | |||
) | [inline] |
constructor from an erased_part
Definition at line 2143 of file vgtl_dag.h.
_Node* __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::_C_create_node | ( | ) | [inline, protected, inherited] |
construct a new tree node containing default data
Definition at line 659 of file vgtl_dag.h.
_Node* __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::_C_create_node | ( | const _Tp & | __x | ) | [inline, protected, inherited] |
construct a new tree node containing data __x
Definition at line 645 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::_C_destroy_node | ( | _Node * | __p | ) | [inline, protected, inherited] |
construct a new tree node containing default data
Definition at line 673 of file vgtl_dag.h.
_DG_node<_Tp ,_SequenceCtr< void *, _PtrAlloc > ,_SequenceCtr< void *, _PtrAlloc >::iterator >* _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::_C_get_node | ( | ) | [inline, protected, inherited] |
allocate a new node
Definition at line 405 of file vgtl_dagbase.h.
void _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::_C_put_node | ( | _DG_node< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator > * | __p | ) | [inline, protected, inherited] |
deallocate a node
Definition at line 408 of file vgtl_dagbase.h.
void _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::add_all_children | ( | _Output_Iterator | fi, | |
_DG_node< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator > * | _parent | |||
) | [inline, protected, inherited] |
add all children to the parent _parent
. fi
is a iterator to the children container of the parent
void _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::add_all_parents | ( | _Output_Iterator | fi, | |
_DG_node< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator > * | _child | |||
) | [inline, protected, inherited] |
add all parents to the child _child
. fi
is a iterator to the parents container of the child
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::add_edge | ( | const walker & | __parent, | |
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline, inherited] |
add an edge between __parent
and __child
at positions __Itc
and __Itp
, respectively
Definition at line 1079 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::add_edge | ( | const edge & | __edge, | |
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline, inherited] |
add one edge between two nodes at the positions described by __Itc
and __Itp
.
Definition at line 1070 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::add_edge | ( | const walker & | __parent, | |
const children_iterator & | __ch_it, | |||
const walker & | __child, | |||
const parents_iterator & | __pa_it | |||
) | [inline] |
add an edge between __parent
and __child
at specific positions __ch_it
and __pa_it
.
Definition at line 2372 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::add_edge_back | ( | const walker & | __parent, | |
const walker & | __child | |||
) | [inline] |
add an edge between __parent
and __child
at the end of the children and parents containers.
Definition at line 2382 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::add_edge_front | ( | const walker & | __parent, | |
const walker & | __child | |||
) | [inline] |
add an edge between __parent
and __child
at the beginning of the children and parents containers.
Definition at line 2392 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const parents_iterator & | __pit, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and one child but the previous bonds are not broken, the node is always new
Definition at line 2508 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between | ( | const walker & | __parent, | |
const children_iterator & | __cit, | |||
const __SequenceCtr< walker, _Allocator > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between one parent and many children but the previous bonds are not broken, the node is always new
Definition at line 2408 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between | ( | const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |
const __SequenceCtr2< walker, _Allocator2 > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and many children but the previous bonds are not broken, the node is always new
Definition at line 2262 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between | ( | const walker & | __parent, | |
const children_iterator & | __cit, | |||
const walker & | __child, | |||
const parents_iterator & | __pit, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between a parent node and a child node but the previous bonds between the two are not broken, the node is always new with data __x
.
Definition at line 2160 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between_back | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and one child but the previous bonds are not broken, the node is always new. At the child the new parent is put last.
Definition at line 2562 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between_back | ( | const walker & | __parent, | |
const __SequenceCtr< walker, _Allocator > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between one parent and many children but the previous bonds are not broken, the node is always new. At the parent the new child is put last.
Definition at line 2463 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between_back | ( | const walker & | __parent, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
insert the node as the last child between parent and child, without breaking old bonds.
Definition at line 2195 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between_front | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and one child but the previous bonds are not broken, the node is always new. At the child the new parent is put first.
Definition at line 2590 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between_front | ( | const walker & | __parent, | |
const __SequenceCtr< walker, _Allocator > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between one parent and many children but the previous bonds are not broken, the node is always new. At the parent the new child is put first.
Definition at line 2493 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::between_front | ( | const walker & | __parent, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
Here the inserted node is the first child of its parent and first parent of its child. Insert the node without breaking old bonds.
Definition at line 2226 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::clear | ( | ) | [inline] |
empty the graph
Definition at line 2153 of file vgtl_dag.h.
void _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::clear_children | ( | ) | [inline, protected, inherited] |
clear all children of the root node
Definition at line 420 of file vgtl_dagbase.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::clear_erased_part | ( | erased_part & | _ep | ) | [inline, inherited] |
clear all nodes in an erased part
Definition at line 1751 of file vgtl_dag.h.
void _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::clear_graph | ( | _DG_node< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator > * | _node | ) | [protected, inherited] |
removes recursively all nodes downward starting from _node.
void _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::clear_parents | ( | ) | [inline, protected, inherited] |
clear all parents of the leaf node
Definition at line 423 of file vgtl_dagbase.h.
bool __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::empty | ( | ) | const [inline, inherited] |
returns true
if the DG is empty
Definition at line 767 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase | ( | const walker & | __position | ) | [inline, inherited] |
erase a node from the DG except the sky and ground
Definition at line 1400 of file vgtl_dag.h.
bool __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_child | ( | const walker & | __position, | |
const children_iterator & | __It | |||
) | [inline, inherited] |
Erase a child of __position
. This works if and only if the child has only one child and no other parents.
Definition at line 1904 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_maximal_pregraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline, inherited] |
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 1868 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_maximal_pregraph | ( | const walker & | __position | ) | [inline, inherited] |
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 1834 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_maximal_subgraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline, inherited] |
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 1797 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_maximal_subgraph | ( | const walker & | __position | ) | [inline, inherited] |
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 1763 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_minimal_pregraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline, inherited] |
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 1888 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_minimal_pregraph | ( | const walker & | __position | ) | [inline, inherited] |
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 1850 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_minimal_subgraph | ( | const __SequenceCtr< walker, _Allocator > & | __positions | ) | [inline, inherited] |
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 1817 of file vgtl_dag.h.
erased_part __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_minimal_subgraph | ( | const walker & | __position | ) | [inline, inherited] |
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 1779 of file vgtl_dag.h.
bool __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::erase_parent | ( | const walker & | __position, | |
const parents_iterator & | __It | |||
) | [inline, inherited] |
Erase a parent of __position
. This works if and only if the parent has only one parent and no other children.
Definition at line 1930 of file vgtl_dag.h.
allocator_type __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::get_allocator | ( | ) | const [inline, inherited] |
construct an allocator object
Reimplemented from _DG_base< _Tp, _SequenceCtr< void *, _PtrAlloc >, _SequenceCtr< void *, _PtrAlloc >::iterator, _SequenceCtr< void *, _PtrAlloc >::const_iterator, _Alloc >.
Definition at line 592 of file vgtl_dag.h.
const_walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::ground | ( | ) | const [inline, inherited] |
return a const walker to the virtual ground node.
Definition at line 697 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::ground | ( | ) | [inline, inherited] |
return a walker to the virtual ground node.
Definition at line 687 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::insert_back_subgraph | ( | _Self & | __subgraph, | |
const walker & | __parent, | |||
const walker & | __child | |||
) | [inline] |
here a subgraph is inserted between a parent and a child, at the end of the children resp. parents lists.
Definition at line 2331 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::insert_front_subgraph | ( | _Self & | __subgraph, | |
const walker & | __parent, | |||
const walker & | __child | |||
) | [inline] |
here a subgraph is inserted between a parent and a child, at the front of the children resp. parents lists.
Definition at line 2344 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const container_insert_arg & | __cref | |||
) | [inline, inherited] |
insert a node with default data into the graph between all parents from __parents
and the child __child
.
Definition at line 1006 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const _Tp & | __x, | |
const __SequenceCtr< walker, _Allocator > & | __parents, | |||
const walker & | __child, | |||
const container_insert_arg & | __cref | |||
) | [inline, inherited] |
insert a node with data __x
into the graph between all parents from __parents
and the child __child
.
Definition at line 991 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const walker & | __parent, | |
const container_insert_arg & | __pref, | |||
const __SequenceCtr< walker, _Allocator > & | __children | |||
) | [inline, inherited] |
insert a node with data __x
into the graph between the parent __parent
and all children from __children
.
Definition at line 952 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const _Tp & | __x, | |
const walker & | __parent, | |||
const container_insert_arg & | __pref, | |||
const __SequenceCtr< walker, _Allocator > & | __children | |||
) | [inline, inherited] |
insert a node with data __x
into the graph between the parent __parent
and all children from __children
.
Definition at line 938 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline, inherited] |
insert a node with default data into the graph between all parents from __parents
and all children from __children
.
Definition at line 900 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const _Tp & | __x, | |
const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |||
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline, inherited] |
insert a node with data __x
into the graph between all parents from __parents
and all children from __children
.
Definition at line 885 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const walker & | __parent, | |
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline, inherited] |
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 821 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_in_graph | ( | const _Tp & | __x, | |
const walker & | __parent, | |||
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline, inherited] |
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 807 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node | ( | const walker & | __position, | |
const container_insert_arg & | __It | |||
) | [inline, inherited] |
insert a new node with default data as child of __position
Definition at line 1281 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node | ( | const _Tp & | __x, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline, inherited] |
insert a new node with data __x
as child of __position
Definition at line 1275 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node | ( | _Node * | _node, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline, inherited] |
insert one node as child of __position
Definition at line 1261 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node_before | ( | const walker & | __position, | |
const container_insert_arg & | __It | |||
) | [inline, inherited] |
insert a new node with default data as parent of __position
Definition at line 1305 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node_before | ( | const _Tp & | __x, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline, inherited] |
insert a new node with data __x
as parent of __position
Definition at line 1300 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node_before | ( | _Node * | _node, | |
const walker & | __position, | |||
const container_insert_arg & | __It | |||
) | [inline, inherited] |
insert a node as parent of __position
Definition at line 1286 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node_in_graph | ( | _Node * | __node, | |
const __SequenceCtr< walker, _Allocator > & | __parents, | |||
const walker & | __child, | |||
const container_insert_arg & | __cref | |||
) | [inline, inherited] |
insert node __n
into the graph between all parents from __parents
and the child __child
.
Definition at line 966 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node_in_graph | ( | _Node * | __node, | |
const walker & | __parent, | |||
const container_insert_arg & | __pref, | |||
const __SequenceCtr< walker, _Allocator > & | __children | |||
) | [inline, inherited] |
insert node __n
into the graph between the parent __parent
and all children from __children
.
Definition at line 913 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node_in_graph | ( | _Node * | __node, | |
const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |||
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline, inherited] |
insert node __n
into the graph between all parents from __parents
and all children from __children
.
Definition at line 854 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_node_in_graph | ( | _Node * | __n, | |
const walker & | __parent, | |||
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline, inherited] |
insert node __n
into the graph between __parent
and __child
, the edge at the specific positions described by __Itc
and __Itp
.
Definition at line 791 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_subgraph | ( | _Self & | __subgraph, | |
const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |||
const __SequenceCtr2< walker, _Allocator2 > & | __children | |||
) | [inline, inherited] |
in this method one DG is inserted into another DG between the parents __parents
and the children __children
.
Definition at line 1020 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::insert_subgraph | ( | _Self & | __subgraph, | |
const walker & | __parent, | |||
const walker & | __child, | |||
const container_insert_arg & | __Itc, | |||
const container_insert_arg & | __Itp | |||
) | [inline, inherited] |
insert a subgraph into the graph between __parent
and __child
, the edge at the specific positions described by __Itc
and __Itp
.
Definition at line 832 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::insert_subgraph | ( | _Self & | __subgraph, | |
const walker & | __parent, | |||
const children_iterator & | __ch_it, | |||
const walker & | __child, | |||
const parents_iterator & | __pa_it | |||
) | [inline] |
here a subgraph is inserted between a parent and a child, at specific positions __ch_it
and __pa_it
.
Definition at line 2320 of file vgtl_dag.h.
parents_const_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::leaf_begin | ( | ) | const [inline, inherited] |
return the first leaf of the directed graph
Definition at line 728 of file vgtl_dag.h.
parents_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::leaf_begin | ( | ) | [inline, inherited] |
return the first leaf of the directed graph
Definition at line 721 of file vgtl_dag.h.
parents_const_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::leaf_end | ( | ) | const [inline, inherited] |
return beyond the last leaf of the directed graph
Definition at line 731 of file vgtl_dag.h.
parents_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::leaf_end | ( | ) | [inline, inherited] |
return beyond the last leaf of the directed graph
Definition at line 724 of file vgtl_dag.h.
size_type __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::max_size | ( | ) | const [inline, inherited] |
the maximum size of a DG is virtually unlimited
Definition at line 778 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::merge | ( | const walker & | __position, | |
const walker & | __second, | |||
bool | merge_parent_edges = true , |
|||
bool | merge_child_edges = true | |||
) | [inline, inherited] |
merge two nodes, call also the merge method for the node data
Definition at line 1311 of file vgtl_dag.h.
_Self& dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::operator= | ( | const erased_part & | __ep | ) | [inline] |
assignment operator from an erased part
Definition at line 2607 of file vgtl_dag.h.
_Self& dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::operator= | ( | const _RV_DG & | __rl | ) | [inline] |
assignment operator from a part of an erased part
Definition at line 2599 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::partial_erase_to_parent | ( | const walker & | __position, | |
const walker & | __parent, | |||
unsigned int | idx | |||
) | [inline, inherited] |
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 1461 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::remove_edge | ( | const walker & | __parent, | |
const walker & | __child | |||
) | [inline, inherited] |
just remove one edge between __parent
and __child
Definition at line 1214 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::remove_edge | ( | const edge & | __edge | ) | [inline, inherited] |
remove an edge with a particular parent and child
Definition at line 1197 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::remove_edge_and_deattach | ( | const walker & | __parent, | |
const walker & | __child | |||
) | [inline, inherited] |
remove one egde and don't reconnect the node to sky/ground
Definition at line 1201 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::replace_edge_to_child | ( | const walker & | __parent, | |
const walker & | __child_old, | |||
const walker & | __child_new | |||
) | [inline, inherited] |
change the edge from __parent
to __child_old
to an edge from __parent
to __child_new
.
Definition at line 1125 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::replace_edge_to_parent | ( | const walker & | __parent_old, | |
const walker & | __parent_new, | |||
const walker & | __child | |||
) | [inline, inherited] |
change the edge from __parent_old
to __child
to an edge from __parent_new
to __child
.
Definition at line 1163 of file vgtl_dag.h.
children_const_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::root_begin | ( | ) | const [inline, inherited] |
return the first root of the directed graph
Definition at line 714 of file vgtl_dag.h.
children_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::root_begin | ( | ) | [inline, inherited] |
return the first root of the directed graph
Definition at line 707 of file vgtl_dag.h.
children_const_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::root_end | ( | ) | const [inline, inherited] |
return beyond the last root of the directed graph
Definition at line 717 of file vgtl_dag.h.
children_iterator __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::root_end | ( | ) | [inline, inherited] |
return beyond the last root of the directed graph
Definition at line 710 of file vgtl_dag.h.
size_type __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::size | ( | ) | const [inline, inherited] |
returns the size of the DG (number of nodes)
Definition at line 771 of file vgtl_dag.h.
const_walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::sky | ( | ) | const [inline, inherited] |
return a const walker to the virtual sky node.
Definition at line 702 of file vgtl_dag.h.
walker __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::sky | ( | ) | [inline, inherited] |
return a walker to the virtual sky node.
Definition at line 692 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::sort_child_edges | ( | walker | __position, | |
Compare | comp | |||
) | [inline, inherited] |
sort all child edges according to comp
Definition at line 1250 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::sort_child_edges | ( | walker | __position, | |
children_iterator | first, | |||
children_iterator | last, | |||
Compare | comp | |||
) | [inline, inherited] |
sort the child edges in the range [first,last) according to comp
Definition at line 1238 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::sort_parent_edges | ( | walker | __position, | |
Compare | comp | |||
) | [inline, inherited] |
sort all parent edges according to comp
Definition at line 1256 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::sort_parent_edges | ( | walker | __position, | |
parents_iterator | first, | |||
parents_iterator | last, | |||
Compare | comp | |||
) | [inline, inherited] |
sort the parent edges in the range [first,last) according to comp
Definition at line 1244 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const parents_iterator & | __pr_it, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and one child, and the previous bonds are broken, the node is always new.
Definition at line 2521 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split | ( | const walker & | __parent, | |
const children_iterator & | __ch_it, | |||
const __SequenceCtr< walker, _Allocator > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between one parent and many children, and the previous bonds are broken, the node is always new.
Definition at line 2421 of file vgtl_dag.h.
void dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split | ( | const __SequenceCtr1< walker, _Allocator1 > & | __parents, | |
const __SequenceCtr2< walker, _Allocator2 > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and many children, and the previous bonds are broken, the node is always new.
Definition at line 2294 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split | ( | const walker & | __parent, | |
const children_iterator & | __ch_it, | |||
const walker & | __child, | |||
const parents_iterator & | __pa_it, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between a parent node and a child node and the previous bonds between them are broken, the node is always new with data __x
.
Definition at line 2173 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split_back | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and one child, and the previous bonds are broken, the node is always new. At the child the new parent is put last.
Definition at line 2548 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split_back | ( | const walker & | __parent, | |
const __SequenceCtr< walker, _Allocator > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between one parent and many children, and the previous bonds are broken, the node is always new. At the parent the new child is put last.
Definition at line 2448 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split_back | ( | const walker & | __parent, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
insert the node as the last child between parent and child, with breaking old bonds.
Definition at line 2208 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split_front | ( | const __SequenceCtr< walker, _Allocator > & | __parents, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between many parents and one child, and the previous bonds are broken, the node is always new. At the child the new parent is put first.
Definition at line 2576 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split_front | ( | const walker & | __parent, | |
const __SequenceCtr< walker, _Allocator > & | __children, | |||
const _Tp & | __x | |||
) | [inline] |
here a new node is inserted between one parent and many children, and the previous bonds are broken, the node is always new. At the parent the new child is put first.
Definition at line 2478 of file vgtl_dag.h.
walker dgraph< _Tp, _SequenceCtr, _PtrAlloc, _Alloc >::split_front | ( | const walker & | __parent, | |
const walker & | __child, | |||
const _Tp & | __x | |||
) | [inline] |
Here the inserted node is the first child of its parent and first parent of its child. Insert the node and break old bonds.
Definition at line 2239 of file vgtl_dag.h.
void __DG< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _SequenceCtr< void *, _PtrAlloc >::iterator , _Alloc >::swap | ( | _Self & | __x | ) | [inline, inherited] |
swap two DGs
Definition at line 781 of file vgtl_dag.h.
_DG_node<_Tp ,_SequenceCtr< void *, _PtrAlloc > ,_SequenceCtr< void *, _PtrAlloc >::iterator >* _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::_C_ground [protected, inherited] |
the virtual ground node (below all roots)
Definition at line 413 of file vgtl_dagbase.h.
int _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::_C_mark [protected, inherited] |
an internal counter for setting marks during certain algorithms
Definition at line 417 of file vgtl_dagbase.h.
_DG_node<_Tp ,_SequenceCtr< void *, _PtrAlloc > ,_SequenceCtr< void *, _PtrAlloc >::iterator >* _DG_base< _Tp , _SequenceCtr< void *, _PtrAlloc > , _SequenceCtr< void *, _PtrAlloc >::iterator , _SequenceCtr< void *, _PtrAlloc >::const_iterator , _Alloc >::_C_sky [protected, inherited] |
the virtual sky node (above all leafs)
Definition at line 415 of file vgtl_dagbase.h.