1.0.0[][src]Trait nom::lib::std::prelude::v1::v1::PartialOrd

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

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]fn lt(&self, other: &Rhs) -> bool

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]fn le(&self, other: &Rhs) -> bool

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]fn gt(&self, other: &Rhs) -> bool

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]fn ge(&self, other: &Rhs) -> bool

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<&'a Path> for PathBuf[src]

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

impl PartialOrd<SocketAddrV4> for SocketAddrV4[src]

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

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

impl PartialOrd<PathBuf> for PathBuf[src]

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

impl PartialOrd<CString> for CString[src]

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

impl PartialOrd<OsStr> for OsStr[src]

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

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

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

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

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

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

impl PartialOrd<CStr> for CStr[src]

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

impl PartialOrd<IpAddr> for Ipv4Addr[src]

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

impl PartialOrd<str> for OsString[src]

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

impl PartialOrd<OsString> for OsString[src]

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

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

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

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

impl PartialOrd<Ipv6Addr> for Ipv6Addr[src]

impl PartialOrd<Path> for Path[src]

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

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

impl PartialOrd<Instant> for Instant[src]

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

impl PartialOrd<IpAddr> for IpAddr[src]

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

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

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

impl PartialOrd<SystemTime> for SystemTime[src]

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

impl PartialOrd<SocketAddr> for SocketAddr[src]

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

impl PartialOrd<ErrorKind> for ErrorKind[src]

impl PartialOrd<SocketAddrV6> for SocketAddrV6[src]

impl PartialOrd<IpAddr> for Ipv6Addr[src]

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

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

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

impl PartialOrd<str> for OsStr[src]

impl PartialOrd<Ipv6Addr> for IpAddr[src]

impl PartialOrd<Ipv4Addr> for Ipv4Addr[src]

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

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

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

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

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

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

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

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

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

impl PartialOrd<Ipv4Addr> for IpAddr[src]

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

impl<A, B> PartialOrd<(A, B)> for (A, B) where
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B> + ?Sized
[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> PartialOrd<extern "C" fn(A, B, C, D, E, F, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, ...) -> Ret[src]

impl PartialOrd<u64> for u64[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<A, B, C, D> PartialOrd<(A, B, C, D)> for (A, B, C, D) where
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D> + ?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<A, B, C, D, E, F, G> PartialOrd<(A, B, C, D, E, F, G)> for (A, B, C, D, E, F, G) where
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    E: PartialEq<E> + PartialOrd<E>,
    F: PartialEq<F> + PartialOrd<F>,
    G: PartialEq<G> + PartialOrd<G> + ?Sized
[src]

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

impl<Ret, A> PartialOrd<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> 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<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
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    E: PartialEq<E> + PartialOrd<E>,
    F: PartialEq<F> + PartialOrd<F>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>,
    I: PartialEq<I> + PartialOrd<I>,
    J: PartialEq<J> + PartialOrd<J>,
    K: PartialEq<K> + PartialOrd<K>,
    L: PartialEq<L> + PartialOrd<L> + ?Sized
[src]

impl PartialOrd<NonZeroU16> for NonZeroU16[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<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
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    E: PartialEq<E> + PartialOrd<E>,
    F: PartialEq<F> + PartialOrd<F>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>,
    I: PartialEq<I> + PartialOrd<I>,
    J: PartialEq<J> + PartialOrd<J>,
    K: PartialEq<K> + PartialOrd<K> + ?Sized
[src]

impl<T, const N: usize> PartialOrd<[T; N]> for [T; N] where
    T: PartialOrd<T>, 
[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, 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<u128> for u128[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> 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 PartialOrd<i16> for i16[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, 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 PartialOrd<NonZeroI8> for NonZeroI8[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<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, 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, 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> PartialOrd<fn(A) -> Ret> for fn(A) -> Ret[src]

impl PartialOrd<bool> for bool[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, 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> 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, 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<Ret, A> PartialOrd<unsafe fn(A) -> Ret> for unsafe fn(A) -> 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, 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 PartialOrd<NonZeroI32> for NonZeroI32[src]

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

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

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

impl PartialOrd<NonZeroI128> for NonZeroI128[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<extern "C" fn(A, B, C, ...) -> Ret> for extern "C" fn(A, B, C, ...) -> Ret[src]

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

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

impl PartialOrd<u8> for u8[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> 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<'_, '_, A, B> PartialOrd<&'_ B> for &'_ A where
    A: PartialOrd<B> + ?Sized,
    B: ?Sized
[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, 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<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<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<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C, ...) -> Ret> for unsafe extern "C" fn(A, B, C, ...) -> Ret[src]

impl PartialOrd<NonZeroUsize> for NonZeroUsize[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
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    E: PartialEq<E> + PartialOrd<E>,
    F: PartialEq<F> + PartialOrd<F>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>,
    I: PartialEq<I> + PartialOrd<I> + ?Sized
[src]

impl PartialOrd<isize> for isize[src]

impl PartialOrd<NonZeroIsize> for NonZeroIsize[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, B, C, D> PartialOrd<fn(A, B, C, D) -> Ret> for 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> PartialOrd<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> Ret[src]

impl PartialOrd<f64> for f64[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> 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> PartialOrd<fn(A, B, C) -> Ret> for fn(A, B, C) -> Ret[src]

impl PartialOrd<u16> for u16[src]

impl PartialOrd<u32> for u32[src]

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

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

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

Panics

Panics if the value in either RefCell is currently borrowed.

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

Panics

Panics if the value in either RefCell is currently borrowed.

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

Panics

Panics if the value in either RefCell is currently borrowed.

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

Panics

Panics if the value in either RefCell is currently borrowed.

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

Panics

Panics if the value in either RefCell is currently borrowed.

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

impl PartialOrd<usize> for usize[src]

impl PartialOrd<i64> for i64[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 PartialOrd<TypeId> for TypeId[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<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, 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
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    E: PartialEq<E> + PartialOrd<E>,
    F: PartialEq<F> + PartialOrd<F>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H>,
    I: PartialEq<I> + PartialOrd<I>,
    J: PartialEq<J> + PartialOrd<J> + ?Sized
[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<NonZeroI64> for NonZeroI64[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<*const T> for *const T where
    T: ?Sized
[src]

impl<Ret, A> PartialOrd<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> 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<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
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    E: PartialEq<E> + PartialOrd<E>,
    F: PartialEq<F> + PartialOrd<F>,
    G: PartialEq<G> + PartialOrd<G>,
    H: PartialEq<H> + PartialOrd<H> + ?Sized
[src]

impl PartialOrd<NonZeroI16> for NonZeroI16[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<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<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> 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> PartialOrd<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(A, B, C, D) -> Ret[src]

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

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

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

Implements comparison of vectors lexicographically.

impl<A, B, C> PartialOrd<(A, B, C)> for (A, B, C) where
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C> + ?Sized
[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 PartialOrd<NonZeroU32> for NonZeroU32[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, 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 PartialOrd<char> for char[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 PartialOrd<f32> for f32[src]

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

impl PartialOrd<PhantomPinned> for PhantomPinned[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<T> PartialOrd<*mut T> for *mut T where
    T: ?Sized
[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<T> PartialOrd<NonNull<T>> for NonNull<T> where
    T: ?Sized
[src]

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

impl PartialOrd<NonZeroU128> for NonZeroU128[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 PartialOrd<!> for ![src]

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

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

impl PartialOrd<i128> for i128[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> PartialOrd<unsafe fn() -> Ret> for unsafe fn() -> Ret[src]

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

impl PartialOrd<i8> for i8[src]

impl PartialOrd<NonZeroU8> for NonZeroU8[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<Ret> PartialOrd<fn() -> Ret> for fn() -> Ret[src]

impl PartialOrd<i32> for i32[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, 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<T> PartialOrd<Wrapping<T>> for Wrapping<T> where
    T: PartialOrd<T>, 
[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 PartialOrd<Duration> for Duration[src]

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

impl PartialOrd<CpuidResult> for CpuidResult[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 PartialOrd<NonZeroU64> for NonZeroU64[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<A, B, C, D, E> PartialOrd<(A, B, C, D, E)> for (A, B, C, D, E) where
    A: PartialEq<A> + PartialOrd<A>,
    B: PartialEq<B> + PartialOrd<B>,
    C: PartialEq<C> + PartialOrd<C>,
    D: PartialEq<D> + PartialOrd<D>,
    E: PartialEq<E> + PartialOrd<E> + ?Sized
[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<Rc<T>> for Rc<T> where
    T: PartialOrd<T> + ?Sized
[src]

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)));

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));

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));

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));

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<T> PartialOrd<Arc<T>> for Arc<T> where
    T: PartialOrd<T> + ?Sized
[src]

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)));

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));

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));

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));

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<O, V, T> PartialOrd<BitArray<O, V>> for BitSlice<O, T> where
    O: BitOrder,
    T: BitStore,
    V: BitView
[src]

impl<O, T> PartialOrd<BitVec<O, T>> for BitSlice<O, T> where
    O: BitOrder,
    T: BitStore
[src]

impl<R> PartialOrd<BitIdx<R>> for BitIdx<R> where
    R: PartialOrd<R> + BitRegister
[src]

impl<'_, O1, O2, T1, T2> PartialOrd<&'_ mut BitSlice<O2, T2>> for BitSlice<O1, T1> where
    O1: BitOrder,
    O2: BitOrder,
    T1: BitStore,
    T2: BitStore
[src]

impl<'_, O1, O2, T1, T2> PartialOrd<BitSlice<O2, T2>> for &'_ BitSlice<O1, T1> where
    O1: BitOrder,
    O2: BitOrder,
    T1: BitStore,
    T2: BitStore
[src]

impl<'_, '_, O1, O2, T1, T2> PartialOrd<&'_ BitSlice<O2, T2>> for &'_ mut BitSlice<O1, T1> where
    O1: BitOrder,
    O2: BitOrder,
    T1: BitStore,
    T2: BitStore
[src]

impl<R> PartialOrd<BitMask<R>> for BitMask<R> where
    R: PartialOrd<R> + BitRegister
[src]

impl<O, T, Rhs> PartialOrd<Rhs> for BitBox<O, T> where
    O: BitOrder,
    Rhs: PartialOrd<BitSlice<O, T>> + ?Sized,
    T: BitStore
[src]

impl<O1, O2, T1, T2> PartialOrd<BitSlice<O2, T2>> for BitSlice<O1, T1> where
    O1: BitOrder,
    O2: BitOrder,
    T1: BitStore,
    T2: BitStore
[src]

Compares two BitSlices by semantic — not bitwise — ordering.

The comparison sorts by testing at each index if one slice has a high bit where the other has a low. At the first index where the slices differ, the slice with the high bit is greater. If the slices are equal until at least one terminates, then they are compared by length.

impl<O, T, Rhs> PartialOrd<Rhs> for BitVec<O, T> where
    O: BitOrder,
    Rhs: PartialOrd<BitSlice<O, T>> + ?Sized,
    T: BitStore
[src]

impl<O, T> PartialOrd<BitBox<O, T>> for BitSlice<O, T> where
    O: BitOrder,
    T: BitStore
[src]

impl<'_, O1, O2, T1, T2> PartialOrd<BitSlice<O2, T2>> for &'_ mut BitSlice<O1, T1> where
    O1: BitOrder,
    O2: BitOrder,
    T1: BitStore,
    T2: BitStore
[src]

impl<O, V, Rhs> PartialOrd<Rhs> for BitArray<O, V> where
    O: BitOrder,
    Rhs: ?Sized,
    V: BitView,
    BitSlice<O, <V as BitView>::Store>: PartialOrd<Rhs>, 
[src]

impl<'_, '_, O1, O2, T1, T2> PartialOrd<&'_ mut BitSlice<O2, T2>> for &'_ BitSlice<O1, T1> where
    O1: BitOrder,
    O2: BitOrder,
    T1: BitStore,
    T2: BitStore
[src]

impl PartialOrd<Msb0> for Msb0[src]

impl PartialOrd<Lsb0> for Lsb0[src]

impl<R> PartialOrd<BitTail<R>> for BitTail<R> where
    R: PartialOrd<R> + BitRegister
[src]

impl<R> PartialOrd<BitPos<R>> for BitPos<R> where
    R: PartialOrd<R> + BitRegister
[src]

impl<R> PartialOrd<BitSel<R>> for BitSel<R> where
    R: PartialOrd<R> + BitRegister
[src]

impl<'_, O1, O2, T1, T2> PartialOrd<&'_ BitSlice<O2, T2>> for BitSlice<O1, T1> where
    O1: BitOrder,
    O2: BitOrder,
    T1: BitStore,
    T2: BitStore
[src]

impl PartialOrd<Error> for Error[src]

impl PartialOrd<ErrorCode> for ErrorCode[src]

impl<A> PartialOrd<ArrayString<A>> for ArrayString<A> 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<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 PartialOrd<Char> for char

impl PartialOrd<Utf8Range> for Utf8Range

impl PartialOrd<Span> for Span

impl PartialOrd<Position> for Position

impl PartialOrd<Utf8Sequence> for Utf8Sequence

impl PartialOrd<ClassBytesRange> for ClassBytesRange

impl PartialOrd<ClassUnicodeRange> for ClassUnicodeRange

impl PartialOrd<Literal> for Literal

Loading content...

Implementors

impl PartialOrd<Ordering> for Ordering[src]

impl PartialOrd<Infallible> for Infallible[src]

impl PartialOrd<Error> for nom::lib::std::fmt::Error[src]

impl PartialOrd<NoneError> for NoneError[src]

impl PartialOrd<String> for String[src]

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

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

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

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

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

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

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

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

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

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

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

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

impl<'a, B> PartialOrd<Cow<'a, B>> for Cow<'a, B> where
    B: PartialOrd<B> + ToOwned + ?Sized
[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
    K: PartialOrd<K>,
    V: PartialOrd<V>, 
[src]

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

impl<T> PartialOrd<Reverse<T>> for Reverse<T> where
    T: PartialOrd<T>, 
[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<ManuallyDrop<T>> for ManuallyDrop<T> where
    T: PartialOrd<T> + ?Sized
[src]

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

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

Implements comparison of vectors, lexicographically.

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

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

Loading content...