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>.
When this trait is derived, it produces a lexicographic ordering.
This trait can be used with #[derive].
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<T> Ord for Wrapping<T> where T: Ordimpl Ord for Big32x40impl Ord for Big8x3impl<T> Ord for NonZero<T> where T: Zeroable + Ordimpl<Ret> Ord for fn() -> Retimpl<Ret> Ord for extern "C" fn() -> Retimpl<Ret> Ord for unsafe fn() -> Retimpl<Ret> Ord for unsafe extern "C" fn() -> Retimpl<Ret, A> Ord for fn(A) -> Retimpl<Ret, A> Ord for extern "C" fn(A) -> Retimpl<Ret, A> Ord for unsafe fn(A) -> Retimpl<Ret, A> Ord for unsafe extern "C" fn(A) -> Retimpl<Ret, A, B> Ord for fn(A, B) -> Retimpl<Ret, A, B> Ord for extern "C" fn(A, B) -> Retimpl<Ret, A, B> Ord for unsafe fn(A, B) -> Retimpl<Ret, A, B> Ord for unsafe extern "C" fn(A, B) -> Retimpl<Ret, A, B, C> Ord for fn(A, B, C) -> Retimpl<Ret, A, B, C> Ord for extern "C" fn(A, B, C) -> Retimpl<Ret, A, B, C> Ord for unsafe fn(A, B, C) -> Retimpl<Ret, A, B, C> Ord for unsafe extern "C" fn(A, B, C) -> Retimpl<Ret, A, B, C, D> Ord for fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Ord for extern "C" fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Ord for unsafe fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Ord for unsafe extern "C" fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D, E> Ord for fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Ord for extern "C" fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Ord for unsafe fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Ord for unsafe extern "C" fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E, F> Ord for fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Ord for extern "C" fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Ord for unsafe fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Ord for unsafe extern "C" fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F, G> Ord for fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Ord for extern "C" fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Ord for unsafe fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Ord for fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Ord for extern "C" fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Ord for unsafe fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Ord for fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Ord for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Ord for unsafe fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Ord for fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Ord for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Ord for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Ord for fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Ord for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Ord for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Ord for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Ord for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Ord for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<T> Ord for *const T where T: ?Sizedimpl<T> Ord for *mut T where T: ?Sizedimpl<T> Ord for PhantomData<T> where T: ?Sizedimpl Ord for Orderingimpl 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> Ord for &'a A where A: Ord + ?Sizedimpl<'a, A> Ord for &'a mut A where A: Ord + ?Sizedimpl<T> Ord for [T; 0] where T: Ordimpl<T> Ord for [T; 1] where T: Ordimpl<T> Ord for [T; 2] where T: Ordimpl<T> Ord for [T; 3] where T: Ordimpl<T> Ord for [T; 4] where T: Ordimpl<T> Ord for [T; 5] where T: Ordimpl<T> Ord for [T; 6] where T: Ordimpl<T> Ord for [T; 7] where T: Ordimpl<T> Ord for [T; 8] where T: Ordimpl<T> Ord for [T; 9] where T: Ordimpl<T> Ord for [T; 10] where T: Ordimpl<T> Ord for [T; 11] where T: Ordimpl<T> Ord for [T; 12] where T: Ordimpl<T> Ord for [T; 13] where T: Ordimpl<T> Ord for [T; 14] where T: Ordimpl<T> Ord for [T; 15] where T: Ordimpl<T> Ord for [T; 16] where T: Ordimpl<T> Ord for [T; 17] where T: Ordimpl<T> Ord for [T; 18] where T: Ordimpl<T> Ord for [T; 19] where T: Ordimpl<T> Ord for [T; 20] where T: Ordimpl<T> Ord for [T; 21] where T: Ordimpl<T> Ord for [T; 22] where T: Ordimpl<T> Ord for [T; 23] where T: Ordimpl<T> Ord for [T; 24] where T: Ordimpl<T> Ord for [T; 25] where T: Ordimpl<T> Ord for [T; 26] where T: Ordimpl<T> Ord for [T; 27] where T: Ordimpl<T> Ord for [T; 28] where T: Ordimpl<T> Ord for [T; 29] where T: Ordimpl<T> Ord for [T; 30] where T: Ordimpl<T> Ord for [T; 31] where T: Ordimpl<T> Ord for [T; 32] where T: Ordimpl<T> Ord for Option<T> where T: Ordimpl<T, E> Ord for Result<T, E> where E: Ord, T: Ordimpl<T> Ord for [T] where T: Ordimpl Ord for strimpl<A> Ord for (A,) where A: Ordimpl<A, B> Ord for (A, B) where B: Ord, A: Ordimpl<A, B, C> Ord for (A, B, C) where C: Ord, A: Ord, B: Ordimpl<A, B, C, D> Ord for (A, B, C, D) where A: Ord, C: Ord, B: Ord, D: Ordimpl<A, B, C, D, E> Ord for (A, B, C, D, E) where B: Ord, D: Ord, A: Ord, E: Ord, C: Ordimpl<A, B, C, D, E, F> Ord for (A, B, C, D, E, F) where C: Ord, A: Ord, E: Ord, B: Ord, D: Ord, F: Ordimpl<A, B, C, D, E, F, G> Ord for (A, B, C, D, E, F, G) where C: Ord, B: Ord, D: Ord, G: Ord, F: Ord, E: Ord, A: Ordimpl<A, B, C, D, E, F, G, H> Ord for (A, B, C, D, E, F, G, H) where G: Ord, F: Ord, E: Ord, A: Ord, B: Ord, C: Ord, H: Ord, D: Ordimpl<A, B, C, D, E, F, G, H, I> Ord for (A, B, C, D, E, F, G, H, I) where E: Ord, F: Ord, G: Ord, I: Ord, D: Ord, A: Ord, B: Ord, H: Ord, C: Ordimpl<A, B, C, D, E, F, G, H, I, J> Ord for (A, B, C, D, E, F, G, H, I, J) where F: Ord, I: Ord, H: Ord, D: Ord, A: Ord, G: Ord, J: Ord, E: Ord, B: Ord, C: Ordimpl<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 A: Ord, K: Ord, E: Ord, H: Ord, B: Ord, F: Ord, G: Ord, D: Ord, J: Ord, C: Ord, I: Ordimpl<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 I: Ord, K: Ord, A: Ord, B: Ord, G: Ord, E: Ord, J: Ord, H: Ord, L: Ord, C: Ord, F: Ord, D: Ordimpl<T> Ord for Box<T> where T: Ord + ?Sizedimpl<T> Ord for Arc<T> where T: Ord + ?Sizedimpl<T> Ord for Rc<T> where T: Ord + ?Sizedimpl<K, V> Ord for BTreeMap<K, V> where V: Ord, K: Ordimpl<T> Ord for BTreeSet<T> where T: Ordimpl<'a, B> Ord for Cow<'a, B> where B: Ord + ToOwned + ?Sizedimpl<E> Ord for EnumSet<E> where E: Ordimpl<A> Ord for LinkedList<A> where A: Ordimpl Ord for Stringimpl<T> Ord for Vec<T> where T: Ordimpl<A> Ord for VecDeque<A> where A: Ordimpl Ord for CStringimpl Ord for CStrimpl Ord for OsStringimpl Ord for OsStrimpl Ord for IpAddrimpl Ord for Ipv4Addrimpl Ord for Ipv6Addrimpl<'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 PathBufimpl Ord for Pathimpl Ord for Durationimpl Ord for Instantimpl Ord for SystemTime