Trait tetsy_scale_info::prelude::cmp::PartialOrd1.0.0[][src]

#[lang = "partial_ord"]pub trait PartialOrd<Rhs = Self>: PartialEq<Rhs> where
    Rhs: ?Sized
{ #[must_use] pub fn partial_cmp(&self, other: &Rhs) -> Option<Ordering>; #[must_use] pub fn lt(&self, other: &Rhs) -> bool { ... }
#[must_use] pub fn le(&self, other: &Rhs) -> bool { ... }
#[must_use] pub fn gt(&self, other: &Rhs) -> bool { ... }
#[must_use] pub fn ge(&self, other: &Rhs) -> bool { ... } }

Trait for values that can be compared for a sort-order.

The comparison must satisfy, for all a, b and c:

  • asymmetry: if a < b then !(a > b), as well as a > b implying !(a < b); and
  • transitivity: a < b and b < c implies a < c. The same must hold for both == and >.

Note that these requirements mean that the trait itself must be implemented symmetrically and transitively: if T: PartialOrd<U> and U: PartialOrd<V> then U: PartialOrd<T> and T: PartialOrd<V>.

Derivable

This trait can be used with #[derive]. When derived on structs, it will produce a lexicographic ordering based on the top-to-bottom declaration order of the struct's members. When derived on enums, variants are ordered by their top-to-bottom discriminant order.

How can I implement PartialOrd?

PartialOrd only requires implementation of the partial_cmp method, with the others generated from default implementations.

However it remains possible to implement the others separately for types which do not have a total order. For example, for floating point numbers, NaN < 0 == false and NaN >= 0 == false (cf. IEEE 754-2008 section 5.11).

PartialOrd requires your type to be PartialEq.

Implementations of PartialEq, PartialOrd, and Ord must agree with each other. It's easy to accidentally make them disagree by deriving some of the traits and manually implementing others.

If your type is Ord, you can implement partial_cmp by using cmp:

use std::cmp::Ordering;

#[derive(Eq)]
struct Person {
    id: u32,
    name: String,
    height: u32,
}

impl PartialOrd for Person {
    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
        Some(self.cmp(other))
    }
}

impl Ord for Person {
    fn cmp(&self, other: &Self) -> Ordering {
        self.height.cmp(&other.height)
    }
}

impl PartialEq for Person {
    fn eq(&self, other: &Self) -> bool {
        self.height == other.height
    }
}

You may also find it useful to use partial_cmp on your type's fields. Here is an example of Person types who have a floating-point height field that is the only field to be used for sorting:

use std::cmp::Ordering;

struct Person {
    id: u32,
    name: String,
    height: f64,
}

impl PartialOrd for Person {
    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
        self.height.partial_cmp(&other.height)
    }
}

impl PartialEq for Person {
    fn eq(&self, other: &Self) -> bool {
        self.height == other.height
    }
}

Examples

let x : u32 = 0;
let y : u32 = 1;

assert_eq!(x < y, true);
assert_eq!(x.lt(&y), true);

Required methods

#[must_use]pub fn partial_cmp(&self, other: &Rhs) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists.

Examples

use std::cmp::Ordering;

let result = 1.0.partial_cmp(&2.0);
assert_eq!(result, Some(Ordering::Less));

let result = 1.0.partial_cmp(&1.0);
assert_eq!(result, Some(Ordering::Equal));

let result = 2.0.partial_cmp(&1.0);
assert_eq!(result, Some(Ordering::Greater));

When comparison is impossible:

let result = f64::NAN.partial_cmp(&1.0);
assert_eq!(result, None);
Loading content...

Provided methods

#[must_use]pub fn lt(&self, other: &Rhs) -> bool[src]

This method tests less than (for self and other) and is used by the < operator.

Examples

let result = 1.0 < 2.0;
assert_eq!(result, true);

let result = 2.0 < 1.0;
assert_eq!(result, false);

#[must_use]pub fn le(&self, other: &Rhs) -> bool[src]

This method tests less than or equal to (for self and other) and is used by the <= operator.

Examples

let result = 1.0 <= 2.0;
assert_eq!(result, true);

let result = 2.0 <= 2.0;
assert_eq!(result, true);

#[must_use]pub fn gt(&self, other: &Rhs) -> bool[src]

This method tests greater than (for self and other) and is used by the > operator.

Examples

let result = 1.0 > 2.0;
assert_eq!(result, false);

let result = 2.0 > 2.0;
assert_eq!(result, false);

#[must_use]pub fn ge(&self, other: &Rhs) -> bool[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator.

Examples

let result = 2.0 >= 1.0;
assert_eq!(result, true);

let result = 2.0 >= 2.0;
assert_eq!(result, true);
Loading content...

Implementations on Foreign Types

impl<'a, 'b> PartialOrd<PathBuf> for &'a Path[src]

impl PartialOrd<IpAddr> for IpAddr[src]

impl<'a, 'b> PartialOrd<Path> for OsString[src]

impl<'a, 'b> PartialOrd<OsString> for Path[src]

impl<'a, 'b> PartialOrd<&'a Path> for OsStr[src]

impl<'a, 'b> PartialOrd<OsString> for Cow<'a, Path>[src]

impl PartialOrd<CStr> for CStr[src]

impl<'a, 'b> PartialOrd<PathBuf> for Path[src]

impl<'a, 'b> PartialOrd<OsString> for &'a Path[src]

impl<'a, 'b> PartialOrd<OsString> for &'a OsStr[src]

impl<'a, 'b> PartialOrd<Path> for &'a OsStr[src]

impl PartialOrd<Ipv6Addr> for IpAddr[src]

impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, Path>[src]

impl PartialOrd<OsStr> for OsStr[src]

impl<'a, 'b> PartialOrd<PathBuf> for OsString[src]

impl PartialOrd<Ipv6Addr> for Ipv6Addr[src]

impl<'a, 'b> PartialOrd<&'a Path> for PathBuf[src]

impl<'a, 'b> PartialOrd<&'a OsStr> for PathBuf[src]

impl<'a, 'b> PartialOrd<Path> for Cow<'a, Path>[src]

impl<'a, 'b> PartialOrd<OsString> for Cow<'a, OsStr>[src]

impl<'a, 'b> PartialOrd<&'a OsStr> for Path[src]

impl<'a, 'b> PartialOrd<OsStr> for PathBuf[src]

impl PartialOrd<SystemTime> for SystemTime[src]

impl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, OsStr>[src]

impl PartialOrd<SocketAddrV6> for SocketAddrV6[src]

impl<'a, 'b> PartialOrd<PathBuf> for OsStr[src]

impl PartialOrd<IpAddr> for Ipv6Addr[src]

impl PartialOrd<ErrorKind> for ErrorKind[src]

impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b OsStr[src]

impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for PathBuf[src]

impl<'a, 'b> PartialOrd<Cow<'b, OsStr>> for &'a Path[src]

impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsString[src]

impl PartialOrd<SocketAddrV4> for SocketAddrV4[src]

impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for Path[src]

impl<'a, 'b> PartialOrd<&'a Path> for OsString[src]

impl<'a> PartialOrd<PrefixComponent<'a>> for PrefixComponent<'a>[src]

impl<'a, 'b> PartialOrd<OsStr> for Cow<'a, OsStr>[src]

impl<'a, 'b> PartialOrd<Path> for Cow<'a, OsStr>[src]

impl<'a, 'b> PartialOrd<Cow<'a, Path>> for OsString[src]

impl<'a, 'b> PartialOrd<Cow<'a, Path>> for PathBuf[src]

impl<'a, 'b> PartialOrd<Path> for PathBuf[src]

impl<'a, 'b> PartialOrd<Path> for OsStr[src]

impl<'a, 'b> PartialOrd<Cow<'a, Path>> for OsStr[src]

impl<'a, 'b> PartialOrd<OsString> for OsStr[src]

impl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, Path>[src]

impl PartialOrd<Ipv4Addr> for IpAddr[src]

impl PartialOrd<Instant> for Instant[src]

impl<'a, 'b> PartialOrd<&'b Path> for Cow<'a, Path>[src]

impl PartialOrd<SocketAddr> for SocketAddr[src]

impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsStr[src]

impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b Path[src]

impl PartialOrd<str> for OsStr[src]

impl<'a, 'b> PartialOrd<OsString> for PathBuf[src]

impl PartialOrd<str> for OsString[src]

impl PartialOrd<PathBuf> for PathBuf[src]

impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, OsStr>[src]

impl<'a, 'b> PartialOrd<PathBuf> for &'a OsStr[src]

impl PartialOrd<CString> for CString[src]

impl<'a> PartialOrd<Components<'a>> for Components<'a>[src]

impl PartialOrd<Ipv4Addr> for Ipv4Addr[src]

impl<'a, 'b> PartialOrd<&'a Path> for Cow<'b, OsStr>[src]

impl<'a> PartialOrd<Component<'a>> for Component<'a>[src]

impl<'a, 'b> PartialOrd<OsStr> for Path[src]

impl PartialOrd<IpAddr> for Ipv4Addr[src]

impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for &'b OsStr[src]

impl PartialOrd<OsString> for OsString[src]

impl<'a, 'b> PartialOrd<OsStr> for OsString[src]

impl PartialOrd<Path> for Path[src]

impl<'a, 'b> PartialOrd<OsStr> for &'a Path[src]

impl<'a, 'b> PartialOrd<Cow<'a, Path>> for Path[src]

impl<'a> PartialOrd<Prefix<'a>> for Prefix<'a>[src]

impl<'a, 'b> PartialOrd<OsStr> for Cow<'a, Path>[src]

impl<'a, 'b> PartialOrd<&'a OsStr> for OsString[src]

impl<Ret, A, B, C, D> PartialOrd<fn(A, B, C, D) -> Ret> for fn(A, B, C, D) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialOrd<unsafe fn(A, B, C, D, E) -> Ret> for unsafe fn(A, B, C, D, E) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<fn(A, B, C, D, E, F, G, H) -> Ret> for fn(A, B, C, D, E, F, G, H) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret[src]

impl PartialOrd<u128> for u128[src]

impl<Ret, A> PartialOrd<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> Ret[src]

impl<Ret, A, B> PartialOrd<fn(A, B) -> Ret> for fn(A, B) -> Ret[src]

impl<T> PartialOrd<NonNull<T>> for NonNull<T> where
    T: ?Sized
[src]

impl<T> PartialOrd<Option<T>> for Option<T> where
    T: PartialOrd<T>, 
[src]

impl<Ret> PartialOrd<unsafe fn() -> Ret> for unsafe fn() -> Ret[src]

impl PartialOrd<i8> for i8[src]

impl<Ret, A, B, C, D, E, F> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret[src]

impl<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C) -> Ret> for extern "C" fn(A, B, C) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialOrd<fn(A, B, C, D, E, F, G) -> Ret> for fn(A, B, C, D, E, F, G) -> Ret[src]

impl PartialOrd<bool> for bool[src]

impl PartialOrd<char> for char[src]

impl<'_, '_, A, B> PartialOrd<&'_ mut B> for &'_ mut A where
    A: PartialOrd<B> + ?Sized,
    B: ?Sized
[src]

impl PartialOrd<f32> for f32[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret[src]

impl<A, B, C, D, E, F, G, H, I, J, K> PartialOrd<(A, B, C, D, E, F, G, H, I, J, K)> for (A, B, C, D, E, F, G, H, I, J, K) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    F: PartialEq<F> + PartialOrd<F>,
    I: PartialEq<I> + PartialOrd<I>,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>,
    J: PartialEq<J> + PartialOrd<J>,
    K: PartialEq<K> + PartialOrd<K> + ?Sized
[src]

impl<Y, R> PartialOrd<GeneratorState<Y, R>> for GeneratorState<Y, R> where
    R: PartialOrd<R>,
    Y: PartialOrd<Y>, 
[src]

impl<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C, ...) -> Ret> for extern "C" fn(A, B, C, ...) -> Ret[src]

impl<A, B, C, D, E, F, G, H> PartialOrd<(A, B, C, D, E, F, G, H)> for (A, B, C, D, E, F, G, H) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    F: PartialEq<F> + PartialOrd<F>,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H> + ?Sized
[src]

impl<Ret, A, B, C, D, E, F> PartialOrd<extern "C" fn(A, B, C, D, E, F) -> Ret> for extern "C" fn(A, B, C, D, E, F) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret[src]

impl<Ret, A> PartialOrd<fn(A) -> Ret> for fn(A) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<fn(A, B, C, D, E, F, G, H, I) -> Ret> for fn(A, B, C, D, E, F, G, H, I) -> Ret[src]

impl<Ret, A> PartialOrd<unsafe extern "C" fn(A, ...) -> Ret> for unsafe extern "C" fn(A, ...) -> Ret[src]

impl<P, Q> PartialOrd<Pin<Q>> for Pin<P> where
    P: Deref,
    Q: Deref,
    <P as Deref>::Target: PartialOrd<<Q as Deref>::Target>, 
[src]

impl<Ret, A, B, C, D, E> PartialOrd<extern "C" fn(A, B, C, D, E) -> Ret> for extern "C" fn(A, B, C, D, E) -> Ret[src]

impl<Ret, A, B, C, D> PartialOrd<unsafe extern "C" fn(A, B, C, D, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialOrd<extern "C" fn(A, B, C, D, E, F, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, ...) -> Ret[src]

impl<Ret> PartialOrd<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret[src]

impl PartialOrd<usize> for usize[src]

impl<Ret, A, B, C, D, E, F, G> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret[src]

impl<A> PartialOrd<(A,)> for (A,) where
    A: PartialEq<A> + PartialOrd<A> + ?Sized
[src]

impl<Ret> PartialOrd<fn() -> Ret> for fn() -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H) -> Ret[src]

impl PartialOrd<u32> for u32[src]

impl<T> PartialOrd<*const T> for *const T where
    T: ?Sized
[src]

impl PartialOrd<i16> for i16[src]

impl<T> PartialOrd<Cell<T>> for Cell<T> where
    T: PartialOrd<T> + Copy
[src]

impl<A, B, C, D, E, F, G, H, I> PartialOrd<(A, B, C, D, E, F, G, H, I)> for (A, B, C, D, E, F, G, H, I) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    F: PartialEq<F> + PartialOrd<F>,
    I: PartialEq<I> + PartialOrd<I> + ?Sized,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>, 
[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret[src]

impl<Ret> PartialOrd<extern "C" fn() -> Ret> for extern "C" fn() -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret[src]

impl<Ret, A, B, C> PartialOrd<fn(A, B, C) -> Ret> for fn(A, B, C) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret[src]

impl PartialOrd<i64> for i64[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<(A, B, C, D, E, F, G, H, I, J, K, L)> for (A, B, C, D, E, F, G, H, I, J, K, L) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    F: PartialEq<F> + PartialOrd<F>,
    I: PartialEq<I> + PartialOrd<I>,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>,
    J: PartialEq<J> + PartialOrd<J>,
    K: PartialEq<K> + PartialOrd<K>,
    L: PartialEq<L> + PartialOrd<L> + ?Sized
[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialOrd<fn(A, B, C, D, E) -> Ret> for fn(A, B, C, D, E) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret[src]

impl<T> PartialOrd<Poll<T>> for Poll<T> where
    T: PartialOrd<T>, 
[src]

impl<Ret, A, B, C, D, E, F, G> PartialOrd<extern "C" fn(A, B, C, D, E, F, G) -> Ret> for extern "C" fn(A, B, C, D, E, F, G) -> Ret[src]

impl<Ret, A, B> PartialOrd<extern "C" fn(A, B) -> Ret> for extern "C" fn(A, B) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialOrd<extern "C" fn(A, B, C, D, E, ...) -> Ret> for extern "C" fn(A, B, C, D, E, ...) -> Ret[src]

impl<Ret, A> PartialOrd<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> Ret[src]

impl<Ret, A, B> PartialOrd<unsafe extern "C" fn(A, B) -> Ret> for unsafe extern "C" fn(A, B) -> Ret[src]

impl<T> PartialOrd<RefCell<T>> for RefCell<T> where
    T: PartialOrd<T> + ?Sized
[src]

pub fn partial_cmp(&self, other: &RefCell<T>) -> Option<Ordering>[src]

Panics

Panics if the value in either RefCell is currently borrowed.

pub fn lt(&self, other: &RefCell<T>) -> bool[src]

Panics

Panics if the value in either RefCell is currently borrowed.

pub fn le(&self, other: &RefCell<T>) -> bool[src]

Panics

Panics if the value in either RefCell is currently borrowed.

pub fn gt(&self, other: &RefCell<T>) -> bool[src]

Panics

Panics if the value in either RefCell is currently borrowed.

pub fn ge(&self, other: &RefCell<T>) -> bool[src]

Panics

Panics if the value in either RefCell is currently borrowed.

impl PartialOrd<i32> for i32[src]

impl PartialOrd<u16> for u16[src]

impl PartialOrd<()> for ()[src]

impl PartialOrd<f64> for f64[src]

impl<Ret, A, B, C, D> PartialOrd<extern "C" fn(A, B, C, D, ...) -> Ret> for extern "C" fn(A, B, C, D, ...) -> Ret[src]

impl PartialOrd<i128> for i128[src]

impl PartialOrd<u8> for u8[src]

impl<'a> PartialOrd<Location<'a>> for Location<'a>[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret[src]

impl<A, B, C> PartialOrd<(A, B, C)> for (A, B, C) where
    C: PartialEq<C> + PartialOrd<C> + ?Sized,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>, 
[src]

impl<T, const N: usize> PartialOrd<[T; N]> for [T; N] where
    T: PartialOrd<T>, 
[src]

impl PartialOrd<str> for str[src]

Implements comparison operations on strings.

Strings are compared lexicographically by their byte values. This compares Unicode code points based on their positions in the code charts. This is not necessarily the same as "alphabetical" order, which varies by language and locale. Comparing strings according to culturally-accepted standards requires locale-specific data that is outside the scope of the str type.

impl<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C, ...) -> Ret> for unsafe extern "C" fn(A, B, C, ...) -> Ret[src]

impl<Ret, A, B, C, D> PartialOrd<unsafe extern "C" fn(A, B, C, D) -> Ret> for unsafe extern "C" fn(A, B, C, D) -> Ret[src]

impl PartialOrd<CpuidResult> for CpuidResult[src]

impl<Ret, A, B> PartialOrd<extern "C" fn(A, B, ...) -> Ret> for extern "C" fn(A, B, ...) -> Ret[src]

impl<Ret, A, B> PartialOrd<unsafe extern "C" fn(A, B, ...) -> Ret> for unsafe extern "C" fn(A, B, ...) -> Ret[src]

impl<Ret, A> PartialOrd<unsafe fn(A) -> Ret> for unsafe fn(A) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret[src]

impl<Ret, A> PartialOrd<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(A) -> Ret[src]

impl<A, B, C, D, E, F, G> PartialOrd<(A, B, C, D, E, F, G)> for (A, B, C, D, E, F, G) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    F: PartialEq<F> + PartialOrd<F>,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E>,
    G: PartialEq<G> + PartialOrd<G> + ?Sized
[src]

impl<Ret, A, B> PartialOrd<unsafe fn(A, B) -> Ret> for unsafe fn(A, B) -> Ret[src]

impl PartialOrd<!> for ![src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialOrd<unsafe fn(A, B, C, D, E, F) -> Ret> for unsafe fn(A, B, C, D, E, F) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for fn(A, B, C, D, E, F, G, H, I, J) -> Ret[src]

impl<A, B, C, D, E, F, G, H, I, J> PartialOrd<(A, B, C, D, E, F, G, H, I, J)> for (A, B, C, D, E, F, G, H, I, J) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    F: PartialEq<F> + PartialOrd<F>,
    I: PartialEq<I> + PartialOrd<I>,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>,
    J: PartialEq<J> + PartialOrd<J> + ?Sized
[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret[src]

impl<A, B> PartialOrd<(A, B)> for (A, B) where
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B> + ?Sized
[src]

impl<A, B, C, D> PartialOrd<(A, B, C, D)> for (A, B, C, D) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D> + ?Sized,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>, 
[src]

impl<A, B, C, D, E, F> PartialOrd<(A, B, C, D, E, F)> for (A, B, C, D, E, F) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    F: PartialEq<F> + PartialOrd<F> + ?Sized,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E>, 
[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret[src]

impl<T, E> PartialOrd<Result<T, E>> for Result<T, E> where
    T: PartialOrd<T>,
    E: PartialOrd<E>, 
[src]

impl PartialOrd<Duration> for Duration[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret[src]

impl<Ret, A, B, C, D> PartialOrd<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(A, B, C, D) -> Ret[src]

impl<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C) -> Ret> for unsafe extern "C" fn(A, B, C) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret[src]

impl<Ret, A, B, C> PartialOrd<unsafe fn(A, B, C) -> Ret> for unsafe fn(A, B, C) -> Ret[src]

impl PartialOrd<u64> for u64[src]

impl PartialOrd<Infallible> for Infallible[src]

impl<Ret, A, B, C, D, E, F> PartialOrd<fn(A, B, C, D, E, F) -> Ret> for fn(A, B, C, D, E, F) -> Ret[src]

impl<'_, '_, A, B> PartialOrd<&'_ B> for &'_ A where
    A: PartialOrd<B> + ?Sized,
    B: ?Sized
[src]

impl<Ret, A, B, C, D, E> PartialOrd<unsafe extern "C" fn(A, B, C, D, E) -> Ret> for unsafe extern "C" fn(A, B, C, D, E) -> Ret[src]

impl PartialOrd<isize> for isize[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret[src]

impl<Dyn> PartialOrd<DynMetadata<Dyn>> for DynMetadata<Dyn> where
    Dyn: ?Sized
[src]

impl PartialOrd<NoneError> for NoneError[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret[src]

impl<A, B, C, D, E> PartialOrd<(A, B, C, D, E)> for (A, B, C, D, E) where
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    E: PartialEq<E> + PartialOrd<E> + ?Sized
[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret[src]

impl<T> PartialOrd<*mut T> for *mut T where
    T: ?Sized
[src]

impl<T> PartialOrd<[T]> for [T] where
    T: PartialOrd<T>, 
[src]

Implements comparison of vectors lexicographically.

impl<Ret, A, B, C, D> PartialOrd<extern "C" fn(A, B, C, D) -> Ret> for extern "C" fn(A, B, C, D) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialOrd<unsafe fn(A, B, C, D, E, F, G) -> Ret> for unsafe fn(A, B, C, D, E, F, G) -> Ret[src]

impl<T> PartialOrd<Arc<T>> for Arc<T> where
    T: PartialOrd<T> + ?Sized
[src]

pub fn partial_cmp(&self, other: &Arc<T>) -> Option<Ordering>[src]

Partial comparison for two Arcs.

The two are compared by calling partial_cmp() on their inner values.

Examples

use std::sync::Arc;
use std::cmp::Ordering;

let five = Arc::new(5);

assert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));

pub fn lt(&self, other: &Arc<T>) -> bool[src]

Less-than comparison for two Arcs.

The two are compared by calling < on their inner values.

Examples

use std::sync::Arc;

let five = Arc::new(5);

assert!(five < Arc::new(6));

pub fn le(&self, other: &Arc<T>) -> bool[src]

'Less than or equal to' comparison for two Arcs.

The two are compared by calling <= on their inner values.

Examples

use std::sync::Arc;

let five = Arc::new(5);

assert!(five <= Arc::new(5));

pub fn gt(&self, other: &Arc<T>) -> bool[src]

Greater-than comparison for two Arcs.

The two are compared by calling > on their inner values.

Examples

use std::sync::Arc;

let five = Arc::new(5);

assert!(five > Arc::new(4));

pub fn ge(&self, other: &Arc<T>) -> bool[src]

'Greater than or equal to' comparison for two Arcs.

The two are compared by calling >= on their inner values.

Examples

use std::sync::Arc;

let five = Arc::new(5);

assert!(five >= Arc::new(5));

impl<T> PartialOrd<Rc<T>> for Rc<T> where
    T: PartialOrd<T> + ?Sized
[src]

pub fn partial_cmp(&self, other: &Rc<T>) -> Option<Ordering>[src]

Partial comparison for two Rcs.

The two are compared by calling partial_cmp() on their inner values.

Examples

use std::rc::Rc;
use std::cmp::Ordering;

let five = Rc::new(5);

assert_eq!(Some(Ordering::Less), five.partial_cmp(&Rc::new(6)));

pub fn lt(&self, other: &Rc<T>) -> bool[src]

Less-than comparison for two Rcs.

The two are compared by calling < on their inner values.

Examples

use std::rc::Rc;

let five = Rc::new(5);

assert!(five < Rc::new(6));

pub fn le(&self, other: &Rc<T>) -> bool[src]

'Less than or equal to' comparison for two Rcs.

The two are compared by calling <= on their inner values.

Examples

use std::rc::Rc;

let five = Rc::new(5);

assert!(five <= Rc::new(5));

pub fn gt(&self, other: &Rc<T>) -> bool[src]

Greater-than comparison for two Rcs.

The two are compared by calling > on their inner values.

Examples

use std::rc::Rc;

let five = Rc::new(5);

assert!(five > Rc::new(4));

pub fn ge(&self, other: &Rc<T>) -> bool[src]

'Greater than or equal to' comparison for two Rcs.

The two are compared by calling >= on their inner values.

Examples

use std::rc::Rc;

let five = Rc::new(5);

assert!(five >= Rc::new(5));

impl<'a, B> PartialOrd<Cow<'a, B>> for Cow<'a, B> where
    B: PartialOrd<B> + ToOwned + ?Sized
[src]

impl<T> PartialOrd<Compact<T>> for Compact<T> where
    T: PartialOrd<T>, 
[src]

impl<A> PartialOrd<str> for ArrayString<A> where
    A: Array<Item = u8> + Copy
[src]

impl<A> PartialOrd<ArrayString<A>> for str where
    A: Array<Item = u8> + Copy
[src]

impl<T> PartialOrd<CapacityError<T>> for CapacityError<T> where
    T: PartialOrd<T>, 
[src]

impl<A> PartialOrd<ArrayVec<A>> for ArrayVec<A> where
    A: Array,
    <A as Array>::Item: PartialOrd<<A as Array>::Item>, 
[src]

impl<A> PartialOrd<ArrayString<A>> for ArrayString<A> where
    A: Array<Item = u8> + Copy
[src]

Loading content...

Implementors

impl PartialOrd<TypeDefPrimitive> for TypeDefPrimitive[src]

impl PartialOrd<MetaForm> for MetaForm[src]

impl PartialOrd<Ordering> for Ordering[src]

impl PartialOrd<TypeId> for TypeId[src]

impl PartialOrd<Error> for Error[src]

impl PartialOrd<PhantomPinned> for PhantomPinned1.33.0[src]

impl PartialOrd<NonZeroI8> for NonZeroI81.34.0[src]

impl PartialOrd<NonZeroI16> for NonZeroI161.34.0[src]

impl PartialOrd<NonZeroI32> for NonZeroI321.34.0[src]

impl PartialOrd<NonZeroI64> for NonZeroI641.34.0[src]

impl PartialOrd<NonZeroI128> for NonZeroI1281.34.0[src]

impl PartialOrd<NonZeroIsize> for NonZeroIsize1.34.0[src]

impl PartialOrd<NonZeroU8> for NonZeroU81.28.0[src]

impl PartialOrd<NonZeroU16> for NonZeroU161.28.0[src]

impl PartialOrd<NonZeroU32> for NonZeroU321.28.0[src]

impl PartialOrd<NonZeroU64> for NonZeroU641.28.0[src]

impl PartialOrd<NonZeroU128> for NonZeroU1281.28.0[src]

impl PartialOrd<NonZeroUsize> for NonZeroUsize1.28.0[src]

impl PartialOrd<String> for String[src]

impl PartialOrd<MetaType> for MetaType[src]

impl<'a, T: PartialOrd> PartialOrd<Symbol<'a, T>> for Symbol<'a, T>[src]

impl<A> PartialOrd<VecDeque<A>> for VecDeque<A> where
    A: PartialOrd<A>, 
[src]

impl<K, V> PartialOrd<BTreeMap<K, V>> for BTreeMap<K, V> where
    V: PartialOrd<V>,
    K: PartialOrd<K>, 
[src]

impl<S: PartialOrd> PartialOrd<PortableForm<S>> for PortableForm<S>[src]

impl<T> PartialOrd<Reverse<T>> for Reverse<T> where
    T: PartialOrd<T>, 
1.19.0[src]

impl<T> PartialOrd<BTreeSet<T>> for BTreeSet<T> where
    T: PartialOrd<T>, 
[src]

impl<T> PartialOrd<LinkedList<T>> for LinkedList<T> where
    T: PartialOrd<T>, 
[src]

impl<T> PartialOrd<PhantomData<T>> for PhantomData<T> where
    T: ?Sized
[src]

impl<T> PartialOrd<ManuallyDrop<T>> for ManuallyDrop<T> where
    T: PartialOrd<T> + ?Sized
1.20.0[src]

impl<T> PartialOrd<Wrapping<T>> for Wrapping<T> where
    T: PartialOrd<T>, 
[src]

impl<T, A> PartialOrd<Box<T, A>> for Box<T, A> where
    T: PartialOrd<T> + ?Sized,
    A: Allocator
[src]

impl<T, A> PartialOrd<Vec<T, A>> for Vec<T, A> where
    T: PartialOrd<T>,
    A: Allocator
[src]

Implements comparison of vectors, lexicographically.

impl<T: PartialOrd + Form> PartialOrd<TypeDef<T>> for TypeDef<T>[src]

impl<T: PartialOrd + Form> PartialOrd<Field<T>> for Field<T> where
    T::String: PartialOrd,
    T::Type: PartialOrd,
    T::String: PartialOrd
[src]

impl<T: PartialOrd + Form> PartialOrd<Path<T>> for tetsy_scale_info::Path<T> where
    T::String: PartialOrd
[src]

impl<T: PartialOrd + Form> PartialOrd<Type<T>> for Type<T> where
    T::Type: PartialOrd
[src]

impl<T: PartialOrd + Form> PartialOrd<TypeDefArray<T>> for TypeDefArray<T> where
    T::Type: PartialOrd
[src]

impl<T: PartialOrd + Form> PartialOrd<TypeDefComposite<T>> for TypeDefComposite<T>[src]

impl<T: PartialOrd + Form> PartialOrd<TypeDefPhantom<T>> for TypeDefPhantom<T> where
    T::Type: PartialOrd
[src]

impl<T: PartialOrd + Form> PartialOrd<TypeDefSequence<T>> for TypeDefSequence<T> where
    T::Type: PartialOrd
[src]

impl<T: PartialOrd + Form> PartialOrd<TypeDefTuple<T>> for TypeDefTuple<T> where
    T::Type: PartialOrd
[src]

impl<T: PartialOrd + Form> PartialOrd<TypeDefVariant<T>> for TypeDefVariant<T>[src]

impl<T: PartialOrd + Form> PartialOrd<Variant<T>> for Variant<T> where
    T::String: PartialOrd
[src]

impl<T: PartialOrd> PartialOrd<UntrackedSymbol<T>> for UntrackedSymbol<T>[src]

Loading content...