Trait msp430_atomic::AtomicOperations
source · 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);
}
Expand description
Atomic arithmetic and bitwise operations implemented for numerical types. Each operation is implemented with a single assembly instruction.
Required Methods§
sourceunsafe fn atomic_store(dst: *mut Self, val: Self)
unsafe fn atomic_store(dst: *mut Self, val: Self)
Store value into destination pointee.
sourceunsafe fn atomic_load(dst: *const Self) -> Self
unsafe fn atomic_load(dst: *const Self) -> Self
Read value from destination pointee.
sourceunsafe fn atomic_add(dst: *mut Self, val: Self)
unsafe fn atomic_add(dst: *mut Self, val: Self)
Add value to destination pointee. Result may wrap around.
sourceunsafe fn atomic_sub(dst: *mut Self, val: Self)
unsafe fn atomic_sub(dst: *mut Self, val: Self)
Subtract value from destination pointee. Result may wrap around.
sourceunsafe fn atomic_and(dst: *mut Self, val: Self)
unsafe fn atomic_and(dst: *mut Self, val: Self)
Clear all bits in destination pointee that are zeroed in value.
sourceunsafe fn atomic_clear(dst: *mut Self, val: Self)
unsafe fn atomic_clear(dst: *mut Self, val: Self)
Clear all bits in destination pointee that are set in value
sourceunsafe fn atomic_or(dst: *mut Self, val: Self)
unsafe fn atomic_or(dst: *mut Self, val: Self)
Set all bits in destination pointee that are set in value.
sourceunsafe fn atomic_xor(dst: *mut Self, val: Self)
unsafe fn atomic_xor(dst: *mut Self, val: Self)
Toggle all bits in destination pointee that are set in value.