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
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl AtomicBitXor for AtomicI8
Available on target_has_atomic="8"
only.
impl AtomicBitXor for AtomicI8
Available on
target_has_atomic="8"
only.Source§impl AtomicBitXor for AtomicI16
Available on target_has_atomic="16"
only.
impl AtomicBitXor for AtomicI16
Available on
target_has_atomic="16"
only.Source§impl AtomicBitXor for AtomicI32
Available on target_has_atomic="32"
only.
impl AtomicBitXor for AtomicI32
Available on
target_has_atomic="32"
only.Source§impl AtomicBitXor for AtomicI64
Available on target_has_atomic="64"
only.
impl AtomicBitXor for AtomicI64
Available on
target_has_atomic="64"
only.Source§impl AtomicBitXor for AtomicIsize
Available on target_has_atomic="ptr"
only.
impl AtomicBitXor for AtomicIsize
Available on
target_has_atomic="ptr"
only.Source§impl AtomicBitXor for AtomicU8
Available on target_has_atomic="8"
only.
impl AtomicBitXor for AtomicU8
Available on
target_has_atomic="8"
only.Source§impl AtomicBitXor for AtomicU16
Available on target_has_atomic="16"
only.
impl AtomicBitXor for AtomicU16
Available on
target_has_atomic="16"
only.Source§impl AtomicBitXor for AtomicU32
Available on target_has_atomic="32"
only.
impl AtomicBitXor for AtomicU32
Available on
target_has_atomic="32"
only.Source§impl AtomicBitXor for AtomicU64
Available on target_has_atomic="64"
only.
impl AtomicBitXor for AtomicU64
Available on
target_has_atomic="64"
only.Source§impl AtomicBitXor for AtomicUsize
Available on target_has_atomic="ptr"
only.
impl AtomicBitXor for AtomicUsize
Available on
target_has_atomic="ptr"
only.