Trait core::cmp::Ord
[−]
[src]
pub trait Ord: Eq + PartialOrd<Self> {
fn cmp(&self, other: &Self) -> Ordering;
}Trait for types that form a total order.
An order is a total order if it is (for all a`a,`, b`band` and c`c`):
- total and antisymmetric: exactly one of
a < b`a < b,`,a == b`a == bor` ora > b`a > b` is true; and - transitive,
a < b`a < band` andb < c`b < cimplies` impliesa < c`a < c. The same must hold for both`. The same must hold for both==`==and` and>`>`.
Required Methods
fn cmp(&self, other: &Self) -> Ordering
This method returns an Ordering`Orderingbetween` between self`selfand` and other`other`.
By convention, self.cmp(&other)`self.cmp(&other)returns the ordering matching the expression` returns the ordering matching the expression
self <operator> other`self
Examples
fn main() { use std::cmp::Ordering; assert_eq!(5.cmp(&10), Ordering::Less); assert_eq!(10.cmp(&5), Ordering::Greater); assert_eq!(5.cmp(&5), Ordering::Equal); }use std::cmp::Ordering; assert_eq!(5.cmp(&10), Ordering::Less); assert_eq!(10.cmp(&5), Ordering::Greater); assert_eq!(5.cmp(&5), Ordering::Equal);
Implementors
impl<T: Ord> Ord for Wrapping<T> where T: Ordimpl<T: Ord + Zeroable> Ord for NonZero<T> where T: Ordimpl<T: ?Sized> Ord for *const Timpl<T: ?Sized> Ord for *mut Timpl Ord for NoCopyimpl<T: ?Sized> Ord for PhantomData<T>impl Ord for ()impl Ord for boolimpl Ord for charimpl Ord for usizeimpl Ord for u8impl Ord for u16impl Ord for u32impl Ord for u64impl Ord for isizeimpl Ord for i8impl Ord for i16impl Ord for i32impl Ord for i64impl<'a, A: ?Sized> Ord for &'a A where A: Ordimpl<'a, A: ?Sized> Ord for &'a mut A where A: Ordimpl Ord for Orderingimpl<T: Ord> Ord for [T; 0]impl<T: Ord> Ord for [T; 1]impl<T: Ord> Ord for [T; 2]impl<T: Ord> Ord for [T; 3]impl<T: Ord> Ord for [T; 4]impl<T: Ord> Ord for [T; 5]impl<T: Ord> Ord for [T; 6]impl<T: Ord> Ord for [T; 7]impl<T: Ord> Ord for [T; 8]impl<T: Ord> Ord for [T; 9]impl<T: Ord> Ord for [T; 10]impl<T: Ord> Ord for [T; 11]impl<T: Ord> Ord for [T; 12]impl<T: Ord> Ord for [T; 13]impl<T: Ord> Ord for [T; 14]impl<T: Ord> Ord for [T; 15]impl<T: Ord> Ord for [T; 16]impl<T: Ord> Ord for [T; 17]impl<T: Ord> Ord for [T; 18]impl<T: Ord> Ord for [T; 19]impl<T: Ord> Ord for [T; 20]impl<T: Ord> Ord for [T; 21]impl<T: Ord> Ord for [T; 22]impl<T: Ord> Ord for [T; 23]impl<T: Ord> Ord for [T; 24]impl<T: Ord> Ord for [T; 25]impl<T: Ord> Ord for [T; 26]impl<T: Ord> Ord for [T; 27]impl<T: Ord> Ord for [T; 28]impl<T: Ord> Ord for [T; 29]impl<T: Ord> Ord for [T; 30]impl<T: Ord> Ord for [T; 31]impl<T: Ord> Ord for [T; 32]impl<T: Ord> Ord for Option<T> where T: Ordimpl<T: Ord, E: Ord> Ord for Result<T, E> where T: Ord, E: Ordimpl<T: Ord> Ord for [T]impl Ord for strimpl<A: Ord> Ord for (A,)impl<A: Ord, B: Ord> Ord for (A, B)impl<A: Ord, B: Ord, C: Ord> Ord for (A, B, C)impl<A: Ord, B: Ord, C: Ord, D: Ord> Ord for (A, B, C, D)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord> Ord for (A, B, C, D, E)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord> Ord for (A, B, C, D, E, F)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord> Ord for (A, B, C, D, E, F, G)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord> Ord for (A, B, C, D, E, F, G, H)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord> Ord for (A, B, C, D, E, F, G, H, I)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord, J: Ord> Ord for (A, B, C, D, E, F, G, H, I, J)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord, J: Ord, K: Ord> Ord for (A, B, C, D, E, F, G, H, I, J, K)impl<A: Ord, B: Ord, C: Ord, D: Ord, E: Ord, F: Ord, G: Ord, H: Ord, I: Ord, J: Ord, K: Ord, L: Ord> Ord for (A, B, C, D, E, F, G, H, I, J, K, L)