Packages

final class AtomicNumberAny[A <: AnyRef] extends AtomicNumber[A]

Atomic references wrapping any values implementing Scala's Numeric type class.

Note that the equality test in compareAndSet is reference based. This is because we are storing AnyRef references and on top of the JVM that's the semantic of compareAndSet. This behavior is kept consistent even on top of Scala.js / Javascript.

Source
AtomicNumberAny.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AtomicNumberAny
  2. AtomicNumber
  3. Atomic
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final macro def +=(value: A): Unit

    Subtracts from the atomic number the given value.

    Subtracts from the atomic number the given value. Alias for subtract.

    Definition Classes
    AtomicNumber
  4. final macro def -=(value: A): Unit

    Adds to the atomic number the given value.

    Adds to the atomic number the given value. Alias for add.

    Definition Classes
    AtomicNumber
  5. final macro def :=(value: A): Unit

    Alias for set.

    Alias for set. Updates the current value.

    value

    will be the new value returned by get()

    Definition Classes
    Atomic
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def add(v: A): Unit

    Adds to the atomic number the given value.

    Adds to the atomic number the given value.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  8. def addAndGet(v: A): A

    Adds to the atomic number and returns the result.

    Adds to the atomic number and returns the result.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  9. final macro def apply(): A

    Get the current value persisted by this Atomic, an alias for get().

    Get the current value persisted by this Atomic, an alias for get().

    Definition Classes
    Atomic
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  12. def compareAndSet(expect: A, update: A): Boolean

    Does a compare-and-set operation on the current value.

    Does a compare-and-set operation on the current value. For more info, checkout the related Compare-and-swap Wikipedia page.

    It's an atomic, worry free operation.

    expect

    is the value you expect to be persisted when the operation happens

    update

    will be the new value, should the check for expect succeeds

    returns

    either true in case the operation succeeded or false otherwise

    Definition Classes
    AtomicNumberAnyAtomic
  13. def decrement(v: Int = 1): Unit

    Decrements the atomic number with the given integer.

    Decrements the atomic number with the given integer.

    Definition Classes
    AtomicNumberAnyAtomicNumber
  14. def decrementAndGet(v: Int = 1): A

    Decrements the atomic number and returns the result.

    Decrements the atomic number and returns the result.

    Definition Classes
    AtomicNumberAnyAtomicNumber
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  18. def get(): A

    Get the current value persisted by this Atomic.

    Get the current value persisted by this Atomic.

    Definition Classes
    AtomicNumberAnyAtomic
  19. def getAndAdd(v: A): A

    Adds to the the atomic number and returns the value before the update.

    Adds to the the atomic number and returns the value before the update.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  20. def getAndDecrement(v: Int = 1): A

    Decrements the atomic number and returns the value before the update.

    Decrements the atomic number and returns the value before the update.

    Definition Classes
    AtomicNumberAnyAtomicNumber
  21. def getAndIncrement(v: Int = 1): A

    Increments the atomic number and returns the value before the update.

    Increments the atomic number and returns the value before the update.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  22. def getAndSet(update: A): A

    Sets the persisted value to update and returns the old value that was in place.

    Sets the persisted value to update and returns the old value that was in place. It's an atomic, worry free operation.

    Definition Classes
    AtomicNumberAnyAtomic
  23. def getAndSubtract(v: A): A

    Subtracts from the atomic number and returns the value before the update.

    Subtracts from the atomic number and returns the value before the update.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  24. final macro def getAndTransform(cb: (A) => A): A

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by the given callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns the update which is the new value that should be persisted

    returns

    the old value, just prior to when the successful update happened

    Definition Classes
    Atomic
  25. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. def increment(v: Int = 1): Unit

    Increment with the given integer

    Increment with the given integer

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  28. def incrementAndGet(v: Int = 1): A

    Increments the atomic number and returns the result.

    Increments the atomic number and returns the result.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. def lazySet(update: A): Unit

    Eventually sets to the given value.

    Eventually sets to the given value. Has weaker visibility guarantees than the normal set().

    Definition Classes
    AtomicNumberAnyAtomic
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. def set(update: A): Unit

    Updates the current value.

    Updates the current value.

    update

    will be the new value returned by get()

    Definition Classes
    AtomicNumberAnyAtomic
  35. def subtract(v: A): Unit

    Subtracts from the atomic number the given value.

    Subtracts from the atomic number the given value.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  36. def subtractAndGet(v: A): A

    Subtracts from the atomic number and returns the result.

    Subtracts from the atomic number and returns the result.

    Definition Classes
    AtomicNumberAnyAtomicNumber
    Annotations
    @tailrec()
  37. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  38. def toString(): String
    Definition Classes
    AnyRef → Any
  39. final macro def transform(cb: (A) => A): Unit

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by the given callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns the update which is the new value that should be persisted

    Definition Classes
    Atomic
  40. final macro def transformAndExtract[U](cb: (A) => (U, A)): U

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by your callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns a tuple that specifies the update + what should this method return when the operation succeeds.

    returns

    whatever was specified by your callback, once the operation succeeds

    Definition Classes
    Atomic
  41. final macro def transformAndGet(cb: (A) => A): A

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by the given callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns the update which is the new value that should be persisted

    returns

    whatever the update is, after the operation succeeds

    Definition Classes
    Atomic
  42. final macro def update(value: A): Unit

    Alias for set.

    Alias for set. Updates the current value.

    value

    will be the new value returned by get()

    Definition Classes
    Atomic
  43. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  44. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  45. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AtomicNumber[A]

Inherited from Atomic[A]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped