#[repr(C, align(8))]pub struct AtomicI64_le(/* private fields */);
Expand description
A little-endian AtomicI64
with a guaranteed size and alignment of 8
.
Implementations§
Source§impl AtomicI64_le
impl AtomicI64_le
Source§impl AtomicI64_le
impl AtomicI64_le
Sourcepub fn compare_exchange(
&self,
current: i64,
new: i64,
success: Ordering,
failure: Ordering,
) -> Result<i64, i64>
pub fn compare_exchange( &self, current: i64, new: i64, success: Ordering, failure: Ordering, ) -> Result<i64, i64>
Stores a value into the atomic integer if the current value is
the same as the current
value.
See AtomicI64::compare_exchange
for more information.
Sourcepub fn compare_exchange_weak(
&self,
current: i64,
new: i64,
success: Ordering,
failure: Ordering,
) -> Result<i64, i64>
pub fn compare_exchange_weak( &self, current: i64, new: i64, success: Ordering, failure: Ordering, ) -> Result<i64, i64>
Stores a value into the atomic integer if the current value is
the same as the current
value.
See AtomicI64::compare_exchange_weak
for more information.
Sourcepub fn fetch_add(&self, val: i64, order: Ordering) -> i64
pub fn fetch_add(&self, val: i64, order: Ordering) -> i64
Adds to the current value, returning the previous value.
Because addition is not an endian-agnostic operation, fetch_add
is implemented in terms of AtomicI64::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI64::fetch_add
for more information.
Sourcepub fn fetch_and(&self, val: i64, order: Ordering) -> i64
pub fn fetch_and(&self, val: i64, order: Ordering) -> i64
Bitwise “and” with the current value.
See AtomicI64::fetch_and
for more information.
Sourcepub fn fetch_max(&self, val: i64, order: Ordering) -> i64
pub fn fetch_max(&self, val: i64, order: Ordering) -> i64
Maximum with the current value.
Because maximum is not an endian-agnostic operation, fetch_max
is implemented in terms of AtomicI64::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI64::fetch_max
for more information.
Sourcepub fn fetch_min(&self, val: i64, order: Ordering) -> i64
pub fn fetch_min(&self, val: i64, order: Ordering) -> i64
Minimum with the current value.
Because minimum is not an endian-agnostic operation, fetch_min
is implemented in terms of AtomicI64::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI64::fetch_min
for more information.
Sourcepub fn fetch_nand(&self, val: i64, order: Ordering) -> i64
pub fn fetch_nand(&self, val: i64, order: Ordering) -> i64
Bitwise “nand” with the current value.
See AtomicI64::fetch_nand
for more information.
Sourcepub fn fetch_or(&self, val: i64, order: Ordering) -> i64
pub fn fetch_or(&self, val: i64, order: Ordering) -> i64
Bitwise “or” with the current value.
See AtomicI64::fetch_or
for more information.
Sourcepub fn fetch_sub(&self, val: i64, order: Ordering) -> i64
pub fn fetch_sub(&self, val: i64, order: Ordering) -> i64
Subtracts from the current value, returning the previous value.
Because subtraction is not an endian-agnostic operation, fetch_sub
is implemented in terms of AtomicI64::compare_exchange_weak
on big-endian targets. This may result in worse performance on those targets.
See AtomicI64::fetch_sub
for more information.
Sourcepub fn fetch_update<F: FnMut(i64) -> Option<i64>>(
&self,
set_order: Ordering,
fetch_order: Ordering,
f: F,
) -> Result<i64, i64>
pub fn fetch_update<F: FnMut(i64) -> Option<i64>>( &self, set_order: Ordering, fetch_order: Ordering, f: F, ) -> Result<i64, i64>
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 AtomicI64::fetch_update
for more information.
Sourcepub fn fetch_xor(&self, val: i64, order: Ordering) -> i64
pub fn fetch_xor(&self, val: i64, order: Ordering) -> i64
Bitwise “xor” with the current value.
See AtomicI64::fetch_xor
for more information.
Sourcepub fn into_inner(self) -> i64
pub fn into_inner(self) -> i64
Consumes the atomic and returns the contained value.
See AtomicI64::into_inner
for more information.
Sourcepub fn load(&self, order: Ordering) -> i64
pub fn load(&self, order: Ordering) -> i64
Loads a value from the atomic integer.
See AtomicI64::load
for more information.
Sourcepub fn store(&self, val: i64, order: Ordering)
pub fn store(&self, val: i64, order: Ordering)
Stores a value into the atomic integer.
See AtomicI64::store
for more information.
Trait Implementations§
Source§impl Debug for AtomicI64_le
impl Debug for AtomicI64_le
Source§impl Default for AtomicI64_le
impl Default for AtomicI64_le
Source§impl From<i64> for AtomicI64_le
impl From<i64> for AtomicI64_le
Source§impl FromBytes for AtomicI64_lewhere
AtomicI64: FromBytes,
impl FromBytes for AtomicI64_lewhere
AtomicI64: FromBytes,
§fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_prefix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout<PointerMetadata = usize>,
fn mut_from_prefix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout<PointerMetadata = usize>,
§fn mut_from_suffix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout<PointerMetadata = usize>,
fn mut_from_suffix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout<PointerMetadata = usize>,
Source§impl FromZeros for AtomicI64_lewhere
AtomicI64: FromZeros,
impl FromZeros for AtomicI64_lewhere
AtomicI64: FromZeros,
Source§impl IntoBytes for AtomicI64_le
impl IntoBytes for AtomicI64_le
§fn as_mut_bytes(&mut self) -> &mut [u8]where
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8]where
Self: FromBytes,
Source§impl KnownLayout for AtomicI64_lewhere
AtomicI64: KnownLayout,
impl KnownLayout for AtomicI64_lewhere
AtomicI64: KnownLayout,
Source§type PointerMetadata = <AtomicI64 as KnownLayout>::PointerMetadata
type PointerMetadata = <AtomicI64 as KnownLayout>::PointerMetadata
Self
. Read moreSource§impl TryFromBytes for AtomicI64_lewhere
AtomicI64: TryFromBytes,
impl TryFromBytes for AtomicI64_lewhere
AtomicI64: TryFromBytes,
§fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout,
fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout,
§fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout,
fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout,
§fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout,
fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout,
§fn try_mut_from_bytes_with_elems(
source: &mut [u8],
count: usize,
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout<PointerMetadata = usize>,
fn try_mut_from_bytes_with_elems(
source: &mut [u8],
count: usize,
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout<PointerMetadata = usize>,
§fn try_mut_from_prefix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout<PointerMetadata = usize>,
fn try_mut_from_prefix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout<PointerMetadata = usize>,
source
as a &mut Self
with a DST length equal to count
. Read more§fn try_mut_from_suffix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout<PointerMetadata = usize>,
fn try_mut_from_suffix_with_elems(
source: &mut [u8],
count: usize,
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout<PointerMetadata = usize>,
source
as a &mut Self
with a DST length equal to count
. Read more