Trait utils_atomics::traits::AtomicBitXor
source · pub trait AtomicBitXor<T = <Self as Atomic>::Primitive>: Atomic {
// Required method
fn fetch_xor(&self, val: T, order: Ordering) -> Self::Primitive;
}
Expand description
A trait representing atomic types that support bitwise XOR operations.
Required Methods§
sourcefn fetch_xor(&self, val: T, order: Ordering) -> Self::Primitive
fn fetch_xor(&self, val: T, order: Ordering) -> Self::Primitive
Bitwise “xor” with the current value.
Performs a bitwise “xor” operation on the current value and the argument val
, and
sets the new value to the result.
Returns the previous value.
fetch_xor
takes an Ordering
argument which describes the memory ordering
of this operation. All ordering modes are possible. Note that using
Acquire
makes the store part of this operation Relaxed
, and
using Release
makes the load part Relaxed
.
Implementations on Foreign Types§
source§impl AtomicBitXor<<AtomicU8 as Atomic>::Primitive> for AtomicU8
Available on target_has_atomic="8"
only.
impl AtomicBitXor<<AtomicU8 as Atomic>::Primitive> for AtomicU8
Available on
target_has_atomic="8"
only.source§impl AtomicBitXor<<AtomicUsize as Atomic>::Primitive> for AtomicUsize
Available on target_has_atomic="ptr"
only.
impl AtomicBitXor<<AtomicUsize as Atomic>::Primitive> for AtomicUsize
Available on
target_has_atomic="ptr"
only.source§impl AtomicBitXor<<AtomicI32 as Atomic>::Primitive> for AtomicI32
Available on target_has_atomic="32"
only.
impl AtomicBitXor<<AtomicI32 as Atomic>::Primitive> for AtomicI32
Available on
target_has_atomic="32"
only.source§impl AtomicBitXor<<AtomicU64 as Atomic>::Primitive> for AtomicU64
Available on target_has_atomic="64"
only.
impl AtomicBitXor<<AtomicU64 as Atomic>::Primitive> for AtomicU64
Available on
target_has_atomic="64"
only.source§impl AtomicBitXor<<AtomicU32 as Atomic>::Primitive> for AtomicU32
Available on target_has_atomic="32"
only.
impl AtomicBitXor<<AtomicU32 as Atomic>::Primitive> for AtomicU32
Available on
target_has_atomic="32"
only.source§impl AtomicBitXor<<AtomicI64 as Atomic>::Primitive> for AtomicI64
Available on target_has_atomic="64"
only.
impl AtomicBitXor<<AtomicI64 as Atomic>::Primitive> for AtomicI64
Available on
target_has_atomic="64"
only.source§impl AtomicBitXor<<AtomicI16 as Atomic>::Primitive> for AtomicI16
Available on target_has_atomic="16"
only.
impl AtomicBitXor<<AtomicI16 as Atomic>::Primitive> for AtomicI16
Available on
target_has_atomic="16"
only.source§impl AtomicBitXor<<AtomicU16 as Atomic>::Primitive> for AtomicU16
Available on target_has_atomic="16"
only.
impl AtomicBitXor<<AtomicU16 as Atomic>::Primitive> for AtomicU16
Available on
target_has_atomic="16"
only.source§impl AtomicBitXor<<AtomicIsize as Atomic>::Primitive> for AtomicIsize
Available on target_has_atomic="ptr"
only.
impl AtomicBitXor<<AtomicIsize as Atomic>::Primitive> for AtomicIsize
Available on
target_has_atomic="ptr"
only.source§impl AtomicBitXor<<AtomicI8 as Atomic>::Primitive> for AtomicI8
Available on target_has_atomic="8"
only.
impl AtomicBitXor<<AtomicI8 as Atomic>::Primitive> for AtomicI8
Available on
target_has_atomic="8"
only.