|
GraphDom
|
#include <full_labeled_multiset_digraph.h>


Public Member Functions | |
| full_labeled_multiset_digraph (const VertexLabellerType &v_lab, const EdgeLabellerType &e_lab) | |
| full_labeled_multiset_digraph (const VertexLabellerType &v_lab, EdgeLabellerType &&e_lab=EdgeLabellerType()) | |
| full_labeled_multiset_digraph (VertexLabellerType &&v_lab, const EdgeLabellerType &e_lab) | |
| full_labeled_multiset_digraph (VertexLabellerType &&v_lab, EdgeLabellerType &&e_lab=EdgeLabellerType()) | |
| std::size_t | order () const override |
| Returns the order of *this, i.e. the number of vertices inside the graph. | |
| const VertexLabelType & | get_vertex_label (const typename graph< VertexType >::vertex_const_handle &vertex) const override |
| const EdgeLabelType & | get_edge_label (const typename graph< VertexType >::adj_list_const_iterator &) const override |
| void | erase_vertex (const typename graphdom::graph< VertexType >::vertex_const_handle &vertex) override |
Removes the vertex identified by vertex. | |
| graphdom::graph< VertexType >::adj_list_iterator | erase_edge (const typename graph< VertexType >::adj_list_const_iterator &) override |
| VertexLabelType & | get_vertex_label (const typename graph< VertexType >::vertex_const_handle &vertex) override |
| multiset_graph< VertexType >::vertex_handle | insert_vertex (const VertexType &v_core, const VertexLabelType &vertex_label) override |
| multiset_graph< VertexType >::vertex_handle | insert_vertex (const VertexType &v_core, VertexLabelType &&vertex_label) override |
| multiset_graph< VertexType >::vertex_handle | insert_vertex (VertexType &&v_core, const VertexLabelType &vertex_label) override |
| multiset_graph< VertexType >::vertex_handle | insert_vertex (VertexType &&v_core, VertexLabelType &&vertex_label) override |
| EdgeLabelType & | get_edge_label (const typename graph< VertexType >::adj_list_const_iterator &) override |
| void | insert_edge (const typename graph< VertexType >::vertex_const_handle &tail, const typename graph< VertexType >::vertex_const_handle &head, const EdgeLabelType &edge_label) override |
| void | insert_edge (const typename graph< VertexType >::vertex_const_handle &tail, const typename graph< VertexType >::vertex_const_handle &head, EdgeLabelType &&edge_label) override |
| Public Member Functions inherited from graphdom::labeled_vertex_multiset_graph< VertexType, VertexLabelType, VertexLabellerType > | |
| labeled_vertex_multiset_graph (const VertexLabellerType &) | |
| labeled_vertex_multiset_graph (VertexLabellerType &&) | |
| ~labeled_vertex_multiset_graph () override=default | |
| To be polymorphic, this class has a virtual destructor. | |
| constexpr const VertexLabellerType & | get_vertices_labeller () const |
| multiset_graph< VertexType >::vertex_handle | insert_vertex (const VertexType &v_core) final |
| multiset_graph< VertexType >::vertex_handle | insert_vertex (VertexType &&v_core) final |
| Public Member Functions inherited from graphdom::labeled_vertex_graph< VertexType, VertexLabelType > | |
| ~labeled_vertex_graph () override=default | |
| To be polymorphic, this class has a virtual destructor. | |
| Public Member Functions inherited from graphdom::graph< VertexType > | |
| virtual | ~graph ()=default |
| To be polymorphic, this class has a virtual destructor. | |
| virtual void | erase_vertex (const vertex_const_handle &vertex)=0 |
Removes the vertex identified by vertex. | |
| virtual adj_list_iterator | erase_edge (const adj_list_const_iterator &)=0 |
| Public Member Functions inherited from graphdom::multiset_graph< VertexType > | |
| ~multiset_graph () override=default | |
| To be polymorphic, this class has a virtual destructor. | |
| Public Member Functions inherited from graphdom::labeled_edge_non_mixed_graph< VertexType, EdgeLabelType, EdgeLabellerType > | |
| labeled_edge_non_mixed_graph (const EdgeLabellerType &edge_labeller) | |
| labeled_edge_non_mixed_graph (EdgeLabellerType &&edge_labeller) | |
| ~labeled_edge_non_mixed_graph () override=default | |
| To be polymorphic, this class has a virtual destructor. | |
| constexpr const EdgeLabellerType & | get_edges_labeller () const |
| void | insert_edge (const typename graph< VertexType >::vertex_const_handle &first_endpoint, const typename graph< VertexType >::vertex_const_handle &second_endpoint) final |
| Public Member Functions inherited from graphdom::labeled_edge_graph< VertexType, EdgeLabelType > | |
| ~labeled_edge_graph () override=default | |
| To be polymorphic, this class has a virtual destructor. | |
| Public Member Functions inherited from graphdom::non_mixed_graph< VertexType > | |
| ~non_mixed_graph () override=default | |
| To be polymorphic, this class has a virtual destructor. | |
| VertexType | |
| VertexLabelType | |
| EdgeLabelType | |
| VertexLabellerType | |
| EdgeLabellerType |
|
nodiscardoverride |
|
override |
Removes the vertex identified by vertex.
After erasion, vertex and all its equivalents are invalidated.
| vertex | An object that identifies the vertex to be erased.vertex must be valid and must identify a vertex belonging to *this, otherwise the erasion will cause undefined behavior. |
|
nodiscardoverridevirtual |
|
nodiscardoverridevirtual |
|
nodiscardoverridevirtual |
If vertex is valid then returns a const reference to the label of the vertex identified by vertex (with respect to *this).
| vertex | This handle must be valid and must identify a vertex belonging to *this, otherwise this method will cause undefined behavior. |
vertex (with respect to *this). Implements graphdom::labeled_vertex_graph< VertexType, VertexLabelType >.
|
nodiscardoverridevirtual |
If vertex is valid then returns a reference to the label of the vertex identified by vertex (with respect to *this).
| vertex | This handle must be valid and must identify a vertex belonging to *this, otherwise this method will cause undefined behavior. |
vertex (with respect to *this). Implements graphdom::labeled_vertex_graph< VertexType, VertexLabelType >.
|
overridevirtual |
Inserts in *this a directed edge having tail as tail and head as head, if *this doesn't already contain the same edge.
If and as soon as the insertion took place, the label of the inserted edge is equal to edge_label .
| tail | This handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior. |
| head | This handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior. |
| edge_label | If and as soon as the insertion took place, the label of the inserted edge is equal to edge_label . |
Implements graphdom::labeled_edge_non_mixed_graph< VertexType, EdgeLabelType, EdgeLabellerType >.
|
overridevirtual |
Inserts in *this a directed edge having tail as tail and head as head, if *this doesn't already contain the same edge.
If and as soon as the insertion took place, the label of the inserted edge is equal to edge_label .
If the insertion did not take place, edge_label remains unchanged.
| tail | This handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior. |
| head | This handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior. |
| edge_label | If and as soon as the insertion took place, the label of the inserted edge is equal to edge_label . |
Implements graphdom::labeled_edge_non_mixed_graph< VertexType, EdgeLabelType, EdgeLabellerType >.
|
nodiscardoverridevirtual |
Inserts in *this a vertex having v_core as core and vertex_label as label.
| v_core | |
| vertex_label | The label of the inserted vertex is equal to vertex_label . |
Implements graphdom::labeled_vertex_multiset_graph< VertexType, VertexLabelType, VertexLabellerType >.
|
nodiscardoverridevirtual |
Inserts in *this a vertex having v_core as core and vertex_label as label.
| v_core | |
| vertex_label | The label of the inserted vertex is equal to vertex_label . |
Implements graphdom::labeled_vertex_multiset_graph< VertexType, VertexLabelType, VertexLabellerType >.
|
nodiscardoverridevirtual |
Inserts in *this a vertex having v_core as core and vertex_label as label.
| v_core | |
| vertex_label | The label of the inserted vertex is equal to vertex_label . |
Implements graphdom::labeled_vertex_multiset_graph< VertexType, VertexLabelType, VertexLabellerType >.
|
nodiscardoverridevirtual |
Inserts in *this a vertex having v_core as core and vertex_label as label.
| v_core | |
| vertex_label | The label of the inserted vertex is equal to vertex_label . |
Implements graphdom::labeled_vertex_multiset_graph< VertexType, VertexLabelType, VertexLabellerType >.
|
nodiscardoverridevirtual |
Returns the order of *this, i.e. the number of vertices inside the graph.
Implements graphdom::graph< VertexType >.