typenum::operator_aliases - Rust
Description: Aliases for the type operators used in this crate. Their purpose is to increase the ergonomics of performing operations on the types defined here. For even more ergonomics, consider using the `op!` macro instead.
Keywords: rust, rustlang, rust-lang, operator_aliases

# Module typenum::operator_aliases

source ·
Expand description

Aliases for the type operators used in this crate. Their purpose is to increase the ergonomics of performing operations on the types defined here. For even more ergonomics, consider using the `op!` macro instead.

For example, type `X` and type `Y` are the same here:

    use std::ops::Mul;
    use typenum::{Prod, P5, P7};

    type X = <P7 as Mul<P5>>::Output;
    type Y = Prod<P7, P5>;

    assert_type_eq!(X, Y);

## Type Definitions

AbsVal
Alias for the associated type of `Abs`: `AbsVal<A> = <A as Abs>::Output`
Add1
Alias to make it easy to add 1: `Add1<A> = <A as Add<B1>>::Output`
And
Alias for the associated type of `BitAnd`: `And<A, B> = <A as BitAnd<B>>::Output`
Compare
Alias for the associated type of `Cmp`: `Compare<A, B> = <A as Cmp<B>>::Output`
Cube
Alias to make it easy to cube. `Cube<A> = <Square<A> as Mul<A>>::Output`
Diff
Alias for the associated type of `Sub`: `Diff<A, B> = <A as Sub<B>>::Output`
Double
Alias to make it easy to multiply by 2. `Double<A> = Shleft<A, B1>`
Eq
Alias for the associated type of `IsEqual`: `Eq<A, B> = <A as IsEqual<B>>::Output`
Exp
Alias for the associated type of `Pow`: `Exp<A, B> = <A as Pow<B>>::Output`
Gcf
Alias for the associated type of `Gcd`: `Gcf<A, B> = <A as Gcd<B>>::Output>`
Gr
Alias for the associated type of `IsGreater`: `Gr<A, B> = <A as IsGreater<B>>::Output`
GrEq
Alias for the associated type of `IsGreaterOrEqual`: `GrEq<A, B> = <A as IsGreaterOrEqual<B>>::Output`
Le
Alias for the associated type of `IsLess`: `Le<A, B> = <A as IsLess<B>>::Output`
LeEq
Alias for the associated type of `IsLessOrEqual`: `LeEq<A, B> = <A as IsLessOrEqual<B>>::Output`
Length
Alias for the associated type of `Len`: `Length<A> = <A as Len>::Output`
Log2
Alias for the associated type of `Logarithm2`: `Log2<A> = <A as Logarithm2>::Output`
Maximum
Alias for the associated type of `Max`: `Maximum<A, B> = <A as Max<B>>::Output`
Minimum
Alias for the associated type of `Min`: `Minimum<A, B> = <A as Min<B>>::Output`
Mod
Alias for the associated type of `Rem`: `Mod<A, B> = <A as Rem<B>>::Output`
Negate
Alias for the associated type of `Neg`: `Negate<A> = <A as Neg>::Output`
NotEq
Alias for the associated type of `IsNotEqual`: `NotEq<A, B> = <A as IsNotEqual<B>>::Output`
Or
Alias for the associated type of `BitOr`: `Or<A, B> = <A as BitOr<B>>::Output`
PartialQuot
Alias for the associated type of `PartialDiv`: `PartialQuot<A, B> = <A as PartialDiv<B>>::Output`
Prod
Alias for the associated type of `Mul`: `Prod<A, B> = <A as Mul<B>>::Output`
Quot
Alias for the associated type of `Div`: `Quot<A, B> = <A as Div<B>>::Output`
Shleft
Alias for the associated type of `Shl`: `Shleft<A, B> = <A as Shl<B>>::Output`
Shright
Alias for the associated type of `Shr`: `Shright<A, B> = <A as Shr<B>>::Output`
Sqrt
Alias for the associated type of `SquareRoot`: `Sqrt<A> = <A as SquareRoot>::Output`
Square
Alias to make it easy to square. `Square<A> = <A as Mul<A>>::Output`
Sub1
Alias to make it easy to subtract 1: `Sub1<A> = <A as Sub<B1>>::Output`
Sum
Alias for the associated type of `Add`: `Sum<A, B> = <A as Add<B>>::Output`
Xor
Alias for the associated type of `BitXor`: `Xor<A, B> = <A as BitXor<B>>::Output`