[−][src]Trait atomic_types::Atomic
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>
&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>
&self,
current: T,
new: T,
success: Ordering,
failure: Ordering
) -> Result<T, T>
Provided methods
unsafe fn from_raw(val: &T) -> &Self
Generate a reference to the atomic version of this type using its normal version.
Implementations on Foreign Types
impl Atomic<usize> for AtomicUsize
[src]
fn new(val: usize) -> Self
[src]
fn store(&self, val: usize, order: Ordering)
[src]
fn load(&self, order: Ordering) -> usize
[src]
fn swap(&self, val: usize, order: Ordering) -> usize
[src]
fn get_mut(&mut self) -> &mut usize
[src]
fn into_inner(self) -> usize
[src]
fn compare_and_swap(&self, current: usize, new: usize, order: Ordering) -> usize
[src]
fn compare_exchange(
&self,
current: usize,
new: usize,
success: Ordering,
failure: Ordering
) -> Result<usize, usize>
[src]
&self,
current: usize,
new: usize,
success: Ordering,
failure: Ordering
) -> Result<usize, usize>
fn compare_exchange_weak(
&self,
current: usize,
new: usize,
success: Ordering,
failure: Ordering
) -> Result<usize, usize>
[src]
&self,
current: usize,
new: usize,
success: Ordering,
failure: Ordering
) -> Result<usize, usize>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<isize> for AtomicIsize
[src]
fn new(val: isize) -> Self
[src]
fn store(&self, val: isize, order: Ordering)
[src]
fn load(&self, order: Ordering) -> isize
[src]
fn swap(&self, val: isize, order: Ordering) -> isize
[src]
fn get_mut(&mut self) -> &mut isize
[src]
fn into_inner(self) -> isize
[src]
fn compare_and_swap(&self, current: isize, new: isize, order: Ordering) -> isize
[src]
fn compare_exchange(
&self,
current: isize,
new: isize,
success: Ordering,
failure: Ordering
) -> Result<isize, isize>
[src]
&self,
current: isize,
new: isize,
success: Ordering,
failure: Ordering
) -> Result<isize, isize>
fn compare_exchange_weak(
&self,
current: isize,
new: isize,
success: Ordering,
failure: Ordering
) -> Result<isize, isize>
[src]
&self,
current: isize,
new: isize,
success: Ordering,
failure: Ordering
) -> Result<isize, isize>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<u64> for AtomicU64
[src]
fn new(val: u64) -> Self
[src]
fn store(&self, val: u64, order: Ordering)
[src]
fn load(&self, order: Ordering) -> u64
[src]
fn swap(&self, val: u64, order: Ordering) -> u64
[src]
fn get_mut(&mut self) -> &mut u64
[src]
fn into_inner(self) -> u64
[src]
fn compare_and_swap(&self, current: u64, new: u64, order: Ordering) -> u64
[src]
fn compare_exchange(
&self,
current: u64,
new: u64,
success: Ordering,
failure: Ordering
) -> Result<u64, u64>
[src]
&self,
current: u64,
new: u64,
success: Ordering,
failure: Ordering
) -> Result<u64, u64>
fn compare_exchange_weak(
&self,
current: u64,
new: u64,
success: Ordering,
failure: Ordering
) -> Result<u64, u64>
[src]
&self,
current: u64,
new: u64,
success: Ordering,
failure: Ordering
) -> Result<u64, u64>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<i64> for AtomicI64
[src]
fn new(val: i64) -> Self
[src]
fn store(&self, val: i64, order: Ordering)
[src]
fn load(&self, order: Ordering) -> i64
[src]
fn swap(&self, val: i64, order: Ordering) -> i64
[src]
fn get_mut(&mut self) -> &mut i64
[src]
fn into_inner(self) -> i64
[src]
fn compare_and_swap(&self, current: i64, new: i64, order: Ordering) -> i64
[src]
fn compare_exchange(
&self,
current: i64,
new: i64,
success: Ordering,
failure: Ordering
) -> Result<i64, i64>
[src]
&self,
current: i64,
new: i64,
success: Ordering,
failure: Ordering
) -> Result<i64, i64>
fn compare_exchange_weak(
&self,
current: i64,
new: i64,
success: Ordering,
failure: Ordering
) -> Result<i64, i64>
[src]
&self,
current: i64,
new: i64,
success: Ordering,
failure: Ordering
) -> Result<i64, i64>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<u32> for AtomicU32
[src]
fn new(val: u32) -> Self
[src]
fn store(&self, val: u32, order: Ordering)
[src]
fn load(&self, order: Ordering) -> u32
[src]
fn swap(&self, val: u32, order: Ordering) -> u32
[src]
fn get_mut(&mut self) -> &mut u32
[src]
fn into_inner(self) -> u32
[src]
fn compare_and_swap(&self, current: u32, new: u32, order: Ordering) -> u32
[src]
fn compare_exchange(
&self,
current: u32,
new: u32,
success: Ordering,
failure: Ordering
) -> Result<u32, u32>
[src]
&self,
current: u32,
new: u32,
success: Ordering,
failure: Ordering
) -> Result<u32, u32>
fn compare_exchange_weak(
&self,
current: u32,
new: u32,
success: Ordering,
failure: Ordering
) -> Result<u32, u32>
[src]
&self,
current: u32,
new: u32,
success: Ordering,
failure: Ordering
) -> Result<u32, u32>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<i32> for AtomicI32
[src]
fn new(val: i32) -> Self
[src]
fn store(&self, val: i32, order: Ordering)
[src]
fn load(&self, order: Ordering) -> i32
[src]
fn swap(&self, val: i32, order: Ordering) -> i32
[src]
fn get_mut(&mut self) -> &mut i32
[src]
fn into_inner(self) -> i32
[src]
fn compare_and_swap(&self, current: i32, new: i32, order: Ordering) -> i32
[src]
fn compare_exchange(
&self,
current: i32,
new: i32,
success: Ordering,
failure: Ordering
) -> Result<i32, i32>
[src]
&self,
current: i32,
new: i32,
success: Ordering,
failure: Ordering
) -> Result<i32, i32>
fn compare_exchange_weak(
&self,
current: i32,
new: i32,
success: Ordering,
failure: Ordering
) -> Result<i32, i32>
[src]
&self,
current: i32,
new: i32,
success: Ordering,
failure: Ordering
) -> Result<i32, i32>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<u16> for AtomicU16
[src]
fn new(val: u16) -> Self
[src]
fn store(&self, val: u16, order: Ordering)
[src]
fn load(&self, order: Ordering) -> u16
[src]
fn swap(&self, val: u16, order: Ordering) -> u16
[src]
fn get_mut(&mut self) -> &mut u16
[src]
fn into_inner(self) -> u16
[src]
fn compare_and_swap(&self, current: u16, new: u16, order: Ordering) -> u16
[src]
fn compare_exchange(
&self,
current: u16,
new: u16,
success: Ordering,
failure: Ordering
) -> Result<u16, u16>
[src]
&self,
current: u16,
new: u16,
success: Ordering,
failure: Ordering
) -> Result<u16, u16>
fn compare_exchange_weak(
&self,
current: u16,
new: u16,
success: Ordering,
failure: Ordering
) -> Result<u16, u16>
[src]
&self,
current: u16,
new: u16,
success: Ordering,
failure: Ordering
) -> Result<u16, u16>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<i16> for AtomicI16
[src]
fn new(val: i16) -> Self
[src]
fn store(&self, val: i16, order: Ordering)
[src]
fn load(&self, order: Ordering) -> i16
[src]
fn swap(&self, val: i16, order: Ordering) -> i16
[src]
fn get_mut(&mut self) -> &mut i16
[src]
fn into_inner(self) -> i16
[src]
fn compare_and_swap(&self, current: i16, new: i16, order: Ordering) -> i16
[src]
fn compare_exchange(
&self,
current: i16,
new: i16,
success: Ordering,
failure: Ordering
) -> Result<i16, i16>
[src]
&self,
current: i16,
new: i16,
success: Ordering,
failure: Ordering
) -> Result<i16, i16>
fn compare_exchange_weak(
&self,
current: i16,
new: i16,
success: Ordering,
failure: Ordering
) -> Result<i16, i16>
[src]
&self,
current: i16,
new: i16,
success: Ordering,
failure: Ordering
) -> Result<i16, i16>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<u8> for AtomicU8
[src]
fn new(val: u8) -> Self
[src]
fn store(&self, val: u8, order: Ordering)
[src]
fn load(&self, order: Ordering) -> u8
[src]
fn swap(&self, val: u8, order: Ordering) -> u8
[src]
fn get_mut(&mut self) -> &mut u8
[src]
fn into_inner(self) -> u8
[src]
fn compare_and_swap(&self, current: u8, new: u8, order: Ordering) -> u8
[src]
fn compare_exchange(
&self,
current: u8,
new: u8,
success: Ordering,
failure: Ordering
) -> Result<u8, u8>
[src]
&self,
current: u8,
new: u8,
success: Ordering,
failure: Ordering
) -> Result<u8, u8>
fn compare_exchange_weak(
&self,
current: u8,
new: u8,
success: Ordering,
failure: Ordering
) -> Result<u8, u8>
[src]
&self,
current: u8,
new: u8,
success: Ordering,
failure: Ordering
) -> Result<u8, u8>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<i8> for AtomicI8
[src]
fn new(val: i8) -> Self
[src]
fn store(&self, val: i8, order: Ordering)
[src]
fn load(&self, order: Ordering) -> i8
[src]
fn swap(&self, val: i8, order: Ordering) -> i8
[src]
fn get_mut(&mut self) -> &mut i8
[src]
fn into_inner(self) -> i8
[src]
fn compare_and_swap(&self, current: i8, new: i8, order: Ordering) -> i8
[src]
fn compare_exchange(
&self,
current: i8,
new: i8,
success: Ordering,
failure: Ordering
) -> Result<i8, i8>
[src]
&self,
current: i8,
new: i8,
success: Ordering,
failure: Ordering
) -> Result<i8, i8>
fn compare_exchange_weak(
&self,
current: i8,
new: i8,
success: Ordering,
failure: Ordering
) -> Result<i8, i8>
[src]
&self,
current: i8,
new: i8,
success: Ordering,
failure: Ordering
) -> Result<i8, i8>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl Atomic<bool> for AtomicBool
[src]
fn new(val: bool) -> Self
[src]
fn store(&self, val: bool, order: Ordering)
[src]
fn load(&self, order: Ordering) -> bool
[src]
fn swap(&self, val: bool, order: Ordering) -> bool
[src]
fn get_mut(&mut self) -> &mut bool
[src]
fn into_inner(self) -> bool
[src]
fn compare_and_swap(&self, current: bool, new: bool, order: Ordering) -> bool
[src]
fn compare_exchange(
&self,
current: bool,
new: bool,
success: Ordering,
failure: Ordering
) -> Result<bool, bool>
[src]
&self,
current: bool,
new: bool,
success: Ordering,
failure: Ordering
) -> Result<bool, bool>
fn compare_exchange_weak(
&self,
current: bool,
new: bool,
success: Ordering,
failure: Ordering
) -> Result<bool, bool>
[src]
&self,
current: bool,
new: bool,
success: Ordering,
failure: Ordering
) -> Result<bool, bool>
unsafe fn from_raw(val: &T) -> &Self
[src]
impl<T> Atomic<*mut T> for AtomicPtr<T>
[src]
fn new(val: *mut T) -> Self
[src]
fn store(&self, val: *mut T, order: Ordering)
[src]
fn load(&self, order: Ordering) -> *mut T
[src]
fn swap(&self, val: *mut T, order: Ordering) -> *mut T
[src]
fn get_mut(&mut self) -> &mut *mut T
[src]
fn into_inner(self) -> *mut T
[src]
fn compare_and_swap(
&self,
current: *mut T,
new: *mut T,
order: Ordering
) -> *mut T
[src]
&self,
current: *mut T,
new: *mut T,
order: Ordering
) -> *mut T
fn compare_exchange(
&self,
current: *mut T,
new: *mut T,
success: Ordering,
failure: Ordering
) -> Result<*mut T, *mut T>
[src]
&self,
current: *mut T,
new: *mut T,
success: Ordering,
failure: Ordering
) -> Result<*mut T, *mut T>
fn compare_exchange_weak(
&self,
current: *mut T,
new: *mut T,
success: Ordering,
failure: Ordering
) -> Result<*mut T, *mut T>
[src]
&self,
current: *mut T,
new: *mut T,
success: Ordering,
failure: Ordering
) -> Result<*mut T, *mut T>