Trait atomic_traits::fetch::Add

source ·
pub trait Add {
    type Type;

    // Required method
    fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type;
}
Expand description

Adds to the current value, returning the previous value.

Required Associated Types§

source

type Type

The underlying type

Required Methods§

source

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

Adds to the current value, returning the previous value.

This operation wraps around on overflow.

§Examples
use std::sync::atomic::{AtomicU8, Ordering};
use atomic_traits::{Atomic, fetch};

let foo = AtomicU8::new(0);
assert_eq!(fetch::Add::fetch_add(&foo, 10, Ordering::SeqCst), 0);
assert_eq!(Atomic::load(&foo, Ordering::SeqCst), 10);

Implementations on Foreign Types§

source§

impl Add for AtomicI8

§

type Type = i8

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicI16

§

type Type = i16

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicI32

§

type Type = i32

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicI64

§

type Type = i64

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicIsize

§

type Type = isize

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicU8

§

type Type = u8

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicU16

§

type Type = u16

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicU32

§

type Type = u32

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicU64

§

type Type = u64

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

source§

impl Add for AtomicUsize

§

type Type = usize

source§

fn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type

Implementors§