Trait std::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, b and c):
- total and antisymmetric: exactly one of a < b,a == bora > bis true; and
- transitive, a < bandb < cimpliesa < c. The same must hold for both==and>.
This trait can be used with #[derive]. When derived, it will produce a lexicographic
ordering based on the top-to-bottom declaration order of the struct's members.
Required Methods
fn cmp(&self, other: &Self) -> Ordering
This method returns an Ordering between self and other.
By convention, self.cmp(&other) returns the ordering matching the expression
self <operator> other if true.
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<A, B, C, D, E, F, G, H, I, J, K, L> Ord for (A, B, C, D, E, F, G, H, I, J, K, L) where E: Ord, I: Ord, J: Ord, G: Ord, A: Ord, L: Ord, F: Ord, K: Ord, C: Ord, H: Ord, D: Ord, B: Ord
- impl<A, B, C, D, E, F, G, H, I, J, K> Ord for (A, B, C, D, E, F, G, H, I, J, K) where I: Ord, F: Ord, B: Ord, A: Ord, E: Ord, J: Ord, C: Ord, K: Ord, G: Ord, H: Ord, D: Ord
- impl<A, B, C, D, E, F, G, H, I, J> Ord for (A, B, C, D, E, F, G, H, I, J) where G: Ord, A: Ord, J: Ord, C: Ord, H: Ord, D: Ord, F: Ord, B: Ord, E: Ord, I: Ord
- impl<A, B, C, D, E, F, G, H, I> Ord for (A, B, C, D, E, F, G, H, I) where H: Ord, G: Ord, E: Ord, F: Ord, B: Ord, D: Ord, C: Ord, A: Ord, I: Ord
- impl<A, B, C, D, E, F, G, H> Ord for (A, B, C, D, E, F, G, H) where C: Ord, B: Ord, D: Ord, E: Ord, H: Ord, G: Ord, F: Ord, A: Ord
- impl<A, B, C, D, E, F, G> Ord for (A, B, C, D, E, F, G) where G: Ord, A: Ord, B: Ord, C: Ord, F: Ord, D: Ord, E: Ord
- impl<A, B, C, D, E, F> Ord for (A, B, C, D, E, F) where F: Ord, B: Ord, D: Ord, A: Ord, E: Ord, C: Ord
- impl<A, B, C, D, E> Ord for (A, B, C, D, E) where D: Ord, B: Ord, C: Ord, E: Ord, A: Ord
- impl<A, B, C, D> Ord for (A, B, C, D) where B: Ord, D: Ord, C: Ord, A: Ord
- impl<A, B, C> Ord for (A, B, C) where A: Ord, B: Ord, C: Ord
- impl<A, B> Ord for (A, B) where A: Ord, B: Ord
- impl<A> Ord for (A,) where A: Ord
- impl Ord for str
- impl<T> Ord for [T] where T: Ord
- impl<T> Ord for [T; 32] where T: Ord
- impl<T> Ord for [T; 31] where T: Ord
- impl<T> Ord for [T; 30] where T: Ord
- impl<T> Ord for [T; 29] where T: Ord
- impl<T> Ord for [T; 28] where T: Ord
- impl<T> Ord for [T; 27] where T: Ord
- impl<T> Ord for [T; 26] where T: Ord
- impl<T> Ord for [T; 25] where T: Ord
- impl<T> Ord for [T; 24] where T: Ord
- impl<T> Ord for [T; 23] where T: Ord
- impl<T> Ord for [T; 22] where T: Ord
- impl<T> Ord for [T; 21] where T: Ord
- impl<T> Ord for [T; 20] where T: Ord
- impl<T> Ord for [T; 19] where T: Ord
- impl<T> Ord for [T; 18] where T: Ord
- impl<T> Ord for [T; 17] where T: Ord
- impl<T> Ord for [T; 16] where T: Ord
- impl<T> Ord for [T; 15] where T: Ord
- impl<T> Ord for [T; 14] where T: Ord
- impl<T> Ord for [T; 13] where T: Ord
- impl<T> Ord for [T; 12] where T: Ord
- impl<T> Ord for [T; 11] where T: Ord
- impl<T> Ord for [T; 10] where T: Ord
- impl<T> Ord for [T; 9] where T: Ord
- impl<T> Ord for [T; 8] where T: Ord
- impl<T> Ord for [T; 7] where T: Ord
- impl<T> Ord for [T; 6] where T: Ord
- impl<T> Ord for [T; 5] where T: Ord
- impl<T> Ord for [T; 4] where T: Ord
- impl<T> Ord for [T; 3] where T: Ord
- impl<T> Ord for [T; 2] where T: Ord
- impl<T> Ord for [T; 1] where T: Ord
- impl<T> Ord for [T; 0] where T: Ord
- impl Ord for i64
- impl Ord for i32
- impl Ord for i16
- impl Ord for i8
- impl Ord for isize
- impl Ord for u64
- impl Ord for u32
- impl Ord for u16
- impl Ord for u8
- impl Ord for usize
- impl Ord for char
- impl Ord for bool
- impl Ord for ()
- impl<T> Ord for *mut T where T: ?Sized
- impl<T> Ord for *const T where T: ?Sized
- impl Ord for Ordering
- impl<T> Ord for PhantomData<T> where T: ?Sized
- impl<T, E> Ord for Result<T, E> where E: Ord, T: Ord
- impl<T> Ord for Option<T> where T: Ord
- impl<T> Ord for Box<T> where T: Ord + ?Sized
- impl<T> Ord for Rc<T> where T: Ord + ?Sized
- impl<'a, B> Ord for Cow<'a, B> where B: Ord + ToOwned + ?Sized
- impl Ord for Error
- impl Ord for String
- impl<T> Ord for Vec<T> where T: Ord
- impl<T> Ord for Wrapping<T> where T: Ord
- impl<K, V> Ord for BTreeMap<K, V> where V: Ord, K: Ord
- impl<T> Ord for BTreeSet<T> where T: Ord
- impl<A> Ord for LinkedList<A> where A: Ord
- impl<A> Ord for VecDeque<A> where A: Ord
- impl Ord for CString
- impl Ord for CStr
- impl Ord for OsString
- impl Ord for OsStr
- impl Ord for IpAddr
- impl Ord for Ipv4Addr
- impl Ord for Ipv6Addr
- impl<'a> Ord for Prefix<'a>
- impl<'a> Ord for PrefixComponent<'a>
- impl<'a> Ord for Component<'a>
- impl<'a> Ord for Components<'a>
- impl Ord for PathBuf
- impl Ord for Path
- impl<T> Ord for Arc<T> where T: Ord + ?Sized
- impl Ord for Duration
- impl Ord for Instant
- impl Ord for SystemTime