module Loc:sig
..end
Atomic "locations", such as record fields.
type'a
t ='a atomic_loc
This module exposes a dedicated type 'a Atomic.Loc.t
for
atomic locations (storing a value of type 'a
) inside objects
that may not be atomic references. It is used in particular for
atomic record fields: if a record r
has an atomic field f
of
type foo
, then [%atomic.loc r.f]
has type foo Atomic.Loc.t
.
The API below mirrors the API to access atomic references, see the documentation above for more information.
val get : 'a t -> 'a
val set : 'a t -> 'a -> unit
val exchange : 'a t -> 'a -> 'a
val compare_and_set : 'a t -> 'a -> 'a -> bool
val fetch_and_add : int t -> int -> int
val incr : int t -> unit
val decr : int t -> unit