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
Known subtypes
class Lockful[S]

Members list

Value members

Abstract methods

def getModify(f: S => S): Computation[S, IO]
def getModifyEff[U <: IO](f: S => Computation[S, U]): Computation[S, U]
def getModifyGet(f: S => S): Computation[(S, S), IO]
def getModifyGetEff[U <: IO](f: S => Computation[S, U]): Computation[(S, S), U]
def getUpdate[A](f: S => (A, S)): Computation[(A, S), IO]
def getUpdateEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[(A, S), U]
def getUpdateGet[A](f: S => (A, S)): Computation[(A, S, S), IO]
def getUpdateGetEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[(A, S, S), U]
def isLocked: Computation[Boolean, IO]
def modify(f: S => S): Computation[Unit, IO]
def modifyEff[U <: IO](f: S => Computation[S, U]): Computation[Unit, U]
def modifyGet(f: S => S): Computation[S, IO]
def modifyGetEff[U <: IO](f: S => Computation[S, U]): Computation[S, U]
def swap(s: S): Computation[S, IO]
def swapEff[U <: IO](s: Computation[S, U]): Computation[S, U]
def tryGetModify(f: S => S): Computation[Option[S], IO]
def tryGetModifyEff[U <: IO](f: S => Computation[S, U]): Computation[Option[S], U]
def tryGetModifyGet(f: S => S): Computation[Option[(S, S)], IO]
def tryGetModifyGetEff[U <: IO](f: S => Computation[S, U]): Computation[Option[(S, S)], U]
def tryGetUpdate[A](f: S => (A, S)): Computation[Option[(A, S)], IO]
def tryGetUpdateEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[Option[(A, S)], U]
def tryGetUpdateGet[A](f: S => (A, S)): Computation[Option[(A, S, S)], IO]
def tryGetUpdateGetEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[Option[(A, S, S)], U]
def tryModify(f: S => S): Computation[Boolean, IO]
def tryModifyEff[U <: IO](f: S => Computation[S, U]): Computation[Boolean, U]
def tryModifyGet(f: S => S): Computation[Option[S], IO]
def tryModifyGetEff[U <: IO](f: S => Computation[S, U]): Computation[Option[S], U]
def trySwap(s: S): Computation[Option[S], IO]
def trySwapEff[U <: IO](s: Computation[S, U]): Computation[Option[S], U]
def tryUpdate[A](f: S => (A, S)): Computation[Option[A], IO]
def tryUpdateEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[Option[A], U]
def tryUpdateGet[A](f: S => (A, S)): Computation[Option[(A, S)], IO]
def tryUpdateGetEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[Option[(A, S)], U]
def unsafeIsLocked(): Boolean
def update[A](f: S => (A, S)): Computation[A, IO]
def updateEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[A, U]
def updateGet[A](f: S => (A, S)): Computation[(A, S), IO]
def updateGetEff[A, U <: IO](f: S => Computation[(A, S), U]): Computation[(A, S), U]

Concrete methods

final def asGet: Get[S]
final def asPut: Put[S]

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 getsEff[A, U <: IO](f: S => Computation[A, U]): Computation[A, U]

Attributes

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

Attributes

Inherited from:
Put
final def putEff[U <: IO](comp: Computation[S, U]): Computation[Unit, U]

Attributes

Inherited from:
Put

Inherited and Abstract methods

def unsafeGet: S

Attributes

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

Attributes

Inherited from:
Put