package ambient-context

  1. Overview
  2. Docs
Abstraction over thread-local / continuation-local storage mechanisms for communication with transitive dependencies

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ambient-context-0.1.1.tbz
sha256=069907679bb58548d21236de31dd96b9cd94361b764fe0c6b06a5149d14098a8
sha512=519c47993a89fa8b4ab2b5d9dd63b0b80a2a0831fcad2af1ac413e4682435407a9a7c73524706e8ef5d65582ba01097ca20c93e1b8be2f8c556e70dac0a8de00

doc/ambient-context.atomic/Ambient_context_atomic/Atomic/index.html

Module Ambient_context_atomic.AtomicSource

Atomic references.

Sourcetype 'a t = 'a Atomic.t

An atomic (mutable) reference to a value of type 'a.

Sourceval make : 'a -> 'a t

Create an atomic reference.

Sourceval get : 'a t -> 'a

Get the current value of the atomic reference.

Sourceval set : 'a t -> 'a -> unit

Set a new value for the atomic reference.

Sourceval exchange : 'a t -> 'a -> 'a

Set a new value for the atomic reference, and return the current value.

Sourceval compare_and_set : 'a t -> 'a -> 'a -> bool

compare_and_set r seen v sets the new value of r to v only if its current value is physically equal to seen -- the comparison and the set occur atomically. Returns true if the comparison succeeded (so the set happened) and false otherwise.

Sourceval fetch_and_add : int t -> int -> int

fetch_and_add r n atomically increments the value of r by n, and returns the current value (before the increment).

Sourceval incr : int t -> unit

incr r atomically increments the value of r by 1.

Sourceval decr : int t -> unit

decr r atomically decrements the value of r by 1.