Min

Trait Min 

Source
pub trait Min {
    type Type;

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

Minimum with the current value.

Required Associated Types§

Source

type Type

The underlying type

Required Methods§

Source

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

Minimum with the current value.

Finds the minimum of the current value and the argument val, and sets the new value to the result.

Returns the previous value.

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

let foo = AtomicU8::new(23);
assert_eq!(fetch::Min::fetch_min(&foo, 42, Ordering::Relaxed), 23);
assert_eq!(Atomic::load(&foo, Ordering::Relaxed), 23);
assert_eq!(fetch::Min::fetch_min(&foo, 22, Ordering::Relaxed), 23);
assert_eq!(Atomic::load(&foo, Ordering::Relaxed), 22);

Implementations on Foreign Types§

Source§

impl Min for AtomicI8

Source§

type Type = i8

Source§

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

Source§

impl Min for AtomicI16

Source§

type Type = i16

Source§

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

Source§

impl Min for AtomicI32

Source§

type Type = i32

Source§

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

Source§

impl Min for AtomicI64

Source§

type Type = i64

Source§

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

Source§

impl Min for AtomicIsize

Source§

type Type = isize

Source§

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

Source§

impl Min for AtomicU8

Source§

type Type = u8

Source§

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

Source§

impl Min for AtomicU16

Source§

type Type = u16

Source§

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

Source§

impl Min for AtomicU32

Source§

type Type = u32

Source§

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

Source§

impl Min for AtomicU64

Source§

type Type = u64

Source§

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

Source§

impl Min for AtomicUsize

Source§

type Type = usize

Source§

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

Implementors§