AtomicVar

turbolift.io.AtomicVar
See theAtomicVar companion object
sealed trait AtomicVar[S] extends Get[S], Put[S]

Attributes

Companion
object
Graph
Supertypes
trait Put[S]
trait Get[S]
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def unsafeCompareAndSet(a: S, b: S): Boolean
def unsafeSwap(s: S): S

Concrete methods

final def asGet: Get[S]
final def asPut: Put[S]
final def getModify(f: S => S): Computation[S, IO]
final def getModifyEff[U <: IO](f: S => Computation[S, U]): Computation[S, U]
final def getModifyGet(f: S => S): Computation[(S, S), IO]
final def getModifyGetEff[U <: IO](f: S => Computation[S, U]): Computation[(S, S), U]
final def getUpdate[A](f: S => (A, S)): Computation[(A, S), IO]
final def getUpdateEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[(A, S), U]
final def getUpdateGet[A](f: S => (A, S)): Computation[(A, S, S), IO]
final def getUpdateGetEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[(A, S, S), U]
final def modify(f: S => S): Computation[Unit, IO]
final def modifyEff[U <: IO](f: S => Computation[S, U]): Computation[Unit, U]
final def modifyGet(f: S => S): Computation[S, IO]
final def modifyGetEff[U <: IO](f: S => Computation[S, U]): Computation[S, U]
final def swap(s: S): Computation[S, IO]
final def swapEff[U <: IO](ss: Computation[S, U]): Computation[S, U]
final def tryGetModify(f: S => S): Computation[(S, Boolean), IO]
final def tryGetModifyGet(f: S => S): Computation[(S, S, Boolean), IO]
final def tryGetUpdate[A](f: S => (A, S)): Computation[(A, S, Boolean), IO]
final def tryGetUpdateGet[A](f: S => (A, S)): Computation[(A, S, S, Boolean), IO]
final def tryModify(f: S => S): Computation[Boolean, IO]
final def tryModifyGet(f: S => S): Computation[(S, Boolean), IO]
final def trySwap(s0: S): Computation[(S, Boolean), IO]
final def tryUpdate[A](f: S => (A, S)): Computation[(A, Boolean), IO]
final def tryUpdateGet[A](f: S => (A, S)): Computation[(A, S, Boolean), IO]
final def update[A](f: S => (A, S)): Computation[A, IO]
final def updateEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[A, U]
final def updateGet[A](f: S => (A, S)): Computation[(A, S), IO]
final def updateGetEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[(A, S), U]

Inherited methods

final def get: Computation[S, IO]

Attributes

Inherited from:
Get
final def gets[A](f: S => A): Computation[A, IO]

Attributes

Inherited from:
Get
final def put(s: S): Computation[Unit, IO]

Attributes

Inherited from:
Put

Inherited and Abstract methods

def unsafeGet: S

Attributes

Inherited from:
Get
def unsafePut(s: S): Unit

Attributes

Inherited from:
Put