package generic
- Alphabetic
- Public
- Protected
Type Members
- abstract class AbstractDiEdge[+N] extends AnyDiEdge[N]
- trait AbstractDiEdgeImplicits[N, E[N] <: AnyDiEdge[N], C <: EdgeCompanion[E]] extends Any
- abstract class AbstractDiHyperEdge[+N] extends AnyDiHyperEdge[N]
- trait AbstractEdgeImplicits[N, E[X] <: Edge[X] with AnyEdge[X], C <: EdgeCompanion[E]] extends Any
- trait AbstractGenericDiEdge[+N, +CC[X] <: AbstractGenericDiEdge[X, CC]] extends AnyDiEdge[N] with GenericEdgeMapper[CC]
- abstract class AbstractGenericDiHyperEdge[+N, +CC[X] <: AbstractGenericDiHyperEdge[X, CC]] extends AbstractDiHyperEdge[N] with GenericDiHyperEdgeMapper[CC]
- abstract class AbstractGenericHyperEdge[+N, +CC[X] <: AbstractGenericHyperEdge[X, CC]] extends AbstractHyperEdge[N] with GenericHyperEdgeMapper[CC]
- trait AbstractGenericUnDiEdge[+N, +CC[X] <: AbstractGenericUnDiEdge[X, CC]] extends AnyUnDiEdge[N] with GenericEdgeMapper[CC]
- abstract class AbstractHyperEdge[+N] extends AnyHyperEdge[N]
- abstract class AbstractUnDiEdge[+N] extends AnyUnDiEdge[N]
- trait AnyDiEdge[+N] extends AnyDiHyperEdge[N] with AnyEdge[N] with EqDi[N]
- trait AnyDiHyperEdge[+N] extends AnyHyperEdge[N] with EqDiHyper
- trait AnyEdge[+N] extends Edge[N]
- trait AnyHyperEdge[+N] extends Edge[N] with EqHyper
- class AnyOrdering[N] extends Ordering[N]
Ordering for Any with the following rules: numerical > string > any other reference type.
Ordering for Any with the following rules: numerical > string > any other reference type. If a reference type is not a subclass of Ordered, it will be ordered according to its toString value. Used to predictably order elements when computing
Graph.toString
. - trait AnyUnDiEdge[+N] extends AnyHyperEdge[N] with AnyEdge[N] with EqUnDi[N]
- 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.
- trait DefaultConfig[+CC[N, E <: Edge[N]] <: AnyGraph[N, E] with GraphLike[N, E, CC]] extends AnyRef
- Attributes
- protected
- trait DiEdgeToString extends EdgeToString
- trait DiHyperEdgeCompanion[+E[N] <: AbstractDiHyperEdge[N]] extends EdgeCompanionBase
The abstract methods of this trait must be implemented by companion objects of directed, non-labeled hyperedges.
- sealed trait DiHyperEdgeMapper extends Mapper
- Attributes
- protected[collection]
- trait DiHyperEdgeToString extends EdgeToString
- sealed trait Edge[+N] extends Equals
Base template for all edges in a
Graph
.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.
- trait EdgeCompanion[+E[N] <: Edge[N]] extends EdgeCompanionBase
Template for companion objects of generic edges.
- sealed trait EdgeCompanionBase extends Serializable
Marker trait for companion objects of any non-labeled edge.
- sealed trait EdgeMapper extends Mapper
- Attributes
- protected[collection]
- sealed trait EdgeToString extends AnyRef
- Attributes
- protected
- sealed trait Eq extends AnyRef
- Attributes
- protected[collection]
- trait EqDi[+N] extends Eq
- Attributes
- protected[collection]
- trait EqDiHyper extends Eq
Equality for targets handled as a $BAG.
Equality for targets handled as a $BAG. Targets are equal if they contain the same nodes irrespective of their position.
- Attributes
- protected[collection]
- trait EqHyper extends Eq
- Attributes
- protected[collection]
- trait EqUnDi[+N] extends Eq
- Attributes
- protected[collection]
- trait ExtendedKeyBySingleLabel extends MultiEdge
- trait ExtendedKeyByWeight extends MultiEdge
- sealed trait Factory[+CC[N, E <: Edge[N]] <: AnyGraph[N, E] with GraphLike[N, E, CC]] extends AnyRef
Methods common to
Graph
companion objects in the core module.Methods common to
Graph
companion objects in the core module.- CC
the kind of type of the graph that is to become the companion class/trait of the object extending this trait.
- trait GenericDiHyperEdgeMapper[+CC[X] <: Edge[X]] extends GenericMapper with DiHyperEdgeMapper
- trait GenericEdgeMapper[+CC[X] <: Edge[X]] extends GenericMapper with EdgeMapper
Mixin for directed and undirected generic edges to facilitate
Graph
mapping bydef map(fNode)
.Mixin for directed and undirected generic edges to facilitate
Graph
mapping bydef map(fNode)
.- CC
type constructor of the final edge class.
- trait GenericGraphCoreFactory[+CC[N, E <: Edge[N]] <: AnyGraph[N, E] with GraphLike[N, E, CC]] extends GenericGraphFactory[CC] with DefaultConfig[CC]
- trait GenericGraphFactory[+CC[N, E <: Edge[N]] <: AnyGraph[N, E] with GraphLike[N, E, CC]] extends Factory[CC]
- trait GenericHyperEdgeMapper[+CC[X] <: Edge[X]] extends GenericMapper with HyperEdgeMapper
- sealed trait GenericMapper extends Mapper
- Attributes
- protected[collection]
- trait HyperEdgeCompanion[+E[N] <: AbstractHyperEdge[N]] extends EdgeCompanionBase
The abstract methods of this trait must be implemented by companion objects of non-labeled hyperedges.
- sealed trait HyperEdgeMapper extends Mapper
- Attributes
- protected[collection]
- trait HyperEdgeToString extends EdgeToString
- trait ImmutableFactory[+CC[N, E <: Edge[N]] <: Graph[N, E] with GraphLike[N, E, CC]] extends GenericGraphCoreFactory[CC]
- trait LDiEdgeToString extends LEdgeToString with DiEdgeToString
- trait LDiHyperEdgeToString extends LEdgeToString with DiHyperEdgeToString
- sealed trait LEdgeToString extends EdgeToString
- Attributes
- protected
- trait LHyperEdgeToString extends LEdgeToString with HyperEdgeToString
- trait LUnDiEdgeToString extends LEdgeToString with UnDiEdgeToString
- sealed trait Mapper extends AnyRef
- Attributes
- protected[collection]
- trait MultiEdge extends AnyRef
Edge mixin for multigraph support.
Edge mixin for multigraph support.
As a default, hashCode/equality of edges is determined by their ends. We say that edge ends are part of the edge key.
Whenever your custom edge needs to be a multi-edge, meaning that your graph is allowed to connect some nodes by an instance of this edge even if those nodes are already connected, the edge key needs be extended by adding at least one more class member, constant or whatsoever to the edge key.
For example edges representing flight connections between airports need be multi-edges to allow for different flights between the same airports.
- trait MultiLEdgeToString extends AnyRef
Mix in this trait in your labeled edge class if you want to indicate in its
toString
representation that the edge supports multigraphs.Mix in this trait in your labeled edge class if you want to indicate in its
toString
representation that the edge supports multigraphs. Once mixed in, thelabelSeparator
gets:++
. - trait MultiWEdgeToString extends AnyRef
- trait MutableFactory[+CC[N, E <: Edge[N]] <: Graph[N, E] with mutable.GraphLike[N, E, CC]] extends GenericGraphCoreFactory[CC]
- trait OrderedEndpoints extends AnyRef
Marks (directed) hyperedge endpoints to have a significant order.
Marks (directed) hyperedge endpoints to have a significant order.
- Attributes
- protected[collection]
- trait PartialDiHyperEdgeMapper[+CC <: Edge[_]] extends PartialMapper with DiHyperEdgeMapper
- trait PartialEdgeMapper[+CC <: Edge[_]] extends PartialMapper with EdgeMapper
- trait PartialHyperEdgeMapper[+CC <: Edge[_]] extends PartialMapper with HyperEdgeMapper
- trait PartialMapper extends Mapper
- trait SingleLabel[L] extends AnyRef
- trait TypedGraphCoreFactory[N, E <: Edge[N], +CC[X, Y <: Edge[X]] <: AnyGraph[X, Y] with GraphLike[X, Y, CC]] extends TypedGraphFactory[N, E, CC] with DefaultConfig[CC]
- trait TypedGraphFactory[N, E <: Edge[N], +CC[X, Y <: Edge[X]] <: AnyGraph[X, Y] with GraphLike[X, Y, CC]] extends Factory[CC]
- trait UnDiEdgeToString extends EdgeToString
- trait UnapplyGenericHyperLabel[L] extends AnyRef
- trait UnapplyGenericLabel[L] extends AnyRef
- trait UnapplyGenericLabeledDiHyperEdge[E[X] <: AbstractDiHyperEdge[X], L] extends AnyRef
- trait UnapplyGenericLabeledEdge[E[X] <: AnyEdge[X], L] extends AnyRef
- trait UnapplyLabel[N, L] extends AnyRef
- trait UnapplyLabeledEdge[N, E <: Edge[N], L] extends AnyRef
- trait WDiEdgeToString extends WEdgeToString with DiEdgeToString
- trait WDiHyperEdgeToString extends WEdgeToString with DiHyperEdgeToString
- sealed trait WEdgeToString extends LEdgeToString
- Attributes
- protected
- trait WHyperEdgeToString extends WEdgeToString with HyperEdgeToString
- trait WUnDiEdgeToString extends WEdgeToString with UnDiEdgeToString
Value Members
- case object % extends Product with Serializable
Intermediate infix extractor for the "unlabeled part" of a weighted edge.
Intermediate infix extractor for the "unlabeled part" of a weighted edge. It is to be combined with
:~
or:~>
likecase a :~ b % w
. - object AbstractDiHyperEdge
- object AbstractDiHyperEdgeImplicits
- object AbstractHyperEdge
- object AbstractHyperEdgeImplicits
- object AnyDiHyperEdge
- object AnyEdge
- object AnyHyperEdge
- object AnyUnDiEdge
- case object Bag extends CollectionKind with Product with Serializable
Marks a hyperedge, $ORDIHYPER, to handle the endpoints as an unordered collection of nodes with duplicates allowed.
- object CollectionKind
- object Edge
- object Eq
- Attributes
- protected[collection]
- case object Sequence extends CollectionKind with Product with Serializable
Marks a hyperedge, $ORDIHYPER, to handle the endpoints as an ordered collection of nodes with duplicates allowed.
- object SingleLabel
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
.