TRef

zio.stm.TRef
See theTRef companion object
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.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
TRef[A]

Members list

Concise view

Value members

Concrete methods

def get: USTM[A]

Retrieves the value of the TRef.

Retrieves the value of the TRef.

Attributes

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.

Attributes

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.

Attributes

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.

Attributes

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.

Attributes

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.

Attributes

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

Sets the value of the TRef.

Sets the value of the TRef.

Attributes

override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

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.

Attributes

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.

Attributes

Updates some values of the variable but leaves others alone.

Updates some values of the variable but leaves others alone.

Attributes

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.

Attributes