Class/Object

org.bitbucket.inkytonik.kiama.util

Memoiser

Related Docs: object Memoiser | package util

Permalink

class Memoiser[T, U] extends AnyRef

A memoiser that can store arbitrary values of type U under keys of type T. The behaviour of the memoiser can be adjusted by selecting an appropriate type.

Source
Memoiser.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Memoiser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Memoiser(tipe: MemoiserType)

    Permalink

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. def apply(t: T): U

    Permalink

    Get the value stored at key t or return null if no value.

  5. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def dup(t1: T, t2: T): Unit

    Permalink

    Duplicate an entry if possible.

    Duplicate an entry if possible. If t1 has a memoised value associated with it, set the value associated with t2 to the same value. If there is no value associated with t1, do nothing.

  8. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def get(t: T): Option[U]

    Permalink

    Return the value stored at key t as an option.

  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def getOrDefault(t: T, u: ⇒ U): U

    Permalink

    Return the value stored at key t if there is one, otherwise return u.

    Return the value stored at key t if there is one, otherwise return u. u is only evaluated if necessary.

  14. def hasBeenComputedAt(t: T): Boolean

    Permalink

    Has the value at t already been computed or not? By default, does the memo table contain a value for t?

  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. def image(t: T): U

    Permalink

    Get the value stored at key t or return null if no value.

  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. def keys: Vector[T]

    Permalink

    A view of the set of keys that are currently in this memo table.

  19. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  22. def put(t: T, u: U): Unit

    Permalink

    Store the value u under the key t.

  23. def putIfAbsent(t: T, u: U): Unit

    Permalink

    Store the value u under the key t if t does not already have an associated value.

  24. def reset(): Unit

    Permalink

    Immediately reset the memo table.

  25. def resetAt(t: T): Unit

    Permalink

    Immediately reset the memo table at t.

  26. def size(): Long

    Permalink

    The number of entries in the memo table.

  27. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  29. def updateAt(t: T, f: (U) ⇒ U, u: ⇒ U): Unit

    Permalink

    Update the value associated with t by applying f to it.

    Update the value associated with t by applying f to it. If there is no value currently associated with t, associate it with u. u is only evaluated if necessary.

  30. def values: Vector[U]

    Permalink

    A view of the set of values that are currently in this memo table.

  31. final def wait(): Unit

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped