Skip to main content

Max

Trait Max 

Source
pub trait Max {
    type Type;

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

Maximum with the current value.

Required Associated Types§

Source

type Type

The underlying type

Required Methods§

Source

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

Maximum with the current value.

Finds the maximum 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::Max::fetch_max(&foo, 42, Ordering::SeqCst), 23);
assert_eq!(Atomic::load(&foo, Ordering::SeqCst), 42);

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Max for Atomic<i8>

Source§

type Type = i8

Source§

fn fetch_max( &self, val: <Atomic<i8> as Max>::Type, order: Ordering, ) -> <Atomic<i8> as Max>::Type

Source§

impl Max for Atomic<i16>

Source§

type Type = i16

Source§

fn fetch_max( &self, val: <Atomic<i16> as Max>::Type, order: Ordering, ) -> <Atomic<i16> as Max>::Type

Source§

impl Max for Atomic<i32>

Source§

type Type = i32

Source§

fn fetch_max( &self, val: <Atomic<i32> as Max>::Type, order: Ordering, ) -> <Atomic<i32> as Max>::Type

Source§

impl Max for Atomic<i64>

Source§

type Type = i64

Source§

fn fetch_max( &self, val: <Atomic<i64> as Max>::Type, order: Ordering, ) -> <Atomic<i64> as Max>::Type

Source§

impl Max for Atomic<isize>

Source§

type Type = isize

Source§

fn fetch_max( &self, val: <Atomic<isize> as Max>::Type, order: Ordering, ) -> <Atomic<isize> as Max>::Type

Source§

impl Max for Atomic<u8>

Source§

type Type = u8

Source§

fn fetch_max( &self, val: <Atomic<u8> as Max>::Type, order: Ordering, ) -> <Atomic<u8> as Max>::Type

Source§

impl Max for Atomic<u16>

Source§

type Type = u16

Source§

fn fetch_max( &self, val: <Atomic<u16> as Max>::Type, order: Ordering, ) -> <Atomic<u16> as Max>::Type

Source§

impl Max for Atomic<u32>

Source§

type Type = u32

Source§

fn fetch_max( &self, val: <Atomic<u32> as Max>::Type, order: Ordering, ) -> <Atomic<u32> as Max>::Type

Source§

impl Max for Atomic<u64>

Source§

type Type = u64

Source§

fn fetch_max( &self, val: <Atomic<u64> as Max>::Type, order: Ordering, ) -> <Atomic<u64> as Max>::Type

Source§

impl Max for Atomic<usize>

Source§

type Type = usize

Source§

fn fetch_max( &self, val: <Atomic<usize> as Max>::Type, order: Ordering, ) -> <Atomic<usize> as Max>::Type

Implementors§

Source§

impl<T> Max for AtomicNumber<T>
where T: PrimitiveAtomicInteger + FromPrimitive,

Source§

type Type = T