Packages

final case class QSUGraph[T[_[_]]](root: slamdata.Predef.Symbol, vertices: QSUVerts[T]) extends Product with Serializable

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QSUGraph
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new QSUGraph(root: slamdata.Predef.Symbol, vertices: QSUVerts[T])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def ++:(left: QSUGraph[T]): QSUGraph[T]

    Uniquely merge the graphs, retaining the root from the right.

  4. def :++(right: QSUGraph[T]): QSUGraph[T]

    Uniquely merge the graphs, retaining the root from the left.

  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def foldMapUp[A](f: (QSUGraph[T]) ⇒ A)(implicit arg0: Monoid[A]): A
  11. def foldMapUpM[F[_], A](f: (QSUGraph[T]) ⇒ F[A])(implicit arg0: Monad[F], arg1: Monoid[A]): F[A]

    A bottom up (leaves first) monoidal fold of the graph.

  12. def generateRevIndex: RevIdx[T]

    Note that because this is using SMap, we cannot guarantee uniqueness is handled correctly if nodes include Free.

    Note that because this is using SMap, we cannot guarantee uniqueness is handled correctly if nodes include Free. Make sure you do not rely on this. Also please note that this function is linear in the number of nodes, so try not to call it too often.

  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. def overwriteAtRoot(qsu: QScriptUniform[T, slamdata.Predef.Symbol]): QSUGraph[T]
  19. def refocus(node: slamdata.Predef.Symbol): QSUGraph[T]
  20. def replace(src: slamdata.Predef.Symbol, target: slamdata.Predef.Symbol): QSUGraph[T]

    Removes the src vertex, replacing any references to it with target.

  21. def replaceWithRename[F[_]](src: slamdata.Predef.Symbol, target: slamdata.Predef.Symbol)(implicit arg0: Monad[F], arg1: NameGenerator[F], arg2: MonadState_[F, scala.collection.immutable.Map[QScriptUniform[T, Symbol], Symbol]]): F[QSUGraph[T]]
    Annotations
    @SuppressWarnings()
  22. def rewrite(pf: slamdata.Predef.PartialFunction[QSUGraph[T], QSUGraph[T]]): QSUGraph[T]
  23. def rewriteM[F[_]](pf: slamdata.Predef.PartialFunction[QSUGraph[T], F[QSUGraph[T]]])(implicit arg0: Monad[F]): F[QSUGraph[T]]

    Allows rewriting of arbitrary subgraphs.

    Allows rewriting of arbitrary subgraphs. Rewrites are applied in a bottom-up (leaves-first) order, which avoids ambiguities when changing nodes that are visible to subsequent rewrites. The one caveat here is that all "changes" to the graph must be additive in nature. You can never remove a node. Rewrites to the definition of a node are valid, but you cannot remove it from the graph, as other nodes will still point to it. This becomes relevant if you want to transform some subgraph g into f(g). When this happens, you must internally generate a new symbol for g and rewrite your subgraph to point to that new g, then the composite graph f(g) must be given the original symbol. As a safety check, because this case is just entirely unsound, the symbol you return at the root is entirely ignored in favor of the original root at that locus.

  24. val root: slamdata.Predef.Symbol
  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. def unfold: QScriptUniform[T, QSUGraph[T]]
  27. val vertices: QSUVerts[T]
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped