Trait AtomicBitwise

Source
pub trait AtomicBitwise<T>: Atomic<T> {
    // Required methods
    fn fetch_and(&self, val: T, order: Ordering) -> T;
    fn fetch_or(&self, val: T, order: Ordering) -> T;
    fn fetch_xor(&self, val: T, order: Ordering) -> T;
    fn fetch_nand(&self, val: T, order: Ordering) -> T;
}
Expand description

Trait describing structs that implement atomic bitwise operations.

Makes generic containers a little easier.

Required Methods§

Source

fn fetch_and(&self, val: T, order: Ordering) -> T

Source

fn fetch_or(&self, val: T, order: Ordering) -> T

Source

fn fetch_xor(&self, val: T, order: Ordering) -> T

Source

fn fetch_nand(&self, val: T, order: Ordering) -> T

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl AtomicBitwise<bool> for AtomicBool

Source§

fn fetch_and(&self, val: bool, order: Ordering) -> bool

Source§

fn fetch_or(&self, val: bool, order: Ordering) -> bool

Source§

fn fetch_xor(&self, val: bool, order: Ordering) -> bool

Source§

fn fetch_nand(&self, val: bool, order: Ordering) -> bool

Source§

impl AtomicBitwise<i8> for AtomicI8

Source§

fn fetch_and(&self, val: i8, order: Ordering) -> i8

Source§

fn fetch_or(&self, val: i8, order: Ordering) -> i8

Source§

fn fetch_xor(&self, val: i8, order: Ordering) -> i8

Source§

fn fetch_nand(&self, val: i8, order: Ordering) -> i8

Source§

impl AtomicBitwise<i16> for AtomicI16

Source§

fn fetch_and(&self, val: i16, order: Ordering) -> i16

Source§

fn fetch_or(&self, val: i16, order: Ordering) -> i16

Source§

fn fetch_xor(&self, val: i16, order: Ordering) -> i16

Source§

fn fetch_nand(&self, val: i16, order: Ordering) -> i16

Source§

impl AtomicBitwise<i32> for AtomicI32

Source§

fn fetch_and(&self, val: i32, order: Ordering) -> i32

Source§

fn fetch_or(&self, val: i32, order: Ordering) -> i32

Source§

fn fetch_xor(&self, val: i32, order: Ordering) -> i32

Source§

fn fetch_nand(&self, val: i32, order: Ordering) -> i32

Source§

impl AtomicBitwise<i64> for AtomicI64

Source§

fn fetch_and(&self, val: i64, order: Ordering) -> i64

Source§

fn fetch_or(&self, val: i64, order: Ordering) -> i64

Source§

fn fetch_xor(&self, val: i64, order: Ordering) -> i64

Source§

fn fetch_nand(&self, val: i64, order: Ordering) -> i64

Source§

impl AtomicBitwise<isize> for AtomicIsize

Source§

fn fetch_and(&self, val: isize, order: Ordering) -> isize

Source§

fn fetch_or(&self, val: isize, order: Ordering) -> isize

Source§

fn fetch_xor(&self, val: isize, order: Ordering) -> isize

Source§

fn fetch_nand(&self, val: isize, order: Ordering) -> isize

Source§

impl AtomicBitwise<u8> for AtomicU8

Source§

fn fetch_and(&self, val: u8, order: Ordering) -> u8

Source§

fn fetch_or(&self, val: u8, order: Ordering) -> u8

Source§

fn fetch_xor(&self, val: u8, order: Ordering) -> u8

Source§

fn fetch_nand(&self, val: u8, order: Ordering) -> u8

Source§

impl AtomicBitwise<u16> for AtomicU16

Source§

fn fetch_and(&self, val: u16, order: Ordering) -> u16

Source§

fn fetch_or(&self, val: u16, order: Ordering) -> u16

Source§

fn fetch_xor(&self, val: u16, order: Ordering) -> u16

Source§

fn fetch_nand(&self, val: u16, order: Ordering) -> u16

Source§

impl AtomicBitwise<u32> for AtomicU32

Source§

fn fetch_and(&self, val: u32, order: Ordering) -> u32

Source§

fn fetch_or(&self, val: u32, order: Ordering) -> u32

Source§

fn fetch_xor(&self, val: u32, order: Ordering) -> u32

Source§

fn fetch_nand(&self, val: u32, order: Ordering) -> u32

Source§

impl AtomicBitwise<u64> for AtomicU64

Source§

fn fetch_and(&self, val: u64, order: Ordering) -> u64

Source§

fn fetch_or(&self, val: u64, order: Ordering) -> u64

Source§

fn fetch_xor(&self, val: u64, order: Ordering) -> u64

Source§

fn fetch_nand(&self, val: u64, order: Ordering) -> u64

Source§

impl AtomicBitwise<usize> for AtomicUsize

Source§

fn fetch_and(&self, val: usize, order: Ordering) -> usize

Source§

fn fetch_or(&self, val: usize, order: Ordering) -> usize

Source§

fn fetch_xor(&self, val: usize, order: Ordering) -> usize

Source§

fn fetch_nand(&self, val: usize, order: Ordering) -> usize

Implementors§