Packages

final class TRef[A] extends Serializable

A TRef is a purely functional description of a mutable reference that can be modified as part of a transactional effect. The fundamental operations of a TRef are set and get. set transactionally sets the reference to a new value. get gets the current value of the reference.

NOTE: While TRef provides the transactional equivalent of a mutable reference, the value inside the TRef should be immutable. For performance reasons TRef is implemented in terms of compare and swap operations rather than synchronization. These operations are not safe for mutable values that do not support concurrent access.

Self Type
TRef[A]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TRef
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def get: USTM[A]

    Retrieves the value of the TRef.

  9. def getAndSet(a: A): USTM[A]

    Sets the value of the TRef and returns the old value.

  10. def getAndUpdate(f: (A) => A): USTM[A]

    Updates the value of the variable and returns the old value.

  11. def getAndUpdateSome(f: PartialFunction[A, A]): USTM[A]

    Updates some values of the variable but leaves others alone, returning the old value.

  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. def modify[B](f: (A) => (B, A)): USTM[B]

    Updates the value of the variable, returning a function of the specified value.

  16. def modifySome[B](default: B)(f: PartialFunction[A, (B, A)]): USTM[B]

    Updates the value of the variable, returning a function of the specified value.

  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  20. def set(a: A): USTM[Unit]

    Sets the value of the TRef.

  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    TRef → AnyRef → Any
  23. def update(f: (A) => A): USTM[Unit]

    Updates the value of the variable.

  24. def updateAndGet(f: (A) => A): USTM[A]

    Updates the value of the variable and returns the new value.

  25. def updateSome(f: PartialFunction[A, A]): USTM[Unit]

    Updates some values of the variable but leaves others alone.

  26. def updateSomeAndGet(f: PartialFunction[A, A]): USTM[A]

    Updates some values of the variable but leaves others alone, returning the new value.

  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  29. 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

    (Since version 9)

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped