Packages

o

scalax.collection

GraphPredef

object GraphPredef

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

Type Members

  1. type DiEdgeLikeIn[+N] = DiEdgeLike[N] with EdgeCopy[DiEdgeLike] with OuterEdge[N, DiEdgeLike]

    Denotes all directed edge types for the E type parameter of a Graph.

    Denotes all directed edge types for the E type parameter of a Graph. Supplying this type as the actual type parameter allows to include any kind of directed edges such as directed hyper-edges and directed edges.

  2. type DiHyperEdgeLikeIn[+N] = DiHyperEdgeLike[N] with EdgeCopy[DiHyperEdgeLike] with OuterEdge[N, DiHyperEdgeLike]

    Denotes all directed edge types for the E type parameter of a Graph.

    Denotes all directed edge types for the E type parameter of a Graph. Supplying this type as the actual type parameter allows to include any kind of directed edges such as directed hyper-edges and directed edges.

  3. implicit final class EdgeAssoc[N1] extends AnyVal
  4. type EdgeLikeIn[+N] = EdgeLike[N] with EdgeCopy[EdgeLike] with OuterEdge[N, EdgeLike]

    The most generic type for the E type parameter of a Graph.

    The most generic type for the E type parameter of a Graph. Supplying this type as the actual type parameter allows to include any kind of edges such as hyper-edges, undirected and directed edges.

  5. sealed trait EdgeParam extends AnyRef
  6. implicit final class HyperEdgeAssoc[NOld] extends AnyVal
  7. sealed trait InParam[+N, +E[+X] <: EdgeLike[X]] extends Param[N, E]

    N

    the type of the nodes (vertices) this graph is passed to by the user.

    E

    the kind of the edges (links) this graph is passed to by the user.

  8. trait InnerEdgeParam[NI, EI[+X] <: EdgeLike[X], +NO <: InnerNodeParam[NI], EO[+X] <: EdgeLike[X]] extends OutParam[NI, EI] with EdgeParam

    NI

    the type of the nodes the graph is passed to.

    EI

    the kind of the edges the graph is passed to.

    NO

    the type of the nodes created internally.

    EO

    the kind of the edges created internally.

  9. trait InnerNodeParam[NI] extends OutParam[NI, Nothing] with NodeParam[NI]

    NI

    the type of the nodes (vertices) this graph is passed to by the user.

  10. trait NodeParam[+N] extends AnyRef
  11. sealed trait OutParam[+NO, +EO[+X] <: EdgeLike[X]] extends Param[NO, EO]
  12. trait OuterEdge[+NI, +EI[+X] <: EdgeLike[X]] extends InParam[NI, EI] with EdgeParam

    Classes implementing EdgeLike must be instantiated mixing in this trait.

    Classes implementing EdgeLike must be instantiated mixing in this trait. This is a precondition for passing edge-instances to a Graph.

    NI

    the type of the nodes (vertices) this graph is passed to by the user.

    EI

    the kind of the edges (links) this graph is passed to by the user.

  13. type OuterElem[N, +E[+X] <: EdgeLike[X]] = InParam[N, E]

    Same as InParam.

  14. case class OuterNode[NI](value: NI) extends InParam[NI, Nothing] with NodeParam[NI] with Product with Serializable

    NI

    the type of the nodes (vertices) this graph is passed to by the user.

  15. sealed trait Param[+N, +E[+X] <: EdgeLike[X]] extends AnyRef

    This algebraic type includes outer and inner nodes and edges.

    This algebraic type includes outer and inner nodes and edges. As such it serves as the type parameter to SetLike extending Graph.

  16. implicit final class TraversableEnrichments[N, T[X] <: Iterable[X]] extends AnyVal

Value Members

  1. implicit def anyToNode[N](n: N): OuterNode[N]
    Annotations
    @inline()
  2. implicit def edgeSetToOuter[N, E[+X] <: EdgeLikeIn[X]](edges: Graph.EdgeSetT): Iterable[E[N]]
  3. implicit def edgeSetToSeq[N, E[+X] <: EdgeLikeIn[X]](edges: Graph.EdgeSetT): Seq[OutParam[N, E]]
  4. def nodePredicate[NI, EI[+X] <: EdgeLike[X], NO <: InnerNodeParam[NI], EO[+X] <: EdgeLike[X]](pred: (NI) => Boolean): (Param[NI, EI]) => Boolean
  5. implicit def nodeSetToOuter[N, E[+X] <: EdgeLikeIn[X]](nodes: Graph.NodeSetT): Iterable[N]
  6. implicit def nodeSetToSeq[N, E[+X] <: EdgeLikeIn[X]](nodes: Graph.NodeSetT): Seq[OutParam[N, E]]
  7. implicit def predicateToNodePredicate[NI, EI[+X] <: EdgeLike[X], NO <: InnerNodeParam[NI], EC[+X] <: EdgeLike[X]](p: (NI) => Boolean): (Param[NI, EI]) => Boolean
    Annotations
    @inline()
  8. implicit def seqToGraphParam[N, E[+X] <: EdgeLike[X]](s: Seq[N]): Seq[Param[N, E]]
  9. object InnerEdgeParam
  10. object InnerNodeParam
  11. object Param