Packages

class MHCache extends Cache

A class which implements caching for caching and non-caching chains, specifically designed for MH

For caching chains, the result of the Chain's function is cached for each value of the parent element that is queried. This cache is infinitely large.

For non-caching chains, we only "cache" two resulting elements of the chain. The cache is actually a 2-element stack, where the top of the stack represents the most recent element for the chain, and the bottom of the stack represents the last element (and parent value) used. This is primarily to benefit MH; if a proposal is rejected, we want to switch a chain back to where it was without much overhead.

Linear Supertypes
Cache, Shrinkable[Element[_]], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MHCache
  2. Cache
  3. Shrinkable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MHCache(universe: Universe)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def --=(xs: TraversableOnce[Element[_]]): MHCache.this.type
    Definition Classes
    Shrinkable
  4. def -=(element: Element[_]): MHCache.this.type

    Removes an element from the cache.

    Removes an element from the cache. This is needed to properly clean up elements as they are deactivated.

    Definition Classes
    MHCache → Shrinkable
  5. def -=(elem1: Element[_], elem2: Element[_], elems: Element[_]*): MHCache.this.type
    Definition Classes
    Shrinkable
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def apply[T](element: Element[T]): Option[Element[T]]

    Retrieve any cached element generated from the current value of the supplied element.

    Retrieve any cached element generated from the current value of the supplied element. Returns None if the element does not generate another element.

    Definition Classes
    MHCacheCache
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clear(): Unit

    Clears the cache of all stored elements.

    Clears the cache of all stored elements.

    Definition Classes
    MHCacheCache
  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Cache

Inherited from Shrinkable[Element[_]]

Inherited from AnyRef

Inherited from Any

Ungrouped