# [−][src]Module typenum::operator_aliases

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`
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`
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`
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`
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`

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)