abstract class LDiHyperEdge[+N, L] extends AbstractDiHyperEdge[N] with SingleLabel[L] with ExtendedKeyBySingleLabel with LDiHyperEdgeToString with MultiLEdgeToString
Template for generic directed multi-hyperedges with a single label
field.
To support multigraphs, equality is based on sources
, targets
and the label
field.
Mix in GenericDiHyperEdgeMapper
to get your derived multi-hyperedge also mappable.
- Alphabetic
- By Inheritance
- LDiHyperEdge
- MultiLEdgeToString
- LDiHyperEdgeToString
- DiHyperEdgeToString
- LEdgeToString
- EdgeToString
- ExtendedKeyBySingleLabel
- MultiEdge
- SingleLabel
- AbstractDiHyperEdge
- AnyDiHyperEdge
- EqDiHyper
- AnyHyperEdge
- EqHyper
- Eq
- Edge
- Equals
- AnyRef
- Any
- by HyperFromAny
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def label: L
- Definition Classes
- SingleLabel
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toany2stringadd[LDiHyperEdge[N, L]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (LDiHyperEdge[N, L], B)
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toArrowAssoc[LDiHyperEdge[N, L]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def _1: N
The first node of this edge.
The first node of this edge.
- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- def _2: N
The second node of this edge.
The second node of this edge.
- Definition Classes
- AnyHyperEdge → Edge
- 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
- AnyDiHyperEdge → AnyHyperEdge → Edge
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def baseEquals(other: Edge[_]): Boolean
- def baseHashCode: Int
- def canEqual(that: Any): Boolean
- Definition Classes
- Edge → Equals
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def contains[M >: N](node: M): Boolean
Same as
isAt
.Same as
isAt
.- Definition Classes
- Edge
- Annotations
- @inline()
- def customMsgPrefix: String
- Attributes
- protected
- Definition Classes
- Edge
- 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
- AnyDiHyperEdge → Edge
- def ensuring(cond: (LDiHyperEdge[N, L]) => Boolean, msg: => Any): LDiHyperEdge[N, L]
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toEnsuring[LDiHyperEdge[N, L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (LDiHyperEdge[N, L]) => Boolean): LDiHyperEdge[N, L]
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toEnsuring[LDiHyperEdge[N, L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): LDiHyperEdge[N, L]
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toEnsuring[LDiHyperEdge[N, L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): LDiHyperEdge[N, L]
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toEnsuring[LDiHyperEdge[N, L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(other: Any): Boolean
- Definition Classes
- MultiEdge → AnyRef → Any
- def equals(other: Edge[_]): Boolean
Preconditions:
this.directed == that.directed &&
this.isInstanceOf[Keyed] == that.isInstanceOf[Keyed]
Preconditions:
this.directed == that.directed &&
this.isInstanceOf[Keyed] == that.isInstanceOf[Keyed]
- Attributes
- protected
- Definition Classes
- Eq
- def extendKeyBy: OneOrMore[Any]
Each element in this sequence references a class member of the custom edge that will be added to the edge key.
Each element in this sequence references a class member of the custom edge that will be added to the edge key. The edge ends, like
source
andtarget
, are always part of the key so don't add them here. Once you add class members to the edge key they automatically become part of the edge's hashCode/equality.- Definition Classes
- ExtendedKeyBySingleLabel → MultiEdge
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hasSource(pred: (N) => Boolean): Boolean
true
if any source end of this edge fulfillspred
.true
if any source end of this edge fulfillspred
.- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- def hasSource[M >: N](node: M): Boolean
true
ifnode
is a source of this edge.true
ifnode
is a source of this edge. In case this edge is undirected this method maps toisAt
.- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- def hasTarget(pred: (N) => Boolean): Boolean
true
if any target end of this edge fulfillspred
.true
if any target end of this edge fulfillspred
.- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- def hasTarget[M >: N](node: M): Boolean
true
ifnode
is a target of this edge.true
ifnode
is a target of this edge. In case this edge is undirected this method maps toisAt
.- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- def hashCode(): Int
- Definition Classes
- MultiEdge → AnyRef → Any
- def isAt(pred: (N) => Boolean): Boolean
true
if any end of this edge fulfillspred
.true
if any end of this edge fulfillspred
.- Definition Classes
- AnyHyperEdge → Edge
- def isAt[M >: N](node: M): Boolean
true
ifnode
is incident with this edge.true
ifnode
is incident with this edge.- Definition Classes
- AnyHyperEdge → Edge
- final def isDirected: Boolean
Whether this edge is directed.
Whether this edge is directed.
- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- Annotations
- @inline()
- 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
- AnyHyperEdge → Edge
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLabeled: Boolean
- Definition Classes
- Edge
- 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
- AnyDiHyperEdge → AnyHyperEdge → Edge
- final def isUndirected: Boolean
Whether this edge is undirected.
Whether this edge is undirected.
- Definition Classes
- Edge
- Annotations
- @inline()
- def labelSeparator: String
- Attributes
- protected
- Definition Classes
- MultiLEdgeToString
- def labelToString: String
- Attributes
- protected
- Definition Classes
- SingleLabel
- def matches(p1: (N) => Boolean, p2: (N) => Boolean): Boolean
true
if
a) two distinct ends of this undirected edge exist for whichp1
andp2
hold or
b)p1
holds for a source andp2
for a target of this directed edge.true
if
a) two distinct ends of this undirected edge exist for whichp1
andp2
hold or
b)p1
holds for a source andp2
for a target of this directed edge.- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- def matches[M >: N](n1: M, n2: M): Boolean
true
iftrue
if- being an undirected edge, both
n1
andn2
are at this edge - being a directed edge,
n1
is a source andn2
a target of this edge.
- Definition Classes
- AnyDiHyperEdge → AnyHyperEdge → Edge
- being an undirected edge, both
- final def matches(fList: List[(N) => Boolean]): Boolean
- Attributes
- protected
- Definition Classes
- AnyHyperEdge
- val n1: LDiHyperEdge[N, L]
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toHyperFromAny[LDiHyperEdge[N, L]] performed by method HyperFromAny in scalax.collection.hyperedges.
- Definition Classes
- HyperFromAny → FromAny
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def node(n: Int): N
The n'th node of this edge.
The n'th node of this edge.
- Definition Classes
- AnyHyperEdge → Edge
- Exceptions thrown
IllegalArgumentException
ifn
does not meet0 <= n < arity
.
- def nodesToString: String
- Attributes
- protected
- Definition Classes
- DiHyperEdgeToString → EdgeToString
- def nodesToStringSeparator: String
- Attributes
- protected
- Definition Classes
- DiHyperEdgeToString → EdgeToString
- final def nonHyperEdge: Boolean
Whether this edge has exactly two ends.
Whether this edge has exactly two ends.
- Definition Classes
- Edge
- Annotations
- @inline()
- final def nonLooping: Boolean
Same as
! looping
.Same as
! looping
.- Definition Classes
- Edge
- Annotations
- @inline()
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val sources: OneOrMore[N]
All source ends of this edge.
All source ends of this edge.
- Definition Classes
- AbstractDiHyperEdge → AnyHyperEdge → Edge
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val targets: OneOrMore[N]
All target ends of this edge.
All target ends of this edge.
- Definition Classes
- AbstractDiHyperEdge → AnyHyperEdge → Edge
- def toString(): String
Implemented in terms of the protected methods
nodesToString
,labelSeparator
andlabelToString
.Implemented in terms of the protected methods
nodesToString
,labelSeparator
andlabelToString
.- Definition Classes
- LEdgeToString → EdgeToString → AnyRef → Any
- 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]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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 inExtendedKey
and addsweight
tokeyAttributes
.- Definition Classes
- Edge
- 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
- AnyHyperEdge → Edge
- 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
- AnyHyperEdge → Edge
- def ~~[NN >: N](n2: NN): HyperEdge[NN]
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toHyperFromAny[LDiHyperEdge[N, L]] performed by method HyperFromAny in scalax.collection.hyperedges.
- Definition Classes
- FromAny
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toStringFormat[LDiHyperEdge[N, L]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (LDiHyperEdge[N, L], B)
- Implicit
- This member is added by an implicit conversion from LDiHyperEdge[N, L] toArrowAssoc[LDiHyperEdge[N, L]] 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.
Welcome to the Graph for Scala API reference. Some suggested entry points:
AnyGraph
immutable.Graph
and its inner nodesmutable.Graph
and its inner nodes.edges
package and its subpackageshyperedges
package and its subpackages.labeled edges
packagemultilabeled edges
packagelabeled hyperedges
packagemultilabeled hyperedges
packageordered labeled hyperedges
packageordered multilabeled hyperedges
objectgeneric
package.GraphTraversal
andTraverserInnerNode
.RandomGraph
.GraphGen
.