abstract class Graph[T, E <: Edge[Node[T]]] extends AnyRef
This abstract class represent the base of all graphs (excluding hyper graphs).
For any graph, each vertex in every edge must be in the the set of vertices, otherwise an exception will be thrown.
- T
The type of nodes in the graph.
- E
The type of edges of the graph, must be a subtype of properties.Edge.
- Alphabetic
- By Inheritance
- Graph
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Abstract Value Members
- abstract def +[X](_edges: Set[E])(implicit arg0: ClassTag[X]): Graph[T, E]
Add a set of edges to the graph.
Add a set of edges to the graph.
This will also add vertices if any of the edges contains vertices not yet present in the graph.
- X
ClassTag parameter to ensure generic type is not erased.
- _edges
The set of edges to be added.
- returns
The graph with the added edges (and vertices).
- abstract def +(edge: E): Graph[T, E]
Add an edge to the graph.
Add an edge to the graph.
This will also add vertices if the edge contains vertices not yet present in the graph.
- edge
The edge to be added.
- returns
The graph with the added edge (and vertices).
- abstract def +(_vertices: Set[Node[T]]): Graph[T, E]
Add a set of vertices to the graph.
Add a set of vertices to the graph.
- _vertices
The vertices to be added.
- returns
The graph with the added vertices.
- abstract def +(vertex: Node[T]): Graph[T, E]
Add a vertex to the graph.
Add a vertex to the graph.
- vertex
The vertex to be added.
- returns
The graph with the added vertex.
- abstract def -[X](_edges: Set[E])(implicit arg0: ClassTag[X]): Graph[T, E]
Remove a set of edges from the graph.
Remove a set of edges from the graph.
Edges that are not part of the graph will are ignored.
- X
ClassTag parameter to ensure generic type is not erased.
- _edges
The edges to be removed.
- returns
The graph minus the edges.
- abstract def -(edge: E): Graph[T, E]
Remove an edge from the graph.
Remove an edge from the graph.
If the edge is not part of the graph this function does nothing.
- edge
The edge to be removed.
- returns
The graph minus the edge.
- abstract def -(_vertices: Set[Node[T]]): Graph[T, E]
Remove a set of vertices from the graph.
Remove a set of vertices from the graph.
Any edges connected to any of the vertices will also be removed. Vertices that are not part of the graph are ignored.
- _vertices
The vertices to be removed.
- returns
The graph minus the vertices and mines edges that were connected.
- abstract def -(vertex: Node[T]): Graph[T, E]
Remove a vertex from the graph.
Remove a vertex from the graph.
Any edges connected to this vertex will also be removed. If the vertex is not part of the graph, this function returns the original graph.
- vertex
The vertex to be removed.
- returns
The graph minus the vertex and mines edges that were connected.
- abstract def containsCycle: Boolean
Tests if the graph contains a cycle.
Tests if the graph contains a cycle.
- returns
if the graph contains a cycle,true
otherwise.false
- abstract def merge[G <: Graph[T, E]](that: G): Graph[T, E]
Merge two graphs of the same type.
Merge two graphs of the same type.
- G
The type of the graph to be merged (same as this type).
- that
The graph to be merged with this graph.
- returns
The merged graph.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- val edges: Set[E]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def isEmpty: Boolean
Tests if the graph contains any vertices.
Tests if the graph contains any vertices.
- returns
if the graph contains no vertices,true
otherwise.false
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noEdges: Boolean
Tests if the graph contains any edges.
Tests if the graph contains any edges.
- returns
if the graph no edges,true
otherwise.false
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def size: Int
Returns the number of vertices in the graph.
Returns the number of vertices in the graph.
- returns
The number of vertices in the graph.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- val vertices: Set[Node[T]]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])