Packages

c

scalax.collection.generic

AbstractUnDiEdge

abstract class AbstractUnDiEdge[+N] extends AnyUnDiEdge[N]

Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AbstractUnDiEdge
  2. AnyUnDiEdge
  3. EqUnDi
  4. AnyEdge
  5. AnyHyperEdge
  6. EqHyper
  7. Eq
  8. Edge
  9. Equals
  10. AnyRef
  11. 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

Instance Constructors

  1. new AbstractUnDiEdge(source: N, target: N)

Value Members

  1. final def _1: N

    The first node of this edge.

    The first node of this edge.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
    Annotations
    @inline()
  2. final def _2: N

    The second node of this edge.

    The second node of this edge.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
    Annotations
    @inline()
  3. final 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.

    Definition Classes
    AnyEdgeEdge
    Annotations
    @inline()
  4. def canEqual(that: Any): Boolean
    Definition Classes
    Edge → Equals
  5. final def contains[M >: N](node: M): Boolean

    Same as isAt.

    Same as isAt.

    Definition Classes
    Edge
    Annotations
    @inline()
  6. def ends: Several[N]

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

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

    Definition Classes
    AnyEdgeEdge
  7. def equals(other: Any): Boolean
    Definition Classes
    Eq → AnyRef → Any
  8. final def hasSource(pred: (N) => Boolean): Boolean

    true if any source end of this edge fulfills pred.

    true if any source end of this edge fulfills pred.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  9. final 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.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  10. final def hasTarget(pred: (N) => Boolean): Boolean

    true if any target end of this edge fulfills pred.

    true if any target end of this edge fulfills pred.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  11. final 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.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  12. def hashCode(): Int
    Definition Classes
    Eq → AnyRef → Any
  13. final def isAt(pred: (N) => Boolean): Boolean

    true if any end of this edge fulfills pred.

    true if any end of this edge fulfills pred.

    Definition Classes
    AnyEdgeEdge
    Annotations
    @inline()
  14. final def isAt[M >: N](node: M): Boolean

    true if node is incident with this edge.

    true if node is incident with this edge.

    Definition Classes
    AnyEdgeEdge
    Annotations
    @inline()
  15. def isDirected: Boolean

    Whether this edge is directed.

    Whether this edge is directed.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  16. final def isHyperEdge: Boolean

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

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

    Definition Classes
    AnyEdgeEdge
    Annotations
    @inline()
  17. def isLabeled: Boolean
    Definition Classes
    Edge
  18. final 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.

    Definition Classes
    AnyUnDiEdgeAnyEdgeAnyHyperEdgeEdge
  19. final def isUndirected: Boolean

    Whether this edge is undirected.

    Whether this edge is undirected.

    Definition Classes
    Edge
    Annotations
    @inline()
  20. 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.

    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.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  21. 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.
    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  22. final def node(n: Int): N

    The n'th node of this edge.

    The n'th node of this edge.

    Definition Classes
    AnyEdgeEdge
    Exceptions thrown

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

  23. final def nonHyperEdge: Boolean

    Whether this edge has exactly two ends.

    Whether this edge has exactly two ends.

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

    Same as ! looping.

    Same as ! looping.

    Definition Classes
    Edge
    Annotations
    @inline()
  25. val source: N
    Definition Classes
    AbstractUnDiEdgeAnyUnDiEdge
  26. final def sources: OneOrMore[N]

    All source ends of this edge.

    All source ends of this edge.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
    Annotations
    @inline()
  27. val target: N
    Definition Classes
    AbstractUnDiEdgeAnyUnDiEdge
  28. final def targets: OneOrMore[N]

    All target ends of this edge.

    All target ends of this edge.

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
    Annotations
    @inline()
  29. 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.

    Definition Classes
    Edge
  30. final def withSources[U](f: (N) => U): Unit

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

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

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge
  31. final def withTargets[U](f: (N) => U): Unit

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

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

    Definition Classes
    AnyUnDiEdgeAnyHyperEdgeEdge