UnifiedSyntax

final implicit class UnifiedSyntax[+E, A](self: ERef[E, A]) extends AnyVal
class AnyVal
trait Matchable
class Any

Value members

Concrete methods

def getAndSet(a: A): IO[E, A]

Atomically writes the specified value to the ZRef, returning the value immediately before modification.

Atomically writes the specified value to the ZRef, returning the value immediately before modification.

def getAndUpdate(f: A => A): IO[E, A]

Atomically modifies the ZRef with the specified function, returning the value immediately before modification.

Atomically modifies the ZRef with the specified function, returning the value immediately before modification.

def getAndUpdateSome(pf: PartialFunction[A, A]): IO[E, A]

Atomically modifies the ZRef with the specified partial function, returning the value immediately before modification. If the function is undefined on the current value it doesn't change it.

Atomically modifies the ZRef with the specified partial function, returning the value immediately before modification. If the function is undefined on the current value it doesn't change it.

@silent("unreachable code")
def modify[B](f: A => (B, A)): IO[E, B]

Atomically modifies the ZRef with the specified function, which computes a return value for the modification. This is a more powerful version of update.

Atomically modifies the ZRef with the specified function, which computes a return value for the modification. This is a more powerful version of update.

def modifySome[B](default: B)(pf: PartialFunction[A, (B, A)]): IO[E, B]

Atomically modifies the ZRef with the specified partial function, which computes a return value for the modification if the function is defined on the current value otherwise it returns a default value. This is a more powerful version of updateSome.

Atomically modifies the ZRef with the specified partial function, which computes a return value for the modification if the function is defined on the current value otherwise it returns a default value. This is a more powerful version of updateSome.

def update(f: A => A): IO[E, Unit]

Atomically modifies the ZRef with the specified function.

Atomically modifies the ZRef with the specified function.

def updateAndGet(f: A => A): IO[E, A]

Atomically modifies the ZRef with the specified function and returns the updated value.

Atomically modifies the ZRef with the specified function and returns the updated value.

def updateSome(pf: PartialFunction[A, A]): IO[E, Unit]

Atomically modifies the ZRef with the specified partial function. If the function is undefined on the current value it doesn't change it.

Atomically modifies the ZRef with the specified partial function. If the function is undefined on the current value it doesn't change it.

def updateSomeAndGet(pf: PartialFunction[A, A]): IO[E, A]

Atomically modifies the ZRef with the specified partial function. If the function is undefined on the current value it returns the old value without changing it.

Atomically modifies the ZRef with the specified partial function. If the function is undefined on the current value it returns the old value without changing it.