DepGraph

trait DepGraph[Node]
Companion
object
class Object
trait Matchable
class Any
class DepGraphJGraphT[Node]

Value members

Abstract methods

def addEdge(node1: Node, posNeg: PosNeg, node2: Node): DepGraph[Node]
def addNode(node: Node): DepGraph[Node]
def edgeBetween(node1: Node, node2: Node): Option[PosNeg]
def empty: DepGraph[Node]
def inEdges(node: Node): Either[String, Set[(Node, PosNeg)]]
def isomorphicWith(other: DepGraph[Node]): Either[String, Unit]

Checks if this graph is isomorphic with another one

Checks if this graph is isomorphic with another one

Value Params
other

the other dependency graph

Returns

Left(msg) if it is not isomorphic or Right(()) if it is isomorphic

def negCycles: Set[Set[(Node, Node)]]
def nodes: Set[Node]
def outEdges(node: Node): Either[String, Set[(PosNeg, Node)]]
def showEdges(showNode: Node => String): String

Concrete methods

def addNegEdge(node1: Node, node2: Node): DepGraph[Node]
def addPosEdge(node1: Node, node2: Node): DepGraph[Node]
def containsNegCycle: Boolean
def oddNegCycles: Set[Set[(Node, Node)]]