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§
Required Methods§
sourcefn fetch_add(&self, val: Self::Type, order: Ordering) -> Self::Type
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);