Class/Object

zio.stm

TRef

Related Docs: object TRef | package stm

Permalink

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. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. def get: USTM[A]

    Permalink

    Retrieves the value of the TRef.

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

    Permalink

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

  11. def getAndUpdate(f: (A) ⇒ A): USTM[A]

    Permalink

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

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

    Permalink

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. def modify[B](f: (A) ⇒ (B, A)): USTM[B]

    Permalink

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

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

    Permalink

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  21. def set(a: A): USTM[Unit]

    Permalink

    Sets the value of the TRef.

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

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

    Permalink
    Definition Classes
    TRef → AnyRef → Any
  24. def update(f: (A) ⇒ A): USTM[Unit]

    Permalink

    Updates the value of the variable.

  25. def updateAndGet(f: (A) ⇒ A): USTM[A]

    Permalink

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

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

    Permalink

    Updates some values of the variable but leaves others alone.

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

    Permalink

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

  28. final def wait(): Unit

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

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

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

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped