pub trait Cmp<Rhs = Self> {
type Output;
// Required method
#[doc(hidden)] fn compare<IM: InternalMarker>(
&self,
_: &Rhs,
) -> Self::Output;
}Expand description
A type operator for comparing Self and Rhs. It provides a similar functionality to
the function
core::cmp::Ord::cmp
but for types.
§Example
use typenum::{Cmp, Ord, N3, P2, P5};
use std::cmp::Ordering;
assert_eq!(<P2 as Cmp<N3>>::Output::to_ordering(), Ordering::Greater);
assert_eq!(<P2 as Cmp<P2>>::Output::to_ordering(), Ordering::Equal);
assert_eq!(<P2 as Cmp<P5>>::Output::to_ordering(), Ordering::Less);Required Associated Types§
Required Methods§
#[doc(hidden)] fn compare<IM: InternalMarker>(&self, _: &Rhs) -> Self::Output
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<Nl: Unsigned + NonZero, Nr: Cmp<Nl> + Unsigned + NonZero> Cmp<NInt<Nr>> for NInt<Nl>
-X <==> -Y
impl<Nl: Unsigned + NonZero, Nr: Cmp<Nl> + Unsigned + NonZero> Cmp<NInt<Nr>> for NInt<Nl>
-X <==> -Y
Source§impl<Pl: Cmp<Pr> + Unsigned + NonZero, Pr: Unsigned + NonZero> Cmp<PInt<Pr>> for PInt<Pl>
X <==> Y
impl<Pl: Cmp<Pr> + Unsigned + NonZero, Pr: Unsigned + NonZero> Cmp<PInt<Pr>> for PInt<Pl>
X <==> Y
Source§impl<Ul, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B0>
UInt<Ul, B0> cmp with UInt<Ur, B0>: SoFar is Equal
impl<Ul, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B0>
UInt<Ul, B0> cmp with UInt<Ur, B0>: SoFar is Equal
Source§impl<Ul, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> cmp with UInt<Ur, B0>: SoFar is Greater
impl<Ul, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> cmp with UInt<Ur, B0>: SoFar is Greater