[][src]Trait heaparray::AtomicArrayRef

pub trait AtomicArrayRef: BaseArrayRef + Sized {
    fn compare_and_swap(
        &self,
        current: Self,
        new: Self,
        order: Ordering
    ) -> Self;
fn compare_exchange(
        &self,
        current: Self,
        new: Self,
        success: Ordering,
        failure: Ordering
    ) -> Result<Self, Self>;
fn compare_exchange_weak(
        &self,
        current: Self,
        new: Self,
        success: Ordering,
        failure: Ordering
    ) -> Result<Self, Self>;
fn load(&self, order: Ordering) -> Self;
fn store(&self, ptr: Self, order: Ordering);
fn swap(&self, ptr: Self, order: Ordering) -> Self; }

Atomically modified array reference. Guarrantees that all operations on the array reference are atomic (i.e. all changes to the internal array pointer).

Required methods

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

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

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

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

fn store(&self, ptr: Self, order: Ordering)

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

Loading content...

Implementors

impl<'a, A, R, B: ?Sized, E, L> AtomicArrayRef for RcArray<'a, A, R, B, E, L> where
    A: 'a + LabelledArray<'a, E, R> + BaseArrayRef + UnsafeArrayRef<'a, B> + AtomicArrayRef,
    R: 'a + RefCounter<L>,
    L: 'a,
    E: 'a,
    B: 'a, 
[src]

impl<'a, E, L> AtomicArrayRef for ThinPtrArray<'a, E, L>[src]

Loading content...