1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
module type S = sig
@BEGIN_FROM_4_12_0@
@BEGIN_FROM_4_12_0@
type !'a t = 'a Atomic.t
@END_FROM_4_12_0@
@BEGIN_BEFORE_4_12_0@
type 'a t = 'a Atomic.t
@END_BEFORE_4_12_0@
@END_FROM_4_12_0@
@BEGIN_BEFORE_4_12_0@
type 'a t
@END_BEFORE_4_12_0@
(** @since 4.12.0: type !'a t
*)
val make_contended : 'a -> 'a t
(** @since 5.2.0: val make_contended : 'a -> 'a t *)
val make : 'a -> 'a t
(** @since 4.12.0: val make : 'a -> 'a t *)
val get : 'a t -> 'a
(** @since 4.12.0: val get : 'a t -> 'a *)
val set : 'a t -> 'a -> unit
(** @since 4.12.0: val set : 'a t -> 'a -> unit *)
val exchange : 'a t -> 'a -> 'a
(** @since 4.12.0: val exchange : 'a t -> 'a -> 'a *)
val compare_and_set : 'a t -> 'a -> 'a -> bool
(** @since 4.12.0: val compare_and_set : 'a t -> 'a -> 'a -> bool *)
val fetch_and_add : int t -> int -> int
(** @since 4.12.0: val fetch_and_add : int t -> int -> int *)
val incr : int t -> unit
(** @since 4.12.0: val incr : int t -> unit *)
val decr : int t -> unit
(** @since 4.12.0: val decr : int t -> unit *)
end
|