#[repr(C, align(2))]pub struct AtomicU16_le(/* private fields */);Expand description
A little-endian AtomicU16 with a guaranteed size and alignment of 2.
Implementations§
Source§impl AtomicU16_le
impl AtomicU16_le
Source§impl AtomicU16_le
impl AtomicU16_le
Sourcepub fn compare_exchange(
&self,
current: u16,
new: u16,
success: Ordering,
failure: Ordering,
) -> Result<u16, u16>
pub fn compare_exchange( &self, current: u16, new: u16, success: Ordering, failure: Ordering, ) -> Result<u16, u16>
Stores a value into the atomic integer if the current value is
the same as the current value.
See AtomicU16::compare_exchange for more information.
Sourcepub fn compare_exchange_weak(
&self,
current: u16,
new: u16,
success: Ordering,
failure: Ordering,
) -> Result<u16, u16>
pub fn compare_exchange_weak( &self, current: u16, new: u16, success: Ordering, failure: Ordering, ) -> Result<u16, u16>
Stores a value into the atomic integer if the current value is
the same as the current value.
See AtomicU16::compare_exchange_weak for more information.
Sourcepub fn fetch_add(&self, val: u16, order: Ordering) -> u16
pub fn fetch_add(&self, val: u16, order: Ordering) -> u16
Adds to the current value, returning the previous value.
Because addition is not an endian-agnostic operation, fetch_add is implemented in terms of AtomicU16::compare_exchange_weak on big-endian targets. This may result in worse performance on those targets.
See AtomicU16::fetch_add for more information.
Sourcepub fn fetch_and(&self, val: u16, order: Ordering) -> u16
pub fn fetch_and(&self, val: u16, order: Ordering) -> u16
Bitwise “and” with the current value.
See AtomicU16::fetch_and for more information.
Sourcepub fn fetch_max(&self, val: u16, order: Ordering) -> u16
pub fn fetch_max(&self, val: u16, order: Ordering) -> u16
Maximum with the current value.
Because maximum is not an endian-agnostic operation, fetch_max is implemented in terms of AtomicU16::compare_exchange_weak on big-endian targets. This may result in worse performance on those targets.
See AtomicU16::fetch_max for more information.
Sourcepub fn fetch_min(&self, val: u16, order: Ordering) -> u16
pub fn fetch_min(&self, val: u16, order: Ordering) -> u16
Minimum with the current value.
Because minimum is not an endian-agnostic operation, fetch_min is implemented in terms of AtomicU16::compare_exchange_weak on big-endian targets. This may result in worse performance on those targets.
See AtomicU16::fetch_min for more information.
Sourcepub fn fetch_nand(&self, val: u16, order: Ordering) -> u16
pub fn fetch_nand(&self, val: u16, order: Ordering) -> u16
Bitwise “nand” with the current value.
See AtomicU16::fetch_nand for more information.
Sourcepub fn fetch_or(&self, val: u16, order: Ordering) -> u16
pub fn fetch_or(&self, val: u16, order: Ordering) -> u16
Bitwise “or” with the current value.
See AtomicU16::fetch_or for more information.
Sourcepub fn fetch_sub(&self, val: u16, order: Ordering) -> u16
pub fn fetch_sub(&self, val: u16, order: Ordering) -> u16
Subtracts from the current value, returning the previous value.
Because subtraction is not an endian-agnostic operation, fetch_sub is implemented in terms of AtomicU16::compare_exchange_weak on big-endian targets. This may result in worse performance on those targets.
See AtomicU16::fetch_sub for more information.
Sourcepub fn fetch_update<F: FnMut(u16) -> Option<u16>>(
&self,
set_order: Ordering,
fetch_order: Ordering,
f: F,
) -> Result<u16, u16>
pub fn fetch_update<F: FnMut(u16) -> Option<u16>>( &self, set_order: Ordering, fetch_order: Ordering, f: F, ) -> Result<u16, u16>
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 AtomicU16::fetch_update for more information.
Sourcepub fn fetch_xor(&self, val: u16, order: Ordering) -> u16
pub fn fetch_xor(&self, val: u16, order: Ordering) -> u16
Bitwise “xor” with the current value.
See AtomicU16::fetch_xor for more information.
Sourcepub fn into_inner(self) -> u16
pub fn into_inner(self) -> u16
Consumes the atomic and returns the contained value.
See AtomicU16::into_inner for more information.
Sourcepub fn load(&self, order: Ordering) -> u16
pub fn load(&self, order: Ordering) -> u16
Loads a value from the atomic integer.
See AtomicU16::load for more information.
Sourcepub fn store(&self, val: u16, order: Ordering)
pub fn store(&self, val: u16, order: Ordering)
Stores a value into the atomic integer.
See AtomicU16::store for more information.