AbstractGenericDiHyperEdge

scalax.collection.generic.AbstractGenericDiHyperEdge
abstract class AbstractGenericDiHyperEdge[+N, +CC <: (AbstractGenericDiHyperEdge)](sources: OneOrMore[N], targets: OneOrMore[N]) extends AbstractDiHyperEdge[N], GenericDiHyperEdgeMapper[CC]

Attributes

Graph
Supertypes
trait AnyDiHyperEdge[N]
trait AnyHyperEdge[N]
trait Edge[N]
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

override def arity: Int

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.

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.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
override protected def baseEquals(other: Edge[_]): Boolean

Attributes

Definition Classes
EqDiHyper -> Eq
Inherited from:
EqDiHyper (hidden)
override protected def baseHashCode: Int

Attributes

Definition Classes
EqDiHyper -> Eq
Inherited from:
EqDiHyper (hidden)
override def canEqual(that: Any): Boolean

Attributes

Definition Classes
Inherited from:
Edge
final def contains[M >: N](node: M): Boolean

Same as isAt.

Same as isAt.

Attributes

Inherited from:
Edge
override 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.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
override def equals(other: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
Eq -> Any
Inherited from:
Eq (hidden)
override 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.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
override def hasSource[M >: N](node: M): Boolean

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

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

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
override 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.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
override def hasTarget[M >: N](node: M): Boolean

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

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

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
override def hashCode: Int

Calculates a hash code value for the object.

Calculates a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

Attributes

Returns

the hash code value for this object.

Definition Classes
Eq -> Any
Inherited from:
Eq (hidden)
override def isAt(pred: N => Boolean): Boolean

true if any end of this edge fulfills pred.

true if any end of this edge fulfills pred.

Attributes

Definition Classes
Inherited from:
AnyHyperEdge
override def isAt[M >: N](node: M): Boolean

true if node is incident with this edge.

true if node is incident with this edge.

Attributes

Definition Classes
Inherited from:
AnyHyperEdge
final override def isDirected: Boolean

Whether this edge is directed.

Whether this edge is directed.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge

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.

Attributes

Inherited from:
AnyHyperEdge

Attributes

Inherited from:
Edge
override def isLooping: Boolean

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.

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.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
final def isUndirected: Boolean

Whether this edge is undirected.

Whether this edge is undirected.

Attributes

Inherited from:
Edge
override 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.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
override def matches[M >: N](n1: M, n2: M): Boolean

true if a. being an undirected edge, both n1 and n2 are at this edge a. being a directed edge, n1 is a source and n2 a target of this edge.

true if a. being an undirected edge, both n1 and n2 are at this edge a. being a directed edge, n1 is a source and n2 a target of this edge.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
def node(n: Int): N

The n'th node of this edge.

The n'th node of this edge.

Attributes

Throws
IllegalArgumentException

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

Inherited from:
AnyHyperEdge
override def node1: N

The first node of this edge.

The first node of this edge.

Attributes

Definition Classes
Inherited from:
AnyDiHyperEdge
def node2: N

The second node of this edge.

The second node of this edge.

Attributes

Inherited from:
AnyHyperEdge
final def nonHyperEdge: Boolean

Whether this edge has exactly two ends.

Whether this edge has exactly two ends.

Attributes

Inherited from:
Edge
final def nonLooping: Boolean

Same as ! isLooping.

Same as ! isLooping.

Attributes

Inherited from:
Edge
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.

Attributes

Inherited from:
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.

Attributes

Inherited from:
AnyHyperEdge
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.

Attributes

Inherited from:
AnyHyperEdge

Inherited and Abstract methods

def map[N](sources: OneOrMore[N], targets: OneOrMore[N]): CC[N]

Attributes

Inherited from:
GenericDiHyperEdgeMapper