AtomicVal

Trait AtomicVal 

Source
pub trait AtomicVal: Debug + Default {
    type Ticket: Countable;

    // Required methods
    fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket;
    fn load(&self, order: Ordering) -> Self::Ticket;
    fn store(&self, value: Self::Ticket, order: Ordering);
    fn new(value: Self::Ticket) -> Self;
}

Required Associated Types§

Required Methods§

Source

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source

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

Source

fn store(&self, value: Self::Ticket, order: Ordering)

Source

fn new(value: Self::Ticket) -> Self

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 AtomicVal for AtomicI8

Source§

type Ticket = i8

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Source§

impl AtomicVal for AtomicI16

Source§

type Ticket = i16

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Source§

impl AtomicVal for AtomicI32

Source§

type Ticket = i32

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Source§

impl AtomicVal for AtomicI64

Source§

type Ticket = i64

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Source§

impl AtomicVal for AtomicU8

Source§

type Ticket = u8

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Source§

impl AtomicVal for AtomicU16

Source§

type Ticket = u16

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Source§

impl AtomicVal for AtomicU32

Source§

type Ticket = u32

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Source§

impl AtomicVal for AtomicU64

Source§

type Ticket = u64

Source§

fn fetch_add(&self, value: Self::Ticket, order: Ordering) -> Self::Ticket

Source§

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

Source§

fn store(&self, value: Self::Ticket, order: Ordering)

Source§

fn new(value: Self::Ticket) -> Self

Implementors§