|
GraphDom
|
Every mixed graph created using this library is an instance of a concrete class publicly derived, directly or indirectly, from this polymorphic template class. More...
#include <mixed_graph.h>


Public Member Functions | |
| ~mixed_graph () override=default | |
| To be polymorphic, this class has a virtual destructor. | |
| virtual void | insert_edge (const typename graph< VertexType >::vertex_const_handle &first_endpoint, const typename graph< VertexType >::vertex_const_handle &second_endpoint, edge_type et)=0 |
| Public Member Functions inherited from graphdom::graph< VertexType > | |
| virtual | ~graph ()=default |
| To be polymorphic, this class has a virtual destructor. | |
| virtual std::size_t | order () const =0 |
| Returns the order of *this, i.e. the number of vertices inside the graph. | |
| 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 |
Every mixed graph created using this library is an instance of a concrete class publicly derived, directly or indirectly, from this polymorphic template class.
Creating an object of a user-defined class derived, directly or indirectly, from this one will cause undefined behavior.
|
pure virtual |
If et is equal to undirected then inserts in *this an undirected edge having first_endpoint and second_endpoint as endpoints, if *this doesn't already contain the same edge.
If et is equal to directed then inserts in *this a directed edge having first_endpoint as tail and second_endpoint as head, if *this doesn't already contain the same edge.
| first_endpoint | This handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior. |
| second_endpoint | This handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior. |
| et | The type of edge to insert |
Implemented in graphdom::labeled_edge_mixed_graph< VertexType, EdgeLabelType, EdgeLabellerType >.