flix

0.78.0

MutGraph

struct MutGraph[r: Eff]Source
vertices: MutSet[Vertex, r]adjList: MutMap[Vertex, Set[Vertex], r]

A mutable graph.

Type of mutable directed graphs, and its functions.

Definitions

def addEdge(u: Vertex, v: Vertex, g: MutGraph[r]): Unit \ r§ Source

Adds the edge (u, v) to g.

The vertices u and v are automatically added to g.

def addVertex(v: Vertex, g: MutGraph[r]): Unit \ r§ Source

Adds the edge (u, v) to g.

def empty(rc: Region[r]): MutGraph[r] \ r§ Source

Returns an empty graph with no vertices or edges.

def getSCCOrder(g: MutGraph[r]): List[Set[Vertex]] \ r§ Source

Returns the strongly connected components of g in a topologically sorted order where the SCC's are represented by the set of vertices in them.

def hasEdge(u: Vertex, v: Vertex, g: MutGraph[r]): Bool \ r§ Source

Returns true if g contains the edge (u, v).

def numberOfVertices(g: MutGraph[r]): Int32 \ r§ Source

Returns the number of vertices in g. MutGraphs should start with vertex 0.

def toString(g: MutGraph[r]): String \ r§ Source

Returns a string representation of g.