GraphDom
Loading...
Searching...
No Matches
graphdom::mixed_graph< VertexType > Class Template Referenceabstract

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>

Inheritance diagram for graphdom::mixed_graph< VertexType >:
Collaboration diagram for graphdom::mixed_graph< VertexType >:

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

Detailed Description

template<typename VertexType>
class graphdom::mixed_graph< VertexType >

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.

Member Function Documentation

◆ insert_edge()

template<typename VertexType>
virtual void graphdom::mixed_graph< VertexType >::insert_edge ( const typename graph< VertexType >::vertex_const_handle & first_endpoint,
const typename graph< VertexType >::vertex_const_handle & second_endpoint,
edge_type et )
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.

Parameters
first_endpointThis handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior.
second_endpointThis handle must be valid and must identify a vertex belonging to *this, otherwise the insertion will cause undefined behavior.
etThe type of edge to insert

Implemented in graphdom::labeled_edge_mixed_graph< VertexType, EdgeLabelType, EdgeLabellerType >.


The documentation for this class was generated from the following file: