pub trait AtomicOps<T> {
// Required methods
fn atomic_new(v: T) -> Self;
fn atomic_load(&self, order: Ordering) -> T;
fn atomic_store(&self, v: T, order: Ordering);
fn atomic_swap(&self, v: T, order: Ordering) -> T;
fn atomic_compare_exchange(
&self,
curr: T,
new: T,
success: Ordering,
failure: Ordering,
) -> Result<T, T>;
}Expand description
This trait must be implemented for the underlying atomic type.
The trait is already implemented for:
AtomicU8AtomicU16AtomicU32AtomicU64with theu64feature.AtomicUsizewith theusizefeature.
Required Methods§
fn atomic_new(v: T) -> Self
fn atomic_load(&self, order: Ordering) -> T
fn atomic_store(&self, v: T, order: Ordering)
fn atomic_swap(&self, v: T, order: Ordering) -> T
fn atomic_compare_exchange( &self, curr: T, new: T, success: Ordering, failure: Ordering, ) -> Result<T, T>
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.