Struct typenum::int::Z0[][src]

pub struct Z0;

The type-level signed integer 0.

Implementations

impl Z0[src]

pub fn new() -> Z0[src]

Instantiates a singleton representing the integer 0.

Trait Implementations

impl Abs for Z0[src]

type Output = Z0

The absolute value.

impl<I: Integer> Add<I> for Z0[src]

Z0 + I = I

type Output = I

The resulting type after applying the + operator.

impl<U: Unsigned + NonZero> Add<Z0> for PInt<U>[src]

PInt + Z0 = PInt

type Output = PInt<U>

The resulting type after applying the + operator.

impl<U: Unsigned + NonZero> Add<Z0> for NInt<U>[src]

NInt + Z0 = NInt

type Output = NInt<U>

The resulting type after applying the + operator.

impl Clone for Z0[src]

impl<U: Unsigned + NonZero> Cmp<NInt<U>> for Z0[src]

0 > -X

type Output = Greater

The result of the comparison. It should only ever be one of Greater, Less, or Equal.

impl<U: Unsigned + NonZero> Cmp<PInt<U>> for Z0[src]

0 < X

type Output = Less

The result of the comparison. It should only ever be one of Greater, Less, or Equal.

impl Cmp<Z0> for Z0[src]

0 == 0

type Output = Equal

The result of the comparison. It should only ever be one of Greater, Less, or Equal.

impl<U: Unsigned + NonZero> Cmp<Z0> for PInt<U>[src]

X > 0

type Output = Greater

The result of the comparison. It should only ever be one of Greater, Less, or Equal.

impl<U: Unsigned + NonZero> Cmp<Z0> for NInt<U>[src]

-X < 0

type Output = Less

The result of the comparison. It should only ever be one of Greater, Less, or Equal.

impl Copy for Z0[src]

impl Debug for Z0[src]

impl Default for Z0[src]

impl<I: Integer + NonZero> Div<I> for Z0[src]

Z0 / I = Z0 where I != 0

type Output = Z0

The resulting type after applying the / operator.

impl Eq for Z0[src]

impl<U> Gcd<NInt<U>> for Z0 where
    U: Unsigned + NonZero
[src]

type Output = PInt<U>

The greatest common divisor.

impl<U> Gcd<PInt<U>> for Z0 where
    U: Unsigned + NonZero
[src]

type Output = PInt<U>

The greatest common divisor.

impl Gcd<Z0> for Z0[src]

type Output = Z0

The greatest common divisor.

impl<U> Gcd<Z0> for PInt<U> where
    U: Unsigned + NonZero
[src]

type Output = PInt<U>

The greatest common divisor.

impl<U> Gcd<Z0> for NInt<U> where
    U: Unsigned + NonZero
[src]

type Output = PInt<U>

The greatest common divisor.

impl Hash for Z0[src]

impl Integer for Z0[src]

impl<U> Max<NInt<U>> for Z0 where
    U: Unsigned + NonZero
[src]

type Output = Z0

The type of the maximum of Self and Rhs

impl<U> Max<PInt<U>> for Z0 where
    U: Unsigned + NonZero
[src]

type Output = PInt<U>

The type of the maximum of Self and Rhs

impl Max<Z0> for Z0[src]

type Output = Z0

The type of the maximum of Self and Rhs

impl<U> Max<Z0> for PInt<U> where
    U: Unsigned + NonZero
[src]

type Output = PInt<U>

The type of the maximum of Self and Rhs

impl<U> Max<Z0> for NInt<U> where
    U: Unsigned + NonZero
[src]

type Output = Z0

The type of the maximum of Self and Rhs

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

type Output = NInt<U>

The type of the minimum of Self and Rhs

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

type Output = Z0

The type of the minimum of Self and Rhs

impl Min<Z0> for Z0[src]

type Output = Z0

The type of the minimum of Self and Rhs

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

type Output = Z0

The type of the minimum of Self and Rhs

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

type Output = NInt<U>

The type of the minimum of Self and Rhs

impl Mul<ATerm> for Z0[src]

type Output = ATerm

The resulting type after applying the * operator.

impl<I: Integer> Mul<I> for Z0[src]

Z0 * I = Z0

type Output = Z0

The resulting type after applying the * operator.

impl<V, A> Mul<TArr<V, A>> for Z0 where
    Z0: Mul<A>, 
[src]

type Output = TArr<Z0, Prod<Z0, A>>

The resulting type after applying the * operator.

impl<U: Unsigned + NonZero> Mul<Z0> for PInt<U>[src]

P * Z0 = Z0

type Output = Z0

The resulting type after applying the * operator.

impl<U: Unsigned + NonZero> Mul<Z0> for NInt<U>[src]

N * Z0 = Z0

type Output = Z0

The resulting type after applying the * operator.

impl Neg for Z0[src]

-Z0 = Z0

type Output = Z0

The resulting type after applying the - operator.

impl Ord for Z0[src]

impl PartialEq<Z0> for Z0[src]

impl PartialOrd<Z0> for Z0[src]

impl<U: Unsigned + NonZero> Pow<NInt<U>> for Z0[src]

0^N = 0

type Output = Z0

The result of the exponentiation.

impl<U: Unsigned + NonZero> Pow<PInt<U>> for Z0[src]

0^P = 0

type Output = Z0

The result of the exponentiation.

impl Pow<Z0> for Z0[src]

0^0 = 1

type Output = P1

The result of the exponentiation.

impl<U: Unsigned + NonZero> Pow<Z0> for PInt<U>[src]

P^0 = 1

type Output = P1

The result of the exponentiation.

impl Pow<Z0> for i8[src]

type Output = i8

The result of the exponentiation.

impl Pow<Z0> for i16[src]

type Output = i16

The result of the exponentiation.

impl Pow<Z0> for i32[src]

type Output = i32

The result of the exponentiation.

impl Pow<Z0> for i64[src]

type Output = i64

The result of the exponentiation.

impl Pow<Z0> for isize[src]

type Output = isize

The result of the exponentiation.

impl<U: Unsigned + NonZero> Pow<Z0> for NInt<U>[src]

N^0 = 1

type Output = P1

The result of the exponentiation.

impl Pow<Z0> for f32[src]

type Output = f32

The result of the exponentiation.

impl Pow<Z0> for f64[src]

type Output = f64

The result of the exponentiation.

impl Pow<Z0> for u8[src]

type Output = u8

The result of the exponentiation.

impl Pow<Z0> for u16[src]

type Output = u16

The result of the exponentiation.

impl Pow<Z0> for u32[src]

type Output = u32

The result of the exponentiation.

impl Pow<Z0> for u64[src]

type Output = u64

The result of the exponentiation.

impl Pow<Z0> for usize[src]

type Output = usize

The result of the exponentiation.

impl<I: Integer + NonZero> Rem<I> for Z0[src]

Z0 % I = Z0 where I != 0

type Output = Z0

The resulting type after applying the % operator.

impl StructuralEq for Z0[src]

impl StructuralPartialEq for Z0[src]

impl<U: Unsigned + NonZero> Sub<NInt<U>> for Z0[src]

Z0 - N = P

type Output = PInt<U>

The resulting type after applying the - operator.

impl<U: Unsigned + NonZero> Sub<PInt<U>> for Z0[src]

Z0 - P = N

type Output = NInt<U>

The resulting type after applying the - operator.

impl Sub<Z0> for Z0[src]

Z0 - Z0 = Z0

type Output = Z0

The resulting type after applying the - operator.

impl<U: Unsigned + NonZero> Sub<Z0> for PInt<U>[src]

PInt - Z0 = PInt

type Output = PInt<U>

The resulting type after applying the - operator.

impl<U: Unsigned + NonZero> Sub<Z0> for NInt<U>[src]

NInt - Z0 = NInt

type Output = NInt<U>

The resulting type after applying the - operator.

impl ToInt<i16> for Z0[src]

impl ToInt<i32> for Z0[src]

impl ToInt<i64> for Z0[src]

impl ToInt<i8> for Z0[src]

impl Zero for Z0[src]

Auto Trait Implementations

impl Send for Z0[src]

impl Sync for Z0[src]

impl Unpin for Z0[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<M, N> PartialDiv<N> for M where
    M: Integer + Div<N> + Rem<N, Output = Z0>, 
[src]

type Output = <M as Div<N>>::Output

The type of the result of the division

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.