Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Atomic.BigstringSourcefetch_and_$op_$type ptr ~pos val atomically runs *( *$type )((ptr + pos) $op val, stores the result at ptr + pos, and returns the original value at ptr + pos.
Note that pos is a byte offset into the bigstring. If the offset is not a multiple of the target int width in bytes, the operation will be unaligned and potentially *much* slower than the aligned case.
Pointer to untagged int
Pointer to unboxed int64
val compare_and_swap_int64 :
Bigstring_intf.t ->
pos:int ->
compare_with:int64 ->
set_to:int64 ->
boolPointer to unboxed int32
val compare_and_swap_int32 :
Bigstring_intf.t ->
pos:int ->
compare_with:int32 ->
set_to:int32 ->
boolPointer to unboxed nativeint
val compare_and_swap_nativeint :
Bigstring_intf.t ->
pos:int ->
compare_with:nativeint ->
set_to:nativeint ->
bool