Packages

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Graph
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Graph(vertices: Set[Node[T]], edges: Set[E])

    vertices

    The set of vertices of the graph.

    edges

    The set of edges of the graph.

Abstract Value Members

  1. 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).

  2. 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).

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. abstract def containsCycle: Boolean

    Tests if the graph contains a cycle.

    Tests if the graph contains a cycle.

    returns

    true if the graph contains a cycle, false otherwise.

  10. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. val edges: Set[E]
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. def isEmpty: Boolean

    Tests if the graph contains any vertices.

    Tests if the graph contains any vertices.

    returns

    true if the graph contains no vertices, false otherwise.

  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def noEdges: Boolean

    Tests if the graph contains any edges.

    Tests if the graph contains any edges.

    returns

    true if the graph no edges, false otherwise.

  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  17. 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.

  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. val vertices: Set[Node[T]]
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped