Packages

  • package root

    Welcome to the Graph for Scala API reference.

    Welcome to the Graph for Scala API reference. Some suggested navigation entry points:

    Definition Classes
    root
  • package scalax
    Definition Classes
    root
  • package collection

    Contains the base traits and objects needed to use Graph for Scala.

    Contains the base traits and objects needed to use Graph for Scala.

    See also the Graph for Scala Core User Guide.

    Definition Classes
    scalax
  • package config
    Definition Classes
    collection
  • package edge

    Predefined edges.

    Predefined edges.

    While basic edge types are defined in the object GraphEdge, the predefined edges in this package cover the following categories (prefixes, shortcuts):

    weighted (W, %), key-weighted (Wk, %#), labeled (L, +), key-labeled (Lk, +#), weighted and labeled (WL, %+), key-weighted and labeled (WkL, %#+), weighted and key-labeled (WLk, %+#) and key-weighted and key-labeled (WkLk, %#+#).

    These predefined edges provide alternatives for any edge extension taking the burden from the user to implement his/her custom edge class - but baring the disadvantage that user edge attributes must be part of a label class as opposed to being part of the edge class directly. It may also serve as a source for looking up how to implement custom edge classes.

    Definition Classes
    collection
  • package generator

    This package helps you to create random graphs with predefined metrics.

    This package helps you to create random graphs with predefined metrics. It is not only possible to create random graph instances but also Scalacheck generators.

    Definition Classes
    collection
  • package generic
    Definition Classes
    collection
  • package immutable
    Definition Classes
    collection
  • package interfaces
    Definition Classes
    collection
  • package mutable
    Definition Classes
    collection
  • Graph
  • GraphBase
  • GraphDegree
  • GraphEdge
  • GraphLike
  • GraphPredef
  • GraphTraversal
  • GraphTraversalImpl
  • State
  • TraverserImpl
o

scalax.collection

GraphEdge

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,_
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GraphEdge
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. 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.

  2. 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()
  3. trait DiEdgeLike[+N] extends DiHyperEdgeLike[N] with EqDi
  4. 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()
  5. 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.

  6. 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.

  7. trait EdgeCompanionBase[+E[N] <: EdgeLike[N]] extends Serializable

    Marker trait for companion objects of any kind of edge.

  8. trait EdgeCopy[+CC[X] <: EdgeLike[_]] extends AnyRef

    This trait is to be mixed in by every class implementing EdgeLike.

  9. 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.

  10. sealed trait Eq extends AnyRef
    Attributes
    protected[scalax.collection]
  11. trait EqDi extends Eq
    Attributes
    protected[scalax.collection]
  12. 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]
  13. trait EqHyper extends Eq
    Attributes
    protected[scalax.collection]
  14. trait EqUnDi extends Eq
    Attributes
    protected[scalax.collection]
  15. 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

  16. 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()
  17. 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.

  18. trait Keyed extends AnyRef
    Attributes
    protected[scalax.collection]
  19. trait LoopFreeEdge[+N] extends EdgeLike[N]
  20. 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]
  21. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  20. val ~: UnDiEdge.type

    Allows to replace the edge object with it's shortcut like edge match {case n1 ~ n2 => f(n1, n2)}.

  21. val ~>: DiEdge.type

    Allows to replace the edge object with it's shortcut like edge match {case source ~> target => f(source, target)}.

  22. val ~~: HyperEdge.type

    Allows to replace the edge object with it's shortcut like hyperedge match {case n1 ~~ (n2, n3) => f(n1, n2, n3)}.

  23. val ~~>: DiHyperEdge.type

    Allows to replace the edge object with it's shortcut like diHyperedge match {case source ~~> (t1, t2) => f(source, t1, t2)}.

  24. 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.

  25. object CollectionKind
  26. object DiEdge extends EdgeCompanion[DiEdge]

    Factory for directed edges.

    Factory for directed edges. GraphPredef also supports implicit conversion from node_1 ~> node_2 to DiEdge.

  27. object DiEdgeLike extends Serializable
  28. object DiHyperEdge extends HyperEdgeCompanion[DiHyperEdge]

    Factory for directed hyper-edges.

    Factory for directed hyper-edges. GraphPredef also supports implicit conversion from node_1 ~> node_2 ~> node_3 to DirectedHyperEdge.

  29. object EdgeLike extends Serializable
  30. object Eq
    Attributes
    protected[scalax.collection]
  31. object ExtendedKey extends Serializable
  32. object HyperEdge extends HyperEdgeCompanion[HyperEdge]

    Factory for undirected hyper-edges.

    Factory for undirected hyper-edges. GraphPredef also supports implicit conversion from node_1 ~ node_2 ~ node_3 to HyperEdge.

  33. object LoopFreeEdge extends Serializable
  34. object NodeProduct

    Helper object to convert edge-factory parameter-lists to tuple-n or list.

  35. 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.

  36. object UnDiEdge extends EdgeCompanion[UnDiEdge]

    Factory for undirected edges.

    Factory for undirected edges. GraphPredef also supports implicit conversion from node_1 ~ node_2 to UnDiEdge.

Inherited from AnyRef

Inherited from Any

Ungrouped