TRef

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.

Companion:
object
class Object
trait Matchable
class Any
TRef[A]

Value members

Concrete methods

def get: USTM[A]

Retrieves the value of the TRef.

Retrieves the value of the TRef.

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

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

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

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

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

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

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

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

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

def modify[B](f: A => (B, A)): USTM[B]

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

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

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.

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

def set(a: A): USTM[Unit]

Sets the value of the TRef.

Sets the value of the TRef.

override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Returns:

a string representation of the object.

Definition Classes
Any
def update(f: A => A): USTM[Unit]

Updates the value of the variable.

Updates the value of the variable.

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

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

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

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

Updates some values of the variable but leaves others alone.

Updates some values of the variable but leaves others alone.

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

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

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