Trait IntCmp

Source
pub trait IntCmp<B: Int, C: Int, D: Int, E: Int>: Int {
    type Output: Int;
}
Expand description

Integer comparison. Takes five integers - the first two are to be compared. If the result is that the first integer is greater than the second, the fifth integer is returned; if the result is that the two integers are equal, the fourth integer is returned; and if the result is that the first integer is less than the second, the third integer is returned.

Required Associated Types§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<L: Int, E: Int, G: Int> IntCmp<Term, L, E, G> for Term

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Minus<N>, L, E, G> for Minus<M>
where M: IntCmp<N, L, E, G> + Int,

Source§

type Output = <M as IntCmp<N, L, E, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Minus<N>, L, E, G> for Plus<M>
where M: IntCmp<N, L, G, G> + Int,

Source§

type Output = <M as IntCmp<N, L, G, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Minus<N>, L, E, G> for Zero<M>
where M: IntCmp<N, L, G, G> + Int,

Source§

type Output = <M as IntCmp<N, L, G, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Plus<N>, L, E, G> for Minus<M>
where M: IntCmp<N, L, L, G> + Int,

Source§

type Output = <M as IntCmp<N, L, L, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Plus<N>, L, E, G> for Plus<M>
where M: IntCmp<N, L, E, G> + Int,

Source§

type Output = <M as IntCmp<N, L, E, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Plus<N>, L, E, G> for Zero<M>
where M: IntCmp<N, L, L, G> + Int,

Source§

type Output = <M as IntCmp<N, L, L, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Zero<N>, L, E, G> for Minus<M>
where M: IntCmp<N, L, L, G> + Int,

Source§

type Output = <M as IntCmp<N, L, L, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Zero<N>, L, E, G> for Plus<M>
where M: IntCmp<N, L, G, G> + Int,

Source§

type Output = <M as IntCmp<N, L, G, G>>::Output

Source§

impl<M, N: Int, L: Int, E: Int, G: Int> IntCmp<Zero<N>, L, E, G> for Zero<M>
where M: IntCmp<N, L, E, G> + Int,

Source§

type Output = <M as IntCmp<N, L, E, G>>::Output

Source§

impl<N, L: Int, E: Int, G: Int> IntCmp<Term, L, E, G> for Minus<N>
where N: IntCmp<Term, L, L, G> + Int,

Source§

type Output = <N as IntCmp<Term, L, L, G>>::Output

Source§

impl<N, L: Int, E: Int, G: Int> IntCmp<Term, L, E, G> for Plus<N>
where N: IntCmp<Term, L, G, G> + Int,

Source§

type Output = <N as IntCmp<Term, L, G, G>>::Output

Source§

impl<N, L: Int, E: Int, G: Int> IntCmp<Term, L, E, G> for Zero<N>
where N: IntCmp<Term, L, E, G> + Int,

Source§

type Output = <N as IntCmp<Term, L, E, G>>::Output

Source§

impl<N: Int, L: Int, E: Int, G: Int> IntCmp<Minus<N>, L, E, G> for Term
where Term: IntCmp<N, L, G, G>,

Source§

type Output = <Term as IntCmp<N, L, G, G>>::Output

Source§

impl<N: Int, L: Int, E: Int, G: Int> IntCmp<Plus<N>, L, E, G> for Term
where Term: IntCmp<N, L, L, G>,

Source§

type Output = <Term as IntCmp<N, L, L, G>>::Output

Source§

impl<N: Int, L: Int, E: Int, G: Int> IntCmp<Zero<N>, L, E, G> for Term
where Term: IntCmp<N, L, E, G>,

Source§

type Output = <Term as IntCmp<N, L, E, G>>::Output