Struct rend::AtomicI32_le
source · #[repr(C, align(4))]pub struct AtomicI32_le(/* private fields */);
Expand description
A little-endian AtomicI32
with a guaranteed size and alignment of 4
.
Implementations§
source§impl AtomicI32_le
impl AtomicI32_le
source§impl AtomicI32_le
impl AtomicI32_le
sourcepub fn compare_exchange(
&self,
current: i32,
new: i32,
success: Ordering,
failure: Ordering
) -> Result<i32, i32>
pub fn compare_exchange( &self, current: i32, new: i32, success: Ordering, failure: Ordering ) -> Result<i32, i32>
Stores a value into the atomic integer if the current value is
the same as the current
value.
See AtomicI32::compare_exchange
for more information.
sourcepub fn compare_exchange_weak(
&self,
current: i32,
new: i32,
success: Ordering,
failure: Ordering
) -> Result<i32, i32>
pub fn compare_exchange_weak( &self, current: i32, new: i32, success: Ordering, failure: Ordering ) -> Result<i32, i32>
Stores a value into the atomic integer if the current value is
the same as the current
value.
See AtomicI32::compare_exchange_weak
for more information.
sourcepub fn fetch_add(&self, val: i32, order: Ordering) -> i32
pub fn fetch_add(&self, val: i32, order: Ordering) -> i32
Adds to the current value, returning the previous value.
Because addition is not an endian-agnostic operation, fetch_add
is implemented in terms of AtomicI32::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI32::fetch_add
for more information.
sourcepub fn fetch_and(&self, val: i32, order: Ordering) -> i32
pub fn fetch_and(&self, val: i32, order: Ordering) -> i32
Bitwise “and” with the current value.
See AtomicI32::fetch_and
for more information.
sourcepub fn fetch_max(&self, val: i32, order: Ordering) -> i32
pub fn fetch_max(&self, val: i32, order: Ordering) -> i32
Maximum with the current value.
Because maximum is not an endian-agnostic operation, fetch_max
is implemented in terms of AtomicI32::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI32::fetch_max
for more information.
sourcepub fn fetch_min(&self, val: i32, order: Ordering) -> i32
pub fn fetch_min(&self, val: i32, order: Ordering) -> i32
Minimum with the current value.
Because minimum is not an endian-agnostic operation, fetch_min
is implemented in terms of AtomicI32::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI32::fetch_min
for more information.
sourcepub fn fetch_nand(&self, val: i32, order: Ordering) -> i32
pub fn fetch_nand(&self, val: i32, order: Ordering) -> i32
Bitwise “nand” with the current value.
See AtomicI32::fetch_nand
for more information.
sourcepub fn fetch_or(&self, val: i32, order: Ordering) -> i32
pub fn fetch_or(&self, val: i32, order: Ordering) -> i32
Bitwise “or” with the current value.
See AtomicI32::fetch_or
for more information.
sourcepub fn fetch_sub(&self, val: i32, order: Ordering) -> i32
pub fn fetch_sub(&self, val: i32, order: Ordering) -> i32
Subtracts from the current value, returning the previous value.
Because subtraction is not an endian-agnostic operation, fetch_sub
is implemented in terms of AtomicI32::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI32::fetch_sub
for more information.
sourcepub fn fetch_update<F: FnMut(i32) -> Option<i32>>(
&self,
set_order: Ordering,
fetch_order: Ordering,
f: F
) -> Result<i32, i32>
pub fn fetch_update<F: FnMut(i32) -> Option<i32>>( &self, set_order: Ordering, fetch_order: Ordering, f: F ) -> Result<i32, i32>
Fetches the value, and applies a function to it that returns an
optional new value. Returns a Result
of Ok(previous_value)
if the function returned Some(_)
, else Err(previous_value)
.
See AtomicI32::fetch_update
for more information.
sourcepub fn fetch_xor(&self, val: i32, order: Ordering) -> i32
pub fn fetch_xor(&self, val: i32, order: Ordering) -> i32
Bitwise “xor” with the current value.
See AtomicI32::fetch_xor
for more information.
sourcepub fn into_inner(self) -> i32
pub fn into_inner(self) -> i32
Consumes the atomic and returns the contained value.
See AtomicI32::into_inner
for more information.
sourcepub fn load(&self, order: Ordering) -> i32
pub fn load(&self, order: Ordering) -> i32
Loads a value from the atomic integer.
See AtomicI32::load
for more information.
sourcepub fn store(&self, val: i32, order: Ordering)
pub fn store(&self, val: i32, order: Ordering)
Stores a value into the atomic integer.
See AtomicI32::store
for more information.