final case class QSUGraph[T[_[_]]](root: slamdata.Predef.Symbol, vertices: QSUVerts[T]) extends Product with Serializable
- Alphabetic
- By Inheritance
- QSUGraph
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
++:(left: QSUGraph[T]): QSUGraph[T]
Uniquely merge the graphs, retaining the root from the right.
-
def
:++(right: QSUGraph[T]): QSUGraph[T]
Uniquely merge the graphs, retaining the root from the left.
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def foldMapUp[A](f: (QSUGraph[T]) ⇒ A)(implicit arg0: Monoid[A]): A
-
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.
-
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.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def overwriteAtRoot(qsu: QScriptUniform[T, slamdata.Predef.Symbol]): QSUGraph[T]
- def refocus(node: slamdata.Predef.Symbol): QSUGraph[T]
-
def
replace(src: slamdata.Predef.Symbol, target: slamdata.Predef.Symbol): QSUGraph[T]
Removes the
srcvertex, replacing any references to it withtarget. -
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()
- def rewrite(pf: slamdata.Predef.PartialFunction[QSUGraph[T], QSUGraph[T]]): QSUGraph[T]
-
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.
- val root: slamdata.Predef.Symbol
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def unfold: QScriptUniform[T, QSUGraph[T]]
- val vertices: QSUVerts[T]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )