Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
fetch_and_$op_$type ptr val
atomically runs *( *$type )ptr $op val
, stores the result at ptr
, and returns the original value at ptr
.
compare_and_swap_$type ptr ~compare_with ~set_to
atomically checks if the value at ptr
is equal to compare_with
: if so, it stores set_to
to ptr
and returns true, otherwise returns false
Pointer to untagged int
val fetch_and_add : Native_pointer.t -> int -> int
val fetch_and_sub : Native_pointer.t -> int -> int
val compare_and_swap :
Native_pointer.t ->
compare_with:int ->
set_to:int ->
bool
Pointer to unboxed int64
val fetch_and_add_int64 : Native_pointer.t -> int64 -> int64
val fetch_and_sub_int64 : Native_pointer.t -> int64 -> int64
val compare_and_swap_int64 :
Native_pointer.t ->
compare_with:int64 ->
set_to:int64 ->
bool
Pointer to unboxed int32
val fetch_and_add_int32 : Native_pointer.t -> int32 -> int32
val fetch_and_sub_int32 : Native_pointer.t -> int32 -> int32
val compare_and_swap_int32 :
Native_pointer.t ->
compare_with:int32 ->
set_to:int32 ->
bool
Pointer to unboxed nativeint
val fetch_and_add_nativeint : Native_pointer.t -> nativeint -> nativeint
val fetch_and_sub_nativeint : Native_pointer.t -> nativeint -> nativeint
val compare_and_swap_nativeint :
Native_pointer.t ->
compare_with:nativeint ->
set_to:nativeint ->
bool