Trait

de.sciss.lucre.data.Ancestor

Map

Related Doc: package Ancestor

Permalink

sealed trait Map[S <: Sys[S], Version, A] extends Writable with Disposable[Ancestor.Map.S.Tx]

Linear Supertypes
Disposable[S.Tx], Writable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Map
  2. Disposable
  3. Writable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type K = Vertex[S, Version]

    Permalink

Abstract Value Members

  1. abstract def +=(entry: (K, A))(implicit tx: S.Tx): Map.this.type

    Permalink
  2. abstract def -=(vertex: K)(implicit tx: S.Tx): Map.this.type

    Permalink
  3. abstract def add(entry: (K, A))(implicit tx: S.Tx): Boolean

    Permalink

    Marks a given key with a given value.

    Marks a given key with a given value.

    entry

    the key-value pair (where the key is a vertex in the full tree)

    returns

    true if the mark is new, false if there had been a mark for the given vertex.

  4. abstract def debugPrint(implicit tx: S.Tx): String

    Permalink
  5. abstract def dispose()(implicit tx: S.Tx): Unit

    Permalink
    Definition Classes
    Disposable
  6. abstract def full: Tree[S, Version]

    Permalink
  7. abstract def get(vertex: K)(implicit tx: S.Tx): Option[A]

    Permalink

    Queries for a mark at a given version vertex.

    Queries for a mark at a given version vertex. Unlike nearest, this does not search in the map, but merely tests if the given vertex has been marked or not.

    vertex

    the version vertex to look up

    returns

    the value associated with that vertex, or None if the vertex is unmarked.

  8. abstract def nearest(vertex: K)(implicit tx: S.Tx): (K, A)

    Permalink

    Finds the nearest marked ancestor of a given version key.

    Finds the nearest marked ancestor of a given version key. Since the map is constructed with a defined root value, this method is guaranteed to succeed—if there are no other marks in the map, it will return the root value (unless the version argument is illegal, i.e. has a version lower than the root vertex' version).

    vertex

    the key to look for. The algorithm searches for the nearest ancestor in the marked map with a version less than or equal to the given version

    returns

    a pair consisting of the tree vertex found and the value with which it has been marked. If the query version vertex was marked, it will be that vertex which is returned, and not an ancestor.

  9. abstract def nearestOption(vertex: K)(implicit tx: S.Tx): Option[(K, A)]

    Permalink
  10. abstract def nearestWithFilter(vertex: K)(p: (Int) ⇒ Boolean)(implicit tx: S.Tx): Option[(K, A)]

    Permalink

    Searches for the nearest marked ancestor, where version control is handed over to a custom predicate function.

    Searches for the nearest marked ancestor, where version control is handed over to a custom predicate function. I.e., while nearestOption will test for a version that is less than or equal to the query version, the behaviour may be customised here. The predicate function is called with the versionInt field of the vertices, e.g. using the tree's intView.

    Only those vertices are considered for which the predicate is true.

    Note: This currently only works correctly if the predicate tests for version anteriority!

    vertex

    the query vertex

    p

    the predicate function for the integer view of the vertex versions

  11. abstract def remove(vertex: K)(implicit tx: S.Tx): Boolean

    Permalink
  12. abstract def valueSerializer: Serializer[S.Tx, S.Acc, A]

    Permalink
  13. abstract def write(out: DataOutput): Unit

    Permalink
    Definition Classes
    Writable

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Disposable[S.Tx]

Inherited from Writable

Inherited from AnyRef

Inherited from Any

Ungrouped