[][src]Struct rustc_ap_rustc_data_structures::sync::Atomic

pub struct Atomic<T: Copy>(_);

This is a single threaded variant of AtomicU64, AtomicUsize, etc. It differs from AtomicCell in that it has explicit ordering arguments and is only intended for use with the native atomic types. You should use this type through the AtomicU64, AtomicUsize, etc, type aliases as it's not intended to be used separately.

Methods

impl<T: Copy> Atomic<T>[src]

pub fn new(v: T) -> Self[src]

impl<T: Copy> Atomic<T>[src]

pub fn into_inner(self) -> T[src]

pub fn load(&self, _: Ordering) -> T[src]

pub fn store(&self, val: T, _: Ordering)[src]

pub fn swap(&self, val: T, _: Ordering) -> T[src]

impl<T: Copy + PartialEq> Atomic<T>[src]

pub fn compare_exchange(
    &self,
    current: T,
    new: T,
    _: Ordering,
    _: Ordering
) -> Result<T, T>
[src]

impl<T: Add<Output = T> + Copy> Atomic<T>[src]

pub fn fetch_add(&self, val: T, _: Ordering) -> T[src]

Trait Implementations

impl<T: Debug + Copy> Debug for Atomic<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for Atomic<T>

impl<T> Send for Atomic<T> where
    T: Send

impl<T> !Sync for Atomic<T>

impl<T> Unpin for Atomic<T> where
    T: Unpin

impl<T> UnwindSafe for Atomic<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<E> SpecializationError for E[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.