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

Type Members

  1. type AnySet[A] = Set[A]
    Attributes
    protected[scalax]
  2. class EdgeUsage [N, E[X] <: EdgeLikeIn[X]] extends AnyRef
  3. type ExtSet[A] = Set[A] with ExtSetMethods[A]

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

  4. trait Graph [N, E[X] <: EdgeLikeIn[X]] extends AnySet[Param[N, E]] with GraphLike[N, E, Graph]

    The main trait for immutable graphs bundling the functionality of traits concerned with specific aspects.

    The main trait for immutable graphs bundling the functionality of traits concerned with specific aspects.

    N

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

    E

    the kind of the edges in this graph.

  5. trait GraphBase [N, E[X] <: EdgeLikeIn[X]] extends 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[X] <: EdgeLikeIn[X]] extends AnyRef

    A trait for graph degree calculations.

    A trait for graph degree calculations.

    N

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

    E

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

  7. trait GraphLike [N, E[X] <: EdgeLikeIn[X], +This[X, Y[X] <: EdgeLikeIn[X]] <: GraphLike[X, Y[X], This] with AnySet[Param[X, Y[X]]] with Graph[X, Y[X]]] extends SetLike[Param[N, E], This[N, E]] with GraphTraversal[N, E] with GraphBase[N, E] with GraphDegree[N, E]

    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 DirectedEdgeLike the graph is directed, otherwise it is undirected or mixed.

    N

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

    E

    the higher kinded type of the edges (links) in this graph.

    This

    the higher kinded type of the graph itself.

  8. trait GraphTraversal [N, E[X] <: EdgeLikeIn[X]] extends GraphBase[N, E]

    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.Traversable meaning that you can process the visited nodes and edges in a functional way.

    See also

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

  9. trait GraphTraversalImpl [N, E[X] <: EdgeLikeIn[X]] 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.

  10. type MSet[A] = Set[A]
    Attributes
    protected[scalax]
  11. trait State [N, E[X] <: EdgeLikeIn[X]] 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
  12. trait TraverserImpl [N, E[X] <: EdgeLikeIn[X]] extends AnyRef

    Default implementation of the graph algorithms to maintain the functionality defined by GraphTraversal.

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 MSet: Set.type
    Attributes
    protected[scalax]
    Annotations
    @inline()
  3. object Graph extends GraphCoreCompanion[Graph] with Serializable

    The main companion object for immutable graphs.

  4. object GraphBase extends Serializable
  5. object GraphEdge

    Container for basic edge types to be used in the context of Graph.

    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,_
  6. object GraphPredef

    This object serves as a container for several Graph-related definitions like parameter-types and implicit conversions.

    This object serves as a container for several Graph-related definitions like parameter-types and implicit conversions.

    You will usually simply import all its members along with the members of InnerEdgeParam:

    import scalax.collection.GraphPredef._, scalax.collection.InnerEdgeParam._
  7. object GraphTraversal extends Serializable

    Contains traversal parameter definitions such as direction constants.

  8. object GraphTraversalImpl extends Serializable
  9. object State

Inherited from AnyRef

Inherited from Any

Ungrouped