Packages

sealed trait Edge[+N] extends Equals

Base template for all edges in a Graph.

Library-provided edges are immutable for both mutable and immutable Graph. However, when using mutable graphs with labeled edges where labels are mutable with respect to your use case, you might want to make your label mutable accordingly. Otherwise a much less efficient edge replacement would be necessary.

N

the type of the nodes (ends) of this edge.

Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Edge
  2. Equals
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def _1: N

    The first node of this edge.

  2. abstract def _2: N

    The second node of this edge.

  3. abstract def arity: Int

    Number of the endpoints of this edge.

    Number of the endpoints of this edge. At least two nodes are joined. In case of a hook, the two nodes are identical. Hyperedges may link more than two nodes.

  4. abstract def ends: Several[N]

    The endpoints of this edge, in other words the nodes this edge connects.

  5. abstract def hasSource(pred: (N) => Boolean): Boolean

    true if any source end of this edge fulfills pred.

  6. abstract def hasSource[M >: N](node: M): Boolean

    true if node is a source of this edge.

    true if node is a source of this edge. In case this edge is undirected this method maps to isAt.

  7. abstract def hasTarget(pred: (N) => Boolean): Boolean

    true if any target end of this edge fulfills pred.

  8. abstract def hasTarget[M >: N](node: M): Boolean

    true if node is a target of this edge.

    true if node is a target of this edge. In case this edge is undirected this method maps to isAt.

  9. abstract def isAt(pred: (N) => Boolean): Boolean

    true if any end of this edge fulfills pred.

  10. abstract def isAt[M >: N](node: M): Boolean

    true if node is incident with this edge.

  11. abstract def isDirected: Boolean

    Whether this edge is directed.

  12. abstract def isHyperEdge: Boolean

    Whether this edge's type is hyperedge meaning that it may have more than two ends.

  13. abstract def isLooping: Boolean

    Whether this edge produces a self-loop.

    Whether this edge produces a self-loop. In case of a non-hyperedge, a loop is given if the incident nodes are equal. In case of a directed hyperedge, a loop is given if any of the targets is included in the sources. In case of an undirected hyperedge, a loop is given if any of the ends is a duplicate.

  14. abstract def matches(p1: (N) => Boolean, p2: (N) => Boolean): Boolean

    true if
    a) two distinct ends of this undirected edge exist for which p1 and p2 hold or
    b) p1 holds for a source and p2 for a target of this directed edge.

  15. abstract def matches[M >: N](n1: M, n2: M): Boolean

    true if

    true if

    1. being an undirected edge, both n1 and n2 are at this edge
    2. being a directed edge, n1 is a source and n2 a target of this edge.
  16. abstract def node(n: Int): N

    The n'th node of this edge.

    The n'th node of this edge.

    Exceptions thrown

    IllegalArgumentException if n does not meet 0 <= n < arity.

  17. abstract def sources: OneOrMore[N]

    All source ends of this edge.

  18. abstract def targets: OneOrMore[N]

    All target ends of this edge.

  19. abstract def withSources[U](f: (N) => U): Unit

    Applies f to all source ends of this edge without any memory allocation.

  20. abstract def withTargets[U](f: (N) => U): Unit

    Applies f to the target ends of this edge without any memory allocation.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Edge[N] toany2stringadd[Edge[N]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Edge[N], B)
    Implicit
    This member is added by an implicit conversion from Edge[N] toArrowAssoc[Edge[N]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def canEqual(that: Any): Boolean
    Definition Classes
    Edge → Equals
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  9. final def contains[M >: N](node: M): Boolean

    Same as isAt.

    Same as isAt.

    Annotations
    @inline()
  10. def customMsgPrefix: String
    Attributes
    protected
  11. def ensuring(cond: (Edge[N]) => Boolean, msg: => Any): Edge[N]
    Implicit
    This member is added by an implicit conversion from Edge[N] toEnsuring[Edge[N]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: (Edge[N]) => Boolean): Edge[N]
    Implicit
    This member is added by an implicit conversion from Edge[N] toEnsuring[Edge[N]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean, msg: => Any): Edge[N]
    Implicit
    This member is added by an implicit conversion from Edge[N] toEnsuring[Edge[N]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean): Edge[N]
    Implicit
    This member is added by an implicit conversion from Edge[N] toEnsuring[Edge[N]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def isLabeled: Boolean
  21. final def isUndirected: Boolean

    Whether this edge is undirected.

    Whether this edge is undirected.

    Annotations
    @inline()
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def nonHyperEdge: Boolean

    Whether this edge has exactly two ends.

    Whether this edge has exactly two ends.

    Annotations
    @inline()
  24. final def nonLooping: Boolean

    Same as ! looping.

    Same as ! looping.

    Annotations
    @inline()
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  27. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. def weight: Double

    The weight of this edge with a default of 1.

    The weight of this edge with a default of 1.

    Note that weight is normally not part of the edge key (hashCode). As a result, edges with different weights connecting the same nodes will be evaluated as equal and thus added once and only once to the graph. In case you need multi-edges based on different weights you should define a custom edge class that mixes in ExtendedKey and adds weight to keyAttributes.

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated
  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Edge[N] toStringFormat[Edge[N]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (Edge[N], B)
    Implicit
    This member is added by an implicit conversion from Edge[N] toArrowAssoc[Edge[N]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromEdge[N] to any2stringadd[Edge[N]]

Inherited by implicit conversion StringFormat fromEdge[N] to StringFormat[Edge[N]]

Inherited by implicit conversion Ensuring fromEdge[N] to Ensuring[Edge[N]]

Inherited by implicit conversion ArrowAssoc fromEdge[N] to ArrowAssoc[Edge[N]]

Ungrouped