[][src]Trait atomic_types::Atomic

pub trait Atomic<T>: Send + Sync + Sized where
    T: Sized
{ fn new(val: T) -> Self;
fn store(&self, val: T, order: Ordering);
fn load(&self, order: Ordering) -> T;
fn swap(&self, val: T, order: Ordering) -> T;
fn get_mut(&mut self) -> &mut T;
fn into_inner(self) -> T;
fn compare_and_swap(&self, current: T, new: T, order: Ordering) -> T;
fn compare_exchange(
        &self,
        current: T,
        new: T,
        success: Ordering,
        failure: Ordering
    ) -> Result<T, T>;
fn compare_exchange_weak(
        &self,
        current: T,
        new: T,
        success: Ordering,
        failure: Ordering
    ) -> Result<T, T>; unsafe fn from_raw(val: &T) -> &Self { ... } }

Trait describing an atomic version of an atomically-sized type.

Required methods

fn new(val: T) -> Self

fn store(&self, val: T, order: Ordering)

fn load(&self, order: Ordering) -> T

fn swap(&self, val: T, order: Ordering) -> T

fn get_mut(&mut self) -> &mut T

fn into_inner(self) -> T

fn compare_and_swap(&self, current: T, new: T, order: Ordering) -> T

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

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

Loading content...

Provided methods

unsafe fn from_raw(val: &T) -> &Self

Generate a reference to the atomic version of this type using its normal version.

Loading content...

Implementations on Foreign Types

impl Atomic<usize> for AtomicUsize[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<isize> for AtomicIsize[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<u64> for AtomicU64[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<i64> for AtomicI64[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<u32> for AtomicU32[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<i32> for AtomicI32[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<u16> for AtomicU16[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<i16> for AtomicI16[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<u8> for AtomicU8[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<i8> for AtomicI8[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl Atomic<bool> for AtomicBool[src]

unsafe fn from_raw(val: &T) -> &Self[src]

impl<T> Atomic<*mut T> for AtomicPtr<T>[src]

unsafe fn from_raw(val: &T) -> &Self[src]

Loading content...

Implementors

Loading content...