Module sync/atomic

sync/atomic

High-level Atomic* wrappers for thread-safe shared mutable values.

Types

AtomicBool atomic object
AtomicBool

Fields

NameTypeDescription
*atomic_bool
impl(AtomicBool, ...)
new : (AtomicBool) fn(value : bool) -> AtomicBool

Parameters

NameTypeNotes
valuebool

Returns: AtomicBool

load : (AtomicBool) fn(self : AtomicBool, order : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicBool
orderMemoryOrder

Returns: bool

store : (AtomicBool) fn(self : AtomicBool, value : bool, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicBool
valuebool
orderMemoryOrder

Returns: unit

swap : (AtomicBool) fn(self : AtomicBool, value : bool, order : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicBool
valuebool
orderMemoryOrder

Returns: bool

compare_exchange : (AtomicBool) fn(self : AtomicBool, expected : bool, new_value : bool, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicBool
expectedbool
new_valuebool
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicI8 atomic object
AtomicI8

Fields

NameTypeDescription
*atomic_schar
impl(AtomicI8, ...)
new : (AtomicI8) fn(value : i8) -> AtomicI8

Parameters

NameTypeNotes
valuei8

Returns: AtomicI8

load : (AtomicI8) fn(self : AtomicI8, order : MemoryOrder) -> i8

Parameters

NameTypeNotes
selfAtomicI8
orderMemoryOrder

Returns: i8

store : (AtomicI8) fn(self : AtomicI8, value : i8, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicI8
valuei8
orderMemoryOrder

Returns: unit

swap : (AtomicI8) fn(self : AtomicI8, value : i8, order : MemoryOrder) -> i8

Parameters

NameTypeNotes
selfAtomicI8
valuei8
orderMemoryOrder

Returns: i8

compare_exchange : (AtomicI8) fn(self : AtomicI8, expected : i8, new_value : i8, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicI8
expectedi8
new_valuei8
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicI16 atomic object
AtomicI16

Fields

NameTypeDescription
*atomic_short
impl(AtomicI16, ...)
new : (AtomicI16) fn(value : i16) -> AtomicI16

Parameters

NameTypeNotes
valuei16

Returns: AtomicI16

load : (AtomicI16) fn(self : AtomicI16, order : MemoryOrder) -> i16

Parameters

NameTypeNotes
selfAtomicI16
orderMemoryOrder

Returns: i16

store : (AtomicI16) fn(self : AtomicI16, value : i16, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicI16
valuei16
orderMemoryOrder

Returns: unit

swap : (AtomicI16) fn(self : AtomicI16, value : i16, order : MemoryOrder) -> i16

Parameters

NameTypeNotes
selfAtomicI16
valuei16
orderMemoryOrder

Returns: i16

compare_exchange : (AtomicI16) fn(self : AtomicI16, expected : i16, new_value : i16, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicI16
expectedi16
new_valuei16
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicI32 atomic object
AtomicI32

Fields

NameTypeDescription
*atomic_int
impl(AtomicI32, ...)
new : (AtomicI32) fn(value : i32) -> AtomicI32

Parameters

NameTypeNotes
valuei32

Returns: AtomicI32

load : (AtomicI32) fn(self : AtomicI32, order : MemoryOrder) -> i32

Parameters

NameTypeNotes
selfAtomicI32
orderMemoryOrder

Returns: i32

store : (AtomicI32) fn(self : AtomicI32, value : i32, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicI32
valuei32
orderMemoryOrder

Returns: unit

fetch_add : (AtomicI32) fn(self : AtomicI32, value : i32, order : MemoryOrder) -> i32

Parameters

NameTypeNotes
selfAtomicI32
valuei32
orderMemoryOrder

Returns: i32

fetch_sub : (AtomicI32) fn(self : AtomicI32, value : i32, order : MemoryOrder) -> i32

Parameters

NameTypeNotes
selfAtomicI32
valuei32
orderMemoryOrder

Returns: i32

swap : (AtomicI32) fn(self : AtomicI32, value : i32, order : MemoryOrder) -> i32

Parameters

NameTypeNotes
selfAtomicI32
valuei32
orderMemoryOrder

Returns: i32

compare_exchange : (AtomicI32) fn(self : AtomicI32, expected : i32, new_value : i32, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicI32
expectedi32
new_valuei32
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicI64 atomic object
AtomicI64

Fields

NameTypeDescription
*atomic_llong
impl(AtomicI64, ...)
new : (AtomicI64) fn(value : i64) -> AtomicI64

Parameters

NameTypeNotes
valuei64

Returns: AtomicI64

load : (AtomicI64) fn(self : AtomicI64, order : MemoryOrder) -> i64

Parameters

NameTypeNotes
selfAtomicI64
orderMemoryOrder

Returns: i64

store : (AtomicI64) fn(self : AtomicI64, value : i64, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicI64
valuei64
orderMemoryOrder

Returns: unit

swap : (AtomicI64) fn(self : AtomicI64, value : i64, order : MemoryOrder) -> i64

Parameters

NameTypeNotes
selfAtomicI64
valuei64
orderMemoryOrder

Returns: i64

compare_exchange : (AtomicI64) fn(self : AtomicI64, expected : i64, new_value : i64, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicI64
expectedi64
new_valuei64
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicU8 atomic object
AtomicU8

Fields

NameTypeDescription
*atomic_uchar
impl(AtomicU8, ...)
new : (AtomicU8) fn(value : u8) -> AtomicU8

Parameters

NameTypeNotes
valueu8

Returns: AtomicU8

load : (AtomicU8) fn(self : AtomicU8, order : MemoryOrder) -> u8

Parameters

NameTypeNotes
selfAtomicU8
orderMemoryOrder

Returns: u8

store : (AtomicU8) fn(self : AtomicU8, value : u8, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicU8
valueu8
orderMemoryOrder

Returns: unit

swap : (AtomicU8) fn(self : AtomicU8, value : u8, order : MemoryOrder) -> u8

Parameters

NameTypeNotes
selfAtomicU8
valueu8
orderMemoryOrder

Returns: u8

compare_exchange : (AtomicU8) fn(self : AtomicU8, expected : u8, new_value : u8, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicU8
expectedu8
new_valueu8
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicU16 atomic object
AtomicU16

Fields

NameTypeDescription
*atomic_ushort
impl(AtomicU16, ...)
new : (AtomicU16) fn(value : u16) -> AtomicU16

Parameters

NameTypeNotes
valueu16

Returns: AtomicU16

load : (AtomicU16) fn(self : AtomicU16, order : MemoryOrder) -> u16

Parameters

NameTypeNotes
selfAtomicU16
orderMemoryOrder

Returns: u16

store : (AtomicU16) fn(self : AtomicU16, value : u16, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicU16
valueu16
orderMemoryOrder

Returns: unit

swap : (AtomicU16) fn(self : AtomicU16, value : u16, order : MemoryOrder) -> u16

Parameters

NameTypeNotes
selfAtomicU16
valueu16
orderMemoryOrder

Returns: u16

compare_exchange : (AtomicU16) fn(self : AtomicU16, expected : u16, new_value : u16, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicU16
expectedu16
new_valueu16
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicU32 atomic object
AtomicU32

Fields

NameTypeDescription
*atomic_uint
impl(AtomicU32, ...)
new : (AtomicU32) fn(value : u32) -> AtomicU32

Parameters

NameTypeNotes
valueu32

Returns: AtomicU32

load : (AtomicU32) fn(self : AtomicU32, order : MemoryOrder) -> u32

Parameters

NameTypeNotes
selfAtomicU32
orderMemoryOrder

Returns: u32

store : (AtomicU32) fn(self : AtomicU32, value : u32, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicU32
valueu32
orderMemoryOrder

Returns: unit

swap : (AtomicU32) fn(self : AtomicU32, value : u32, order : MemoryOrder) -> u32

Parameters

NameTypeNotes
selfAtomicU32
valueu32
orderMemoryOrder

Returns: u32

compare_exchange : (AtomicU32) fn(self : AtomicU32, expected : u32, new_value : u32, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicU32
expectedu32
new_valueu32
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicU64 atomic object
AtomicU64

Fields

NameTypeDescription
*atomic_ullong
impl(AtomicU64, ...)
new : (AtomicU64) fn(value : u64) -> AtomicU64

Parameters

NameTypeNotes
valueu64

Returns: AtomicU64

load : (AtomicU64) fn(self : AtomicU64, order : MemoryOrder) -> u64

Parameters

NameTypeNotes
selfAtomicU64
orderMemoryOrder

Returns: u64

store : (AtomicU64) fn(self : AtomicU64, value : u64, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicU64
valueu64
orderMemoryOrder

Returns: unit

swap : (AtomicU64) fn(self : AtomicU64, value : u64, order : MemoryOrder) -> u64

Parameters

NameTypeNotes
selfAtomicU64
valueu64
orderMemoryOrder

Returns: u64

compare_exchange : (AtomicU64) fn(self : AtomicU64, expected : u64, new_value : u64, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicU64
expectedu64
new_valueu64
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicUsize atomic object
AtomicUsize

Fields

NameTypeDescription
*atomic_size_t
impl(AtomicUsize, ...)
new : (AtomicUsize) fn(value : usize) -> AtomicUsize

Parameters

NameTypeNotes
valueusize

Returns: AtomicUsize

load : (AtomicUsize) fn(self : AtomicUsize, order : MemoryOrder) -> usize

Parameters

NameTypeNotes
selfAtomicUsize
orderMemoryOrder

Returns: usize

store : (AtomicUsize) fn(self : AtomicUsize, value : usize, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicUsize
valueusize
orderMemoryOrder

Returns: unit

swap : (AtomicUsize) fn(self : AtomicUsize, value : usize, order : MemoryOrder) -> usize

Parameters

NameTypeNotes
selfAtomicUsize
valueusize
orderMemoryOrder

Returns: usize

compare_exchange : (AtomicUsize) fn(self : AtomicUsize, expected : usize, new_value : usize, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicUsize
expectedusize
new_valueusize
successMemoryOrder
failureMemoryOrder

Returns: bool

AtomicIsize atomic object
AtomicIsize

Fields

NameTypeDescription
*atomic_ptrdiff_t
impl(AtomicIsize, ...)
new : (AtomicIsize) fn(value : isize) -> AtomicIsize

Parameters

NameTypeNotes
valueisize

Returns: AtomicIsize

load : (AtomicIsize) fn(self : AtomicIsize, order : MemoryOrder) -> isize

Parameters

NameTypeNotes
selfAtomicIsize
orderMemoryOrder

Returns: isize

store : (AtomicIsize) fn(self : AtomicIsize, value : isize, order : MemoryOrder) -> unit

Parameters

NameTypeNotes
selfAtomicIsize
valueisize
orderMemoryOrder

Returns: unit

swap : (AtomicIsize) fn(self : AtomicIsize, value : isize, order : MemoryOrder) -> isize

Parameters

NameTypeNotes
selfAtomicIsize
valueisize
orderMemoryOrder

Returns: isize

compare_exchange : (AtomicIsize) fn(self : AtomicIsize, expected : isize, new_value : isize, success : MemoryOrder, failure : MemoryOrder) -> bool

Parameters

NameTypeNotes
selfAtomicIsize
expectedisize
new_valueisize
successMemoryOrder
failureMemoryOrder

Returns: bool

MemoryOrder

Variants

VariantFieldsDescription
Relaxed
Consume
Acquire
Release
AcqRel
SeqCst
impl(MemoryOrder, ...)
to_c_order : (MemoryOrder) fn(self : MemoryOrder) -> memory_order

Parameters

NameTypeNotes
selfMemoryOrder

Returns: memory_order