Trait libipld::cid::multihash::typenum::type_operators::Min[]

pub trait Min<Rhs = Self> {
    type Output;
    fn min(self, rhs: Rhs) -> Self::Output;
}
Expand description

A type operator that returns the minimum of Self and Rhs.

Associated Types

type Output

The type of the minimum of Self and Rhs

Required methods

fn min(self, rhs: Rhs) -> Self::Output

Method returning the minimum

Implementors

impl Min<B0> for B0

type Output = B0

pub fn min(self, B0) -> B0

impl Min<B0> for B1

type Output = B0

pub fn min(self, rhs: B0) -> B0

impl Min<B1> for B0

type Output = B0

pub fn min(self, B1) -> B0

impl Min<B1> for B1

type Output = B1

pub fn min(self, B1) -> B1

impl Min<Z0> for Z0

type Output = Z0

pub fn min(self, Z0) -> <Z0 as Min<Z0>>::Output

impl<U> Min<NInt<U>> for Z0 where
    U: Unsigned + NonZero

type Output = NInt<U>

pub fn min(self, rhs: NInt<U>) -> <Z0 as Min<NInt<U>>>::Output

impl<U> Min<PInt<U>> for Z0 where
    U: Unsigned + NonZero

type Output = Z0

pub fn min(self, PInt<U>) -> <Z0 as Min<PInt<U>>>::Output

impl<U> Min<Z0> for NInt<U> where
    U: Unsigned + NonZero

type Output = NInt<U>

pub fn min(self, Z0) -> <NInt<U> as Min<Z0>>::Output

impl<U> Min<Z0> for PInt<U> where
    U: Unsigned + NonZero

type Output = Z0

pub fn min(self, rhs: Z0) -> <PInt<U> as Min<Z0>>::Output

impl<U> Min<U> for UTerm where
    U: Unsigned

type Output = UTerm

pub fn min(self, U) -> <UTerm as Min<U>>::Output

impl<U, B, Ur> Min<Ur> for UInt<U, B> where
    U: Unsigned,
    B: Bit,
    Ur: Unsigned,
    UInt<U, B>: Cmp<Ur>,
    UInt<U, B>: PrivateMin<Ur, <UInt<U, B> as Cmp<Ur>>::Output>, 

type Output = <UInt<U, B> as PrivateMin<Ur, <UInt<U, B> as Cmp<Ur>>::Output>>::Output

pub fn min(self, rhs: Ur) -> <UInt<U, B> as Min<Ur>>::Output

impl<Ul, Ur> Min<NInt<Ur>> for NInt<Ul> where
    Ul: Unsigned + NonZero + Max<Ur>,
    Ur: Unsigned + NonZero,
    <Ul as Max<Ur>>::Output: Unsigned,
    <Ul as Max<Ur>>::Output: NonZero

type Output = NInt<<Ul as Max<Ur>>::Output>

pub fn min(self, rhs: NInt<Ur>) -> <NInt<Ul> as Min<NInt<Ur>>>::Output

impl<Ul, Ur> Min<NInt<Ur>> for PInt<Ul> where
    Ul: Unsigned + NonZero,
    Ur: Unsigned + NonZero

type Output = NInt<Ur>

pub fn min(self, rhs: NInt<Ur>) -> <PInt<Ul> as Min<NInt<Ur>>>::Output

impl<Ul, Ur> Min<PInt<Ur>> for NInt<Ul> where
    Ul: Unsigned + NonZero,
    Ur: Unsigned + NonZero

type Output = NInt<Ul>

pub fn min(self, PInt<Ur>) -> <NInt<Ul> as Min<PInt<Ur>>>::Output

impl<Ul, Ur> Min<PInt<Ur>> for PInt<Ul> where
    Ul: Unsigned + NonZero + Min<Ur>,
    Ur: Unsigned + NonZero,
    <Ul as Min<Ur>>::Output: Unsigned,
    <Ul as Min<Ur>>::Output: NonZero

type Output = PInt<<Ul as Min<Ur>>::Output>

pub fn min(self, rhs: PInt<Ur>) -> <PInt<Ul> as Min<PInt<Ur>>>::Output