const class std::AtomicRef

sys::Obj
  std::AtomicRef

AtomicRef is used to manage a object reference shared between actor/threads with atomic updates. Only immutable objects may be shared.

compareAndSet

Bool compareAndSet(AtomicRef^T? expect, AtomicRef^T? update)

Atomically set the value to update if current value is equivalent to the expect value compared using === operator. Return true if updated, or false if current value was not equal to the expected value. Throw NotImmutableErr if update is mutable.

getAndSet

AtomicRef^T? getAndSet(AtomicRef^T? val)

Atomically set the value and return the previous value. Throw NotImmutableErr if val is mutable.

make

new make(AtomicRef^T? val := null)

Construct with initial value. Throw NotImmutableErr if initialized to a mutable value.

toStr

virtual override Str toStr()

Return val.toStr

val

AtomicRef^T? val

The current value. Throw NotImmutableErr if set to a mutable value.