| FEAT 3
    Finite Element Analysis Toolbox | 
Dynamic Adjacency Graph implementation. More...
#include <dynamic_graph.hpp>
| Public Types | |
| typedef IdxSet::const_iterator | ImageIterator | 
| ImageIterator for Adjactor interface implementation.  More... | |
| Public Member Functions | |
| DynamicGraph () | |
| default constructor  More... | |
| DynamicGraph (DynamicGraph &&other) | |
| move ctor  More... | |
| DynamicGraph (Index num_nodes_domain, Index num_nodes_image) | |
| Constructor.  More... | |
| template<typename Adjactor1_ , typename Adjactor2_ > | |
| DynamicGraph (RenderType render_type, const Adjactor1_ &adjactor1, const Adjactor2_ &adjactor2) | |
| Composite-Render constructor.  More... | |
| template<typename Adjactor_ > | |
| DynamicGraph (RenderType render_type, const Adjactor_ &adjactor) | |
| Render constructor.  More... | |
| virtual | ~DynamicGraph () | 
| virtual destructor  More... | |
| void | clear () | 
| Clears the graph.  More... | |
| DynamicGraph | clone () const | 
| Clones this dynamic graph.  More... | |
| template<typename Adjactor_ > | |
| void | compose (const Adjactor_ &adjactor) | 
| Composes this dynamic graph with another adjactor in-situ.  More... | |
| Index | degree () const | 
| Returns the degree of the graph.  More... | |
| Index | degree (Index domain_node) const | 
| Returns the degree of a domain node.  More... | |
| bool | erase (Index domain_node, Index image_node) | 
| Erases an adjacency entry from the graph.  More... | |
| bool | exists (Index domain_node, Index image_node) const | 
| Checks whether an adjacency entry exists.  More... | |
| Index | get_num_indices () const | 
| Returns the total number of indices.  More... | |
| Index | get_num_nodes_domain () const | 
| Returns the number of domain nodes.   More... | |
| Index | get_num_nodes_image () const | 
| Returns the number of image nodes.   More... | |
| ImageIterator | image_begin (Index domain_node) const | 
| Returns an iterator for the first adjacent image node.   More... | |
| ImageIterator | image_end (Index domain_node) const | 
| Returns an iterator for the first position past the last adjacent image node.   More... | |
| bool | insert (Index domain_node, Index image_node) | 
| Inserts a new adjacency entry to the graph.  More... | |
| DynamicGraph & | operator= (DynamicGraph &&other) | 
| move-assign operator  More... | |
| Protected Attributes | |
| IdxSetVec | _indices | 
| index-set-vector  More... | |
| Index | _num_nodes_domain | 
| total number of domain nodes  More... | |
| Index | _num_nodes_image | 
| total number of image nodes  More... | |
Dynamic Adjacency Graph implementation.
This class implements a dynamic counterpart of the Graph class.
Definition at line 28 of file dynamic_graph.hpp.
| typedef IdxSet::const_iterator FEAT::Adjacency::DynamicGraph::ImageIterator | 
ImageIterator for Adjactor interface implementation.
Definition at line 38 of file dynamic_graph.hpp.
| 
 | inline | 
default constructor
Definition at line 50 of file dynamic_graph.hpp.
| 
 | inlineexplicit | 
Constructor.
This constructor creates an empty dynamic adjacency graph.
| [in] | num_nodes_domain | The total number of domain nodes for the graph. | 
| [in] | num_nodes_image | The total number of image nodes for the graph. | 
Definition at line 67 of file dynamic_graph.hpp.
| 
 | inlineexplicit | 
Render constructor.
This constructor renders an object implementing the Adjactor interface into a graph.
| [in] | render_type | The render type. See RenderType for details. | 
| [in] | adjactor | A reference to the adjactor that is to be rendered. | 
Definition at line 89 of file dynamic_graph.hpp.
References FEAT::Adjacency::as_is, FEAT::Adjacency::as_is_sorted, FEAT::Adjacency::injectify, FEAT::Adjacency::injectify_sorted, FEAT::Adjacency::injectify_transpose, FEAT::Adjacency::injectify_transpose_sorted, FEAT::Adjacency::transpose, and FEAT::Adjacency::transpose_sorted.
| 
 | inlineexplicit | 
Composite-Render constructor.
This constructor renders a composition of two objects implementing the Adjactor interface into a graph.
| [in] | render_type | The render type. See RenderType for details. | 
| [in] | adjactor1 | A reference to the first adjactor in the composition that is to be rendered. | 
| [in] | adjactor2 | A reference to the second adjactor in the composition that is to be rendered. | 
Definition at line 132 of file dynamic_graph.hpp.
References FEAT::Adjacency::as_is, FEAT::Adjacency::as_is_sorted, FEAT::Adjacency::injectify, FEAT::Adjacency::injectify_sorted, FEAT::Adjacency::injectify_transpose, FEAT::Adjacency::injectify_transpose_sorted, FEAT::Adjacency::transpose, and FEAT::Adjacency::transpose_sorted.
| 
 | inline | 
move ctor
Definition at line 160 of file dynamic_graph.hpp.
| 
 | inlinevirtual | 
virtual destructor
Definition at line 184 of file dynamic_graph.hpp.
| 
 | inline | 
Clears the graph.
This function erases all adjacency entries in the graph.
Definition at line 262 of file dynamic_graph.hpp.
References _indices, and _num_nodes_domain.
| 
 | inline | 
Clones this dynamic graph.
Definition at line 193 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, and _num_nodes_image.
| 
 | inline | 
Composes this dynamic graph with another adjactor in-situ.
| [in] | adjactor | An object implementing the Adjactor interface that is to be composed. | 
Definition at line 335 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, _num_nodes_image, and XASSERTM.
| 
 | inline | 
Returns the degree of the graph.
This function returns the degree of the graph, i.e. the maximum of the degrees of all domain nodes.
Definition at line 229 of file dynamic_graph.hpp.
References _indices, and _num_nodes_domain.
Returns the degree of a domain node.
This function returns the degree of a domain node, i.e. the number of image nodes which are adjacent to the specified domain node.
| [in] | domain_node | The domain node index whose degree is to be returned. | 
Definition at line 212 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, and ASSERTM.
Erases an adjacency entry from the graph.
| [in] | domain_node | The index of the domain node of the adjacency entry. | 
| [in] | image_node | The index of the image node of the adjacency entry. | 
true, if the adjacency was erased or false, if the adjacency did not exist. Definition at line 320 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, _num_nodes_image, and ASSERTM.
Checks whether an adjacency entry exists.
| [in] | domain_node | The index of the domain node of the adjacency entry. | 
| [in] | image_node | The index of the image node of the adjacency entry. | 
true, if the adjacency exists, otherwise false. Definition at line 282 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, _num_nodes_image, and ASSERTM.
| 
 | inline | 
Returns the total number of indices.
Definition at line 247 of file dynamic_graph.hpp.
References _indices, and _num_nodes_domain.
Referenced by FEAT::LAFEM::TestMatrixFactory::_create_generic_struct(), FEAT::LAFEM::TestMatrixFactory::_create_non_empty_diag_struct(), and FEAT::LAFEM::TestMatrixFactory::_create_symmetric_struct().
| 
 | inline | 
Returns the number of domain nodes.
Definition at line 508 of file dynamic_graph.hpp.
References _num_nodes_domain.
| 
 | inline | 
Returns the number of image nodes.
Definition at line 514 of file dynamic_graph.hpp.
References _num_nodes_image.
| 
 | inline | 
Returns an iterator for the first adjacent image node.
| [in] | domain_node | The index of the domain node whose image node iterator is to be returned. | 
domain_node, or image_end(domain_node) if no adjacent image nodes exist.  Definition at line 520 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, and ASSERTM.
| 
 | inline | 
Returns an iterator for the first position past the last adjacent image node.
| [in] | domain_node | The index of the domain node whose image node iterator is to be returned. | 
domain_node.  Definition at line 527 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, and ASSERTM.
Inserts a new adjacency entry to the graph.
| [in] | domain_node | The index of the domain node of the adjacency entry. | 
| [in] | image_node | The index of the image node of the adjacency entry. | 
true, if the adjacency was inserted or false, if the adjacency already existed. Definition at line 301 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, _num_nodes_image, and ASSERTM.
Referenced by FEAT::Global::AlgDofPartiMatrix< LocalMatrix_, Mirror_ >::_assemble_structure(), FEAT::LAFEM::TestMatrixFactory::_create_generic_struct(), FEAT::LAFEM::TestMatrixFactory::_create_non_empty_diag_struct(), and FEAT::LAFEM::TestMatrixFactory::_create_symmetric_struct().
| 
 | inline | 
move-assign operator
Definition at line 168 of file dynamic_graph.hpp.
References _indices, _num_nodes_domain, and _num_nodes_image.
| 
 | protected | 
index-set-vector
Definition at line 46 of file dynamic_graph.hpp.
Referenced by clear(), clone(), compose(), degree(), erase(), exists(), get_num_indices(), image_begin(), image_end(), insert(), and operator=().
| 
 | protected | 
total number of domain nodes
Definition at line 42 of file dynamic_graph.hpp.
Referenced by clear(), clone(), compose(), degree(), erase(), exists(), get_num_indices(), get_num_nodes_domain(), image_begin(), image_end(), insert(), and operator=().
| 
 | protected | 
total number of image nodes
Definition at line 44 of file dynamic_graph.hpp.
Referenced by clone(), compose(), erase(), exists(), get_num_nodes_image(), insert(), and operator=().