Packages

p

scalax

collection

package collection

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

See also the Graph for Scala Core User Guide.

Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. collection
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package config
  2. package edges
  3. 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.

  4. package generic
  5. package hyperedges
  6. package immutable
  7. package mutable

Type Members

  1. trait AnyGraph[N, E <: Edge[N]] extends GraphLike[N, E, AnyGraph]

    Bundled functionality for mutable and immutable graphs alike.

    Bundled functionality for mutable and immutable graphs alike.

    N

    the type of the nodes (vertices) in this graph.

    E

    the type of the edges in this graph.

  2. type AnySet[A] = Set[A]
    Attributes
    protected[scalax]
  3. type ExtSet[A] = Set[A] with ExtSetMethods[A]

    scala.collection.Set extended by some useful methods in the context of Graph.

  4. trait ForeachBasedDetachingIterable[+A] extends Iterable[A]

    Substitute for Scala 2.12 Traversable to continue support for collections that cannot implement hasNext/next easily.

    Substitute for Scala 2.12 Traversable to continue support for collections that cannot implement hasNext/next easily. The methods of Scala 2.13's IterableOnce are implemented in terms of foreach.

    All methods with a collection result detach from this Iterable to Vector. This makes sense whenever the foreach implementation - causes significant computation overhead or - is not valid for arbitrary subcollections.

  5. trait GraphBase[N, E <: Edge[N], +CC[X, Y <: Edge[X]] <: GraphBase[X, Y, CC]] extends GraphOps[N, E, CC] with OuterElems[N, E] with Serializable

    Base template trait for graphs.

    Base template trait for graphs.

    This trait provides the common structure and base operations for immutable graphs independently of their representation. Base operations also cover one-step traversals. For unlimited traversals see trait GraphTraversal.

    Users of Graph usually don't interact directly with this trait but with trait Graph instead which inherits the functionality provided by this trait.

    If E inherits DirectedEdgeLike the graph is directed, otherwise it is undirected or mixed.

    N

    the user type of the nodes (vertices) in this graph.

    E

    the kind of the edges (links) in this graph.

  6. trait GraphDegree[N, E <: Edge[N], +CC[X, Y <: Edge[X]] <: GraphBase[X, Y, CC]] extends AnyRef

    Mixin for degree calculations.

    Mixin for degree calculations.

    N

    the user type of the nodes (vertices) in this graph.

    E

    the type of the edges in this graph.

  7. trait GraphLike[N, E <: Edge[N], +CC[X, Y <: Edge[X]] <: GraphLike[X, Y, CC] with AnyGraph[X, Y]] extends GraphBase[N, E, [X, Y]CC[X, Y]] with GraphTraversal[N, E] with GraphDegree[N, E, [X, Y]CC[X, Y]] with ToString[N, E, [X, Y]CC[X, Y]]

    A template trait for graphs.

    A template trait for graphs.

    This trait provides the common structure and operations of immutable graphs independently of their representation.

    If E inherits DiHyperEdgeLike the graph is directed, otherwise it is undirected or mixed.

    N

    the user type of the nodes (vertices) in this graph.

    E

    the type of the edges in this graph.

  8. trait GraphOps[N, E <: Edge[N], +CC[X, Y <: Edge[X]]] extends OuterElems[N, E]

    Operations common to mutable and immutable graphs.

  9. trait GraphTraversal[N, E <: Edge[N]] extends GraphBase[N, E, GraphTraversal]

    Graph-related functionality such as traversals, path finding, cycle detection etc.

    Graph-related functionality such as traversals, path finding, cycle detection etc. All algorithms including breadth-first, depth-first, white-gray-black search and Dijkstra's algorithm are tail recursive.

    Before starting a traversal a Traverser such as scalax.collection.GraphTraversal#InnerNodeTraverser is instantiated explicitly or implicitly. It holds settings like maxDepth, subgraph or ordering providing a fine-grained control of the traversal. Traversers also extend scala.collection.Iterable meaning that you can process the visited nodes and edges in a functional way.

    See also

    http://www.scala-graph.org/guides/core-traversing

  10. trait GraphTraversalImpl[N, E <: Edge[N]] extends GraphTraversal[N, E] with TraverserImpl[N, E] with State[N, E]

    Default implementation of the functionality defined by GraphTraversal except for algorithms that are placed in TraverserImpl.

  11. implicit final class Iterable$Enrichments extends AnyVal
  12. trait LengtheningOps[+A, CC[+X] <: NonEmpty[X]] extends AnyRef
    Attributes
    protected
  13. type MMap[K, V] = Map[K, V]
    Attributes
    protected[scalax]
  14. type MSet[A] = Set[A]
    Attributes
    protected[scalax]
  15. sealed trait NonEmpty[+A] extends AnyRef
  16. trait NonEmptyFactory[CC[+X] <: NonEmpty[X]] extends AnyRef
    Attributes
    protected
  17. trait NonEmptyOps[+A, CC[+X] <: NonEmpty[X], SCC[+_] <: Iterable[_]] extends UnchangedSizeOps[A, CC] with LengtheningOps[A, CC] with ShorteningOps[A, CC, SCC] with ShorteningEitherOps[A, CC, SCC]
    Attributes
    protected
  18. final case class OneOrMore[+A](head: A, tail: Iterable[A]) extends NonEmpty[A] with NonEmptyOps[A, OneOrMore, List] with Product with Serializable

    Collection of at least one element.

  19. sealed case class OuterEdge[N, E <: Edge[N]](edge: E) extends OuterElem[N, E] with Product with Serializable

    Wraps edges to be accepted when calling Graph(...).

  20. sealed trait OuterElem[+N, +E <: Edge[N]] extends AnyRef

    Represents parameters that are accepted when calling Graph(...).

    Represents parameters that are accepted when calling Graph(...).

    N

    the type of the nodes (vertices)

    E

    the kind of the edges (links)

  21. trait OuterElems[N, E <: Edge[N]] extends AnyRef

    Represents parameters that are accepted when calling Graph(...).

    Represents parameters that are accepted when calling Graph(...).

    N

    the type of the nodes (vertices)

    E

    the kind of the edges (links)

  22. sealed case class OuterNode[+N](node: N) extends OuterElem[N, Nothing] with Product with Serializable

    Wraps any type to be accepted when calling Graph(...).

  23. final case class Several[+A](head: A, _2: A, more: Iterable[A]) extends NonEmpty[A] with NonEmptyOps[A, Several, List] with Product with Serializable

    Collection of at least two elements.

  24. trait ShorteningEitherOps[+A, CC[+X] <: NonEmpty[X], SCC[+_] <: Iterable[_]] extends AnyRef

    Attributes
    protected
  25. trait ShorteningOps[+A, CC[+X] <: NonEmpty[X], SCC[+_] <: Iterable[_]] extends AnyRef
    Attributes
    protected
  26. trait State[N, E <: Edge[N]] extends AnyRef

    Adds bit fields to the graph and its nodes facilitating fast storage and retrieval of traversal-specific flags as a decoupled implementation trait.

    Adds bit fields to the graph and its nodes facilitating fast storage and retrieval of traversal-specific flags as a decoupled implementation trait. These flags are often used to keep track of visited nodes. Traversals (algorithms) acquire handles by calling withHandle. Then, in withHandle's code block, node.visited or node.bit is called with the supplied handle as an implicit parameter to set or get a node's flag.

    Attributes
    protected
  27. trait ToString[N, E <: Edge[N], +CC[X, Y <: Edge[X]] <: GraphLike[X, Y, CC] with AnyGraph[X, Y]] extends AnyRef
    Attributes
    protected
  28. trait TraverserImpl[N, E <: Edge[N]] extends AnyRef

    Default implementation of the graph algorithms defined in GraphTraversal.

  29. trait UnchangedSizeOps[+A, CC[+X] <: NonEmpty[X]] extends AnyRef
    Attributes
    protected

Value Members

  1. val AnyDegree: (Int) => Boolean

    The default filter function for degrees to be included in degree calculation always returning true.

  2. final def MMap: Map
    Attributes
    protected[scalax]
    Annotations
    @inline()
  3. final def MSet: Set
    Attributes
    protected[scalax]
    Annotations
    @inline()
  4. def NeverUsed: Nothing
    Attributes
    protected
  5. final def mkIterable[A](it: => Iterator[A]): Iterable[A]
    Attributes
    protected[scalax]
    Annotations
    @inline()
  6. object GraphBase extends Serializable
  7. object GraphTraversal extends Serializable

    Contains traversal parameter definitions such as direction constants.

  8. object NonEmptyBuilder
    Attributes
    protected
  9. object OneOrMore extends NonEmptyFactory[OneOrMore] with Serializable
  10. object OuterImplicits
  11. object Several extends NonEmptyFactory[Several] with Serializable
  12. object State
  13. object ToString

Inherited from AnyRef

Inherited from Any

Ungrouped