package lucre
- Alphabetic
- Public
- Protected
Package Members
Type Members
-  trait Adjunct extends Writable
-  trait AnyExec extends Exec[AnyExec]
-  abstract final class AnyTxn extends Txn[AnyTxn]
-    trait Artifact[T <: Txn[T]] extends Expr[T, Value]An artifact is a file on an external storage. 
-    trait ArtifactLocation[T <: Txn[T]] extends Expr[T, Value]An artifact location is a directory on an external storage. 
-  trait ArtifactPlatform extends AnyRef
-    trait Base extends CloseableThe Basetrait is a pre-stage tostm.Sys, without introducing peer STM transactions.The Basetrait is a pre-stage tostm.Sys, without introducing peer STM transactions. It can thus be used to build purely imperative non-transactional systems.
-  trait BiGroup[T <: Txn[T], A] extends Obj[T] with Publisher[T, Update[T, A, BiGroup[T, A]]]
-  trait BiPin[T <: Txn[T], A] extends Obj[T] with Publisher[T, Update[T, A, BiPin[T, A]]]
-  trait BooleanObj[T <: Txn[T]] extends Expr[T, Boolean]
-    trait Caching extends AnyRefA marker trait for events that maintain a cache. A marker trait for events that maintain a cache. Events mixing in this trait are guaranteed to participate in the pullUpdatephase, even if no live observer is attached to them.
-  trait Confluent extends ConfluentLike[lucre.Confluent.Txn]
-  trait ConfluentLike[Tx <: lucre.confluent.Txn[Tx]] extends lucre.confluent.Sys
-  trait Copy[In <: Txn[In], Out <: Txn[Out]] extends AnyRef
-  trait Cursor[T <: Exec[T]] extends AnyRef
-  trait DataStore extends Closeable
-  trait Disposable[-T] extends AnyRef
-  trait DoubleObj[T <: Txn[T]] extends Expr[T, Double]
-  trait DoubleVector[T <: Txn[T]] extends Expr[T, IndexedSeq[Double]]
-  trait Durable extends DurableLike[lucre.Durable.Txn]
-  trait DurableLike[Tx <: lucre.DurableLike.Txn[Tx]] extends Sys with Cursor[Tx]
-    trait Elem[T <: Txn[T]] extends Form[T] with Writable with Disposable[T] with Publisher[T, Any]An Elemis any type that is globally registered viaElem.addTypeand can be de-serialized throughElem.read.
-    trait Event[T <: Txn[T], +A] extends EventLike[T, A] with WritableEventis not sealed in order to allow you define traits inheriting from it, while the concrete implementations should extend either ofEvent.ConstantorEvent.Node(which itself is sealed and split intoEvent.InvariantandEvent.Mutating.
-  trait EventLike[T <: Txn[T], +A] extends Observable[T, A]
-  trait Exec[T <: Exec[T]] extends AnyRef
-    trait Expr[T <: Txn[T], +A] extends ExprLike[T, A] with Obj[T] with Publisher[T, Change[A]]An expression is a computation that reduces to a single value of type A.An expression is a computation that reduces to a single value of type A. Expressions can be understood as data-flow variables. When a tree is composed, a change in the root of the tree propagates through to the leaves in the form of an emittedChangeevent that carries the old and new value (according to the particular node of the tree).Basic expression types are Expr.Const- it simply wraps a constant value and thus will never change or fire an event - andExpr.Varwhich can be thought of as a mutable variable carrying a peer expression. When the variable assignment changes, the expression currently held is evaluated and propagated as an event. Intermediate nodes or expressions might modify the value, such as a binary operator (e.g., an integer expression that sums two input integer expressions).
-    trait ExprLike[T <: Exec[T], +A] extends Form[T]This is the current compromise for unifying Ex/IExprandExprin terms of their usability throughrunWithvs.This is the current compromise for unifying Ex/IExprandExprin terms of their usability throughrunWithvs.obj.attr.
-  trait Folder[T <: Txn[T]] extends Modifiable[T, Obj[T]]
-    trait Form[T] extends AnyRefAny form parametrized in a Basesystem.Any form parametrized in a Basesystem. This trait allows us to pattern match against heterogeneous objects whose only common feature is that they share the system.
-  trait IChangeEvent[T <: Exec[T], +A] extends IEvent[T, Change[A]]
-  trait IChangePublisher[T <: Exec[T], +A] extends IPublisher[T, Change[A]]
-    trait IEvent[T <: Exec[T], +A] extends Observable[T, A]In-memory (non-serializable) event. 
-  trait IExpr[T <: Exec[T], +A] extends ExprLike[T, A] with IChangePublisher[T, A] with Disposable[T]
-  trait IPublisher[T <: Exec[T], +A] extends AnyRef
-  trait IPull[T <: Exec[T]] extends AnyRef
-    trait ITargets[T <: Exec[T]] extends AnyRefInterconnection management for in-memory events. Interconnection management for in-memory events. A centralized instance that combines the functionality of TargetswithReactionMap.
-  trait Ident[T <: Exec[T]] extends Disposable[T] with Writable
-    trait IdentMap[T <: Exec[T], A] extends Disposable[T]An identifier map is basically a transactional map whose keys are system identifiers. An identifier map is basically a transactional map whose keys are system identifiers. However, there are two important aspects: First, the map is always ephemeral (but might be still durable!), even for a confluently persistent system. Second, for systems whose identifiers constitute temporal traces (confluently persistent system), lookup (via get,containsetc.) finds _any_ value stored for the current version or any older version. That is to say, in a confluently persistent system, it looks up the most recent entry for the key. It is therefore a useful tool to map system entities to ephemeral live views.- T
- the underlying system's transaction type 
- A
- the values stored at the keys. - Unitcan be used if only set functionality is needed.
 
-  trait Identified[T <: Exec[T]] extends AnyRef
-    trait InMemory extends InMemoryLike[lucre.InMemory.Txn]A thin in-memory (non-durable) wrapper around Scala-STM. 
-  trait InMemoryLike[Tx <: lucre.InMemoryLike.Txn[Tx]] extends Sys with Cursor[Tx]
-  trait IntObj[T <: Txn[T]] extends Expr[T, Int]
-  trait IntVector[T <: Txn[T]] extends Expr[T, IndexedSeq[Int]]
-    trait ListObj[T <: Txn[T], A] extends Obj[T] with Publisher[T, Update[T, A, ListObj[T, A]]]An observable linked list with fast headandlastoperations.An observable linked list with fast headandlastoperations. This is the read-only layer, seeList.Modifiablefor a mutable list.The list will report insertions and deletions. - A
- the element type of the list 
 
-  trait LongObj[T <: Txn[T]] extends Expr[T, Long]
-  trait MapObj[T <: Txn[T], K, Repr[~ <: Txn[~]] <: Form[~]] extends MapObjLike[T, K, Repr[T]] with Obj[T] with Publisher[T, Update[T, K, Repr]]
-  trait MapObjLike[T <: Exec[T], K, V] extends Disposable[T]
-  trait Mutable[T <: Exec[T]] extends Identified[T] with Writable with Disposable[T]
-    trait Obj[T <: Txn[T]] extends Elem[T] with Mutable[T]An Objis a type of element that has anS#Ididentifier and an attribute map.An Objis a type of element that has anS#Ididentifier and an attribute map. It can be the origin of event dispatch.
-  trait Observable[Tx, +A] extends AnyRef
-  trait Observer[T <: Exec[T], -A] extends Disposable[T]
-  trait Plain extends Base with Cursor[Plain] with Exec[Plain]
-  trait ProductWithAdjuncts extends Product
-  trait Publisher[T <: Txn[T], +A] extends AnyRef
-  trait Pull[T <: Txn[T]] extends AnyRef
-    trait Random[-T] extends AnyRefA transactional pseudo-random number generator which behaves numerically like java.util.Random.
-    trait RandomObj[T <: Exec[T]] extends Random[T] with Mutable[T]A transactional pseudo-random number generator which behaves numerically like java.util.Random.
-  trait ReactionMap[T <: Txn[T]] extends AnyRef
-  trait Ref[-T, A] extends Source[T, A] with Sink[T, A]
-  trait RefMap[T <: Exec[T], K, V] extends AnyRef
-  trait RefSet[T <: Exec[T], A] extends AnyRef
-  trait Sink[-T, -A] extends AnyRef
-  trait Source[-T, +A] extends AnyRef
-  trait SpanLikeObj[T <: Txn[T]] extends Expr[T, SpanLike]
-  trait SpanObj[T <: Txn[T]] extends Expr[T, Span]
-  trait StringObj[T <: Txn[T]] extends Expr[T, String]
-    trait Sys extends BaseA system in LucreSTM describes a particular mode of representing values in time and of persisting values to disk. A system in LucreSTM describes a particular mode of representing values in time and of persisting values to disk. The Systrait contains types for variables, identifiers, access paths, and transactions which are unique to each system (such as ephemeral in-memory, confluently persistent etc.).
-  trait TOrdered[-Tx, -A] extends AnyRef
-  trait TOrdering[-Tx, A] extends AnyRef
-  trait Txn[T <: Txn[T]] extends Exec[T] with TxnLike
-    trait TxnLike extends AnyRefThis is a minimal trait for any type of transactions that wrap an underlying Scala-STM transaction. 
-  trait Var[-T, A] extends Ref[T, A] with Writable with Disposable[T]
-  trait Workspace[T <: Txn[T]] extends Disposable[T]
Value Members
-    object AdjunctThese are basically our "type classes" with the ability to serialize and deserialize. These are basically our "type classes" with the ability to serialize and deserialize. They are supported through ProductHasAdjunctswhich is recognized in serialization.
-  object Artifact extends Type with ArtifactPlatform
-  object ArtifactLocation extends ExprTypeImpl[Value, ArtifactLocation]
-  object BiGroup extends Type
-  object BiPin extends Type
-  object BooleanObj extends ExprTypeImpl[Boolean, BooleanObj]
-    case object BuildInfo extends Product with SerializableThis object was generated by sbt-buildinfo. 
-  object Confluent
-  object Copy
-  object Cursor
-  object DataStore
-  object Disposable
-  object DoubleObj extends ExprTypeImpl[Double, DoubleObj]
-  object DoubleVector extends ExprTypeImpl[IndexedSeq[Double], DoubleVector]
-  object Durable
-  object DurableLike
-  object Elem
-  object Event
-  object Expr
-  object Folder extends Type
-    object GraphemeHasIteratorCheesy work-around for Lucre #4 -- https://github.com/Sciss/Lucre/issues/4 
-  object IExpr
-  object IPull
-  object IPush
-  object ITargets
-  object Ident
-  object InMemory
-  object InMemoryLike
-  object InTxnRandom
-  object IntObj extends ExprTypeImpl[Int, IntObj]
-  object IntVector extends ExprTypeImpl[IndexedSeq[Int], IntVector]
-  object ListObj extends Type
-  object Log
-  object LongObj extends ExprTypeImpl[Long, LongObj]
-  object MapObj extends Type
-  object MapObjLike
-  object Obj
-  object Observable
-  object Observer
-  object Plain
-  object Push
-    object RandomLike java's random, but within a transactional cell. 
-  object RandomObj
-  object ReactionMap
-  object SpanLikeObj extends ExprTypeImpl[SpanLike, SpanLikeObj]
-  object SpanObj extends ExprTypeImpl[Span, SpanObj]
-  object StringObj extends ExprTypeImpl[String, StringObj]
-  object TOrdering
-  object Txn
-  object Workspace