Packages

  • package root
    Definition Classes
    root
  • package de
    Definition Classes
    root
  • package sciss

    The interfaces are grouped into the following packages:

    Welcome to the Mellite API documentation.

    The interfaces are grouped into the following packages:

    The Lucre transactional object model:

    • de.sciss.lucre.stm is the base package for transactions, with things like Obj, Txn, Sys, and Cursor
    • de.sciss.lucre.artifact is the base package for file system artifacts, with classes Artifact and ArtifactLocation
    • de.sciss.lucre.expr is the base package for expression types such as IntObj, DoubleObj, etc.

    Other useful packages:

    • de.sciss.synth.io for reading and writing audio files
    • de.sciss.osc for general Open Sound Control interfaces
    Definition Classes
    de
  • package lucre
    Definition Classes
    sciss
  • package data
    Definition Classes
    lucre
  • object HASkipList

    A transactional version of the deterministic k-(2k+1) top-down operated skip list as described in T.

    A transactional version of the deterministic k-(2k+1) top-down operated skip list as described in T. Papadakis, Skip Lists and Probabilistic Analysis of Algorithms. Ch. 4 (Deterministic Skip Lists), pp. 55--78. Waterloo (CA) 1993

    It uses the horizontal array technique with a parameter for k (minimum gap size). It uses a modified top-down removal algorithm that avoids the need for a second pass as in the original algorithm, and is careful about object creations, so that it will be able to persist the data structure without any unnecessary reads or writes to the store.

    Three implementation notes: (1) We treat the nodes as immutable at the moment, storing them directly in the S#Val child pointers of their parents. While this currently seems to have a performance advantage (?), we could try to avoid this by using S#Refs for the child pointers, making the nodes become mutable. We could avoid copying the arrays for each insertion or deletion, at the cost of more space, but maybe better performance.

    (2) The special treatment of isRight kind of sucks. Since now that information is also persisted, we might just have two types of branches and leaves, and avoid passing around this flag.

    (3) Since there is a bug with the top-down one-pass removal, we might end up removing the creation of instances of virtual branches altogether again when replacing the current algorithm by a two-pass one.

    TODO: nodes or at least leaves should be horizontally connected for a faster iterator and fast pair (interval) search

    Definition Classes
    data
  • Branch
  • HeadOrBranch
  • Leaf
  • Map
  • Node
  • Set

sealed trait Leaf[T <: Exec[T], A, E] extends Node[T, A, E]

Linear Supertypes
Node[T, A, E], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Leaf
  2. Node
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def copy(newEntries: Vector[E]): Leaf[T, A, E]
    Attributes
    protected
  2. abstract def key(i: Int): A
    Definition Classes
    Node

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asBranch: Branch[T, A, E]
    Definition Classes
    LeafNode
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. final def asLeaf: Leaf[T, A, E]
    Definition Classes
    LeafNode
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. final def entry(idx: Int): E
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def isBranch: Boolean
    Definition Classes
    LeafNode
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def isLeaf: Boolean
    Definition Classes
    LeafNode
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def size: Int
    Definition Classes
    LeafNode
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    Leaf → AnyRef → Any
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Node[T, A, E]

Inherited from AnyRef

Inherited from Any

Ungrouped