Template Class DOTGraphInterface#

Class Documentation#

template<class VertexType, class EdgeType, class VertexIterator, class EdgeIterator>
class DOTGraphInterface#

stl graph class for directed and undirected graphs

Public Functions

inline virtual ~DOTGraphInterface()#

public type interface

destructor

void writeToDOTFile(std::string filename)#

this is the function that can be used to ouput the graph to a DOT file

inline virtual int addSubgraph(std::string name)#

add new subgraph, returns id of the subgraph

Protected Types

enum EdgeDirection#

directions of an edge: no direction, towards target, towards source or bidirectional

Values:

enumerator none#
enumerator target#
enumerator source#
enumerator both#

Protected Functions

virtual VertexIterator getVertices() = 0#

get an iterator for the vertices

virtual VertexIterator getVerticesEnd() = 0#

get the end of the vertices

virtual EdgeIterator getEdges(VertexType &v) = 0#

get an iterator for all edges of a vertex

virtual EdgeIterator getEdgesEnd(VertexType &v) = 0#

get the end of the edges

virtual std::string vertexToString(VertexType *v) = 0#

get unique string representation of a vertex, NOTE - this function works with a pointer to the vertex!

virtual std::string getVertexName(VertexType &v) = 0#

get the name of a vertex

virtual VertexType *getTargetVertex(EdgeType &e) = 0#

get the target vertex of an edge, NOTE - this function returns a pointer to a vertex for use with vertexToString!

inline virtual int getVertexSubgraphId(VertexType &v)#

query the subgraph ID of a node

inline virtual std::map<int, std::string> getSubgraphList()#

get a list of the subgraph names, together with their ID’s (see also getVertexSubgraphId)

inline virtual std::string getEdgeLabel(EdgeType &e)#

get the label of an edge

inline virtual EdgeDirection getEdgeDirection(EdgeType &e)#

get the direction of an edge