AtomicP

Trait AtomicP 

Source
pub trait AtomicP<U>: Sized {
    // Required methods
    fn atomic_load(&self, order: Ordering) -> Self;
    fn atomic_store(&self, val: Self, order: Ordering);
    fn atomic_swap(&self, val: Self, order: Ordering) -> Self;
    fn atomic_compare_exchange(
        &self,
        current: Self,
        new: Self,
        success: Ordering,
        failure: Ordering,
    ) -> Result<Self, Self>;
    fn atomic_compare_exchange_weak(
        &self,
        current: Self,
        new: Self,
        success: Ordering,
        failure: Ordering,
    ) -> Result<Self, Self>;
}

Required Methods§

Source

fn atomic_load(&self, order: Ordering) -> Self

Source

fn atomic_store(&self, val: Self, order: Ordering)

Source

fn atomic_swap(&self, val: Self, order: Ordering) -> Self

Source

fn atomic_compare_exchange( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>

Source

fn atomic_compare_exchange_weak( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>

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<U> AtomicP<U> for *const U

Source§

fn atomic_load(&self, order: Ordering) -> Self

Source§

fn atomic_store(&self, val: Self, order: Ordering)

Source§

fn atomic_swap(&self, val: Self, order: Ordering) -> Self

Source§

fn atomic_compare_exchange( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>

Source§

fn atomic_compare_exchange_weak( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>

Source§

impl<U> AtomicP<U> for *mut U

Source§

fn atomic_load(&self, order: Ordering) -> Self

Source§

fn atomic_store(&self, val: Self, order: Ordering)

Source§

fn atomic_swap(&self, val: Self, order: Ordering) -> Self

Source§

fn atomic_compare_exchange( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>

Source§

fn atomic_compare_exchange_weak( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>

Implementors§