Atomic.Loc(3)

NAME
Atomic.Loc - Atomic "locations", such as record fields.

Module
Module Atomic.Loc

Documentation

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.Loc.t , 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