[][src]Trait msp430_atomic::AtomicOperations

pub trait AtomicOperations {
    unsafe fn atomic_store(dst: *mut Self, val: Self);
unsafe fn atomic_load(dst: *const Self) -> Self;
unsafe fn atomic_add(dst: *mut Self, val: Self);
unsafe fn atomic_sub(dst: *mut Self, val: Self);
unsafe fn atomic_and(dst: *mut Self, val: Self);
unsafe fn atomic_clear(dst: *mut Self, val: Self);
unsafe fn atomic_or(dst: *mut Self, val: Self);
unsafe fn atomic_xor(dst: *mut Self, val: Self); }

Atomic arithmetic and bitwise operations implemented for numerical types. Each operation is implemented with a single assembly instruction.

Required methods

unsafe fn atomic_store(dst: *mut Self, val: Self)

Store value into destination pointee.

unsafe fn atomic_load(dst: *const Self) -> Self

Read value from destination pointee.

unsafe fn atomic_add(dst: *mut Self, val: Self)

Add value to destination pointee. Result may wrap around.

unsafe fn atomic_sub(dst: *mut Self, val: Self)

Subtract value from destination pointee. Result may wrap around.

unsafe fn atomic_and(dst: *mut Self, val: Self)

Clear all bits in destination pointee that are zeroed in value.

unsafe fn atomic_clear(dst: *mut Self, val: Self)

Clear all bits in destination pointee that are set in value

unsafe fn atomic_or(dst: *mut Self, val: Self)

Set all bits in destination pointee that are set in value.

unsafe fn atomic_xor(dst: *mut Self, val: Self)

Toggle all bits in destination pointee that are set in value.

Loading content...

Implementors

impl AtomicOperations for isize[src]

impl AtomicOperations for usize[src]

impl AtomicOperations for i8[src]

impl AtomicOperations for i16[src]

impl AtomicOperations for u8[src]

impl AtomicOperations for u16[src]

Loading content...