object GraphEdge
Container for basic edge types to be used in the context of Graph
.
You will usually simply import all its members along with the members of Param:
import scalax.collection.GraphPredef._, scalax.collection.GraphEdge,_
- Alphabetic
- By Inheritance
- GraphEdge
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
sealed abstract
class
CollectionKind extends AnyRef
Defines how to handle the ends of hyperedges, or the source/target ends of directed hyperedges, with respect to equality.
-
class
DiEdge[+N] extends UnDiEdge[N] with DiEdgeLike[N] with EdgeCopy[DiEdge] with OuterEdge[N, DiEdge]
Represents a directed edge (arc / arrow) connecting two nodes.
Represents a directed edge (arc / arrow) connecting two nodes.
- Annotations
- @SerialVersionUID()
- trait DiEdgeLike[+N] extends DiHyperEdgeLike[N] with EqDi
-
class
DiHyperEdge[+N] extends HyperEdge[N] with DiHyperEdgeLike[N] with EdgeCopy[DiHyperEdge] with OuterEdge[N, DiHyperEdge]
Represents a directed edge in a hypergraph with a single source and an unlimited number of taget nodes.
Represents a directed edge in a hypergraph with a single source and an unlimited number of taget nodes. Target nodes are handled as a bag that is an unordered collection of nodes with duplicates allowed.
- Annotations
- @SerialVersionUID()
-
trait
DiHyperEdgeLike[+N] extends EdgeLike[N] with EqDiHyper
Template trait for directed edges.
Template trait for directed edges.
Any class representing directed edges must inherit from this trait.
-
trait
EdgeCompanion[+E[N] <: EdgeLike[N]] extends EdgeCompanionBase[E]
The abstract methods of this trait must be implemented by companion objects of simple (non-weighted, non-labeled) edges.
-
trait
EdgeCompanionBase[+E[N] <: EdgeLike[N]] extends Serializable
Marker trait for companion objects of any kind of edge.
-
trait
EdgeCopy[+CC[X] <: EdgeLike[_]] extends AnyRef
This trait is to be mixed in by every class implementing EdgeLike.
-
sealed
trait
EdgeLike[+N] extends Iterable[N] with Eq with Serializable
Template for Edges in a Graph.
Template for Edges in a Graph.
Implementation note: Irrespective of the containing
Graph
all library-provided Edges are immutable.- N
the user type of the nodes (ends) of this edge.
-
sealed
trait
Eq extends AnyRef
- Attributes
- protected[scalax.collection]
-
trait
EqDi extends Eq
- Attributes
- protected[scalax.collection]
-
trait
EqDiHyper extends Eq
Equality for targets handled as a bag that is an unordered collection of nodes with duplicates allowed.
Equality for targets handled as a bag that is an unordered collection of nodes with duplicates allowed. Targets are equal if they contain the same nodes irrespective of their position.
- Attributes
- protected[scalax.collection]
-
trait
EqHyper extends Eq
- Attributes
- protected[scalax.collection]
-
trait
EqUnDi extends Eq
- Attributes
- protected[scalax.collection]
-
trait
ExtendedKey[+N] extends EdgeLike[N]
This trait supports extending the default key of an edge with additional attributes.
This trait supports extending the default key of an edge with additional attributes.
As a default, the key - represented by
hashCode
- of an edge is made up of the participating nodes. Custom edges may need to expand this default key with additional attributes thus enabling the definition of several edges between the same nodes (multi-edges). Edges representing flight connections between airports are a typical example for this requirement because their key must also include something like a flight number. When defining a custom edge for a multi-graph, this trait must be mixed in.- N
type of the nodes
-
class
HyperEdge[+N] extends EdgeLike[N] with EdgeCopy[HyperEdge] with OuterEdge[N, HyperEdge] with EqHyper
Represents an undirected hyperedge (hyperlink) in a hypergraph with unlimited number of nodes.
Represents an undirected hyperedge (hyperlink) in a hypergraph with unlimited number of nodes.
- Annotations
- @SerialVersionUID()
-
trait
HyperEdgeCompanion[+E[N] <: EdgeLike[N]] extends EdgeCompanionBase[E]
The abstract methods of this trait must be implemented by companion objects of simple (non-weighted, non-labeled) hyperedges.
-
trait
Keyed extends AnyRef
- Attributes
- protected[scalax.collection]
- trait LoopFreeEdge[+N] extends EdgeLike[N]
-
trait
OrderedEndpoints extends AnyRef
Marks (directed) hyperedge endpoints to have a significant order.
Marks (directed) hyperedge endpoints to have a significant order.
- Attributes
- protected[scalax.collection]
-
class
UnDiEdge[+N] extends HyperEdge[N] with EdgeCopy[UnDiEdge] with OuterEdge[N, UnDiEdge] with EqUnDi
Represents an undirected edge.
Represents an undirected edge.
- Annotations
- @SerialVersionUID()
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
val
~: UnDiEdge.type
Allows to replace the edge object with it's shortcut like
edge match {case n1 ~ n2 => f(n1, n2)}
. -
val
~>: DiEdge.type
Allows to replace the edge object with it's shortcut like
edge match {case source ~> target => f(source, target)}
. -
val
~~: HyperEdge.type
Allows to replace the edge object with it's shortcut like
hyperedge match {case n1 ~~ (n2, n3) => f(n1, n2, n3)}
. -
val
~~>: DiHyperEdge.type
Allows to replace the edge object with it's shortcut like
diHyperedge match {case source ~~> (t1, t2) => f(source, t1, t2)}
. -
object
Bag extends CollectionKind with Product with Serializable
Marks a hyperedge, or the source/target ends of a directed hyperedge, to handle the endpoints as an unordered collection of nodes with duplicates allowed.
- object CollectionKind
-
object
DiEdge extends EdgeCompanion[DiEdge]
Factory for directed edges.
Factory for directed edges.
GraphPredef
also supports implicit conversion fromnode_1 ~> node_2
toDiEdge
. - object DiEdgeLike extends Serializable
-
object
DiHyperEdge extends HyperEdgeCompanion[DiHyperEdge]
Factory for directed hyper-edges.
Factory for directed hyper-edges.
GraphPredef
also supports implicit conversion fromnode_1 ~> node_2 ~> node_3
toDirectedHyperEdge
. - object EdgeLike extends Serializable
-
object
Eq
- Attributes
- protected[scalax.collection]
- object ExtendedKey extends Serializable
-
object
HyperEdge extends HyperEdgeCompanion[HyperEdge]
Factory for undirected hyper-edges.
Factory for undirected hyper-edges.
GraphPredef
also supports implicit conversion fromnode_1 ~ node_2 ~ node_3
toHyperEdge
. - object LoopFreeEdge extends Serializable
-
object
NodeProduct
Helper object to convert edge-factory parameter-lists to tuple-n or list.
-
object
Sequence extends CollectionKind with Product with Serializable
Marks a hyperedge, or the source/target ends of a directed hyperedge, to handle the endpoints as an ordered collection of nodes with duplicates allowed.
-
object
UnDiEdge extends EdgeCompanion[UnDiEdge]
Factory for undirected edges.
Factory for undirected edges.
GraphPredef
also supports implicit conversion fromnode_1 ~ node_2
toUnDiEdge
.
Welcome to the Graph for Scala API reference. Some suggested navigation entry points:
Graph
mutable.Graph
and its inner nodes.GraphEdge
objectedge
packageGraphPredef
object andImplicits
object.GraphTraversal
andTraverserInnerNode
.RandomGraph
.GraphGen
.