Trait nom::lib::std::prelude::v1::rust_2021::Ord 1.0.0[−][src]
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 asymmetric: exactly one of
a < b
,a == b
ora > b
is true; and - transitive,
a < b
andb < c
impliesa < c
. The same must hold for both==
and>
.
Derivable
This trait can be used with #[derive]
. When derive
d on structs, it will produce a
lexicographic ordering based on the top-to-bottom declaration order of the struct’s members.
When derive
d on enums, variants are ordered by their top-to-bottom discriminant order.
Lexicographical comparison
Lexicographical comparison is an operation with the following properties:
- Two sequences are compared element by element.
- The first mismatching element defines which sequence is lexicographically less or greater than the other.
- If one sequence is a prefix of another, the shorter sequence is lexicographically less than the other.
- If two sequence have equivalent elements and are of the same length, then the sequences are lexicographically equal.
- An empty sequence is lexicographically less than any non-empty sequence.
- Two empty sequences are lexicographically equal.
How can I implement Ord
?
Ord
requires that the type also be PartialOrd
and Eq
(which requires PartialEq
).
Then you must define an implementation for cmp
. You may find it useful to use
cmp
on your type’s fields.
Implementations of PartialEq
, PartialOrd
, and Ord
must
agree with each other. That is, a.cmp(b) == Ordering::Equal
if
and only if a == b
and Some(a.cmp(b)) == a.partial_cmp(b)
for
all a
and b
. It’s easy to accidentally make them disagree by
deriving some of the traits and manually implementing others.
Here’s an example where you want to sort people by height only, disregarding id
and name
:
use std::cmp::Ordering; #[derive(Eq)] struct Person { id: u32, name: String, height: u32, } impl Ord for Person { fn cmp(&self, other: &Self) -> Ordering { self.height.cmp(&other.height) } } impl PartialOrd for Person { fn partial_cmp(&self, other: &Self) -> Option<Ordering> { Some(self.cmp(other)) } } impl PartialEq for Person { fn eq(&self, other: &Self) -> bool { self.height == other.height } }
Required methods
pub fn cmp(&self, other: &Self) -> Ordering
[src][−]
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
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);
Provided methods
pub fn max(self, other: Self) -> Self
1.21.0[src][−]
Compares and returns the maximum of two values.
Returns the second argument if the comparison determines them to be equal.
Examples
assert_eq!(2, 1.max(2)); assert_eq!(2, 2.max(2));
pub fn min(self, other: Self) -> Self
1.21.0[src][−]
Compares and returns the minimum of two values.
Returns the first argument if the comparison determines them to be equal.
Examples
assert_eq!(1, 1.min(2)); assert_eq!(2, 2.min(2));
pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src][−]
Implementations on Foreign Types
impl Ord for SocketAddr
[src][−]
pub fn cmp(&self, other: &SocketAddr) -> Ordering
[src]
impl<'a> Ord for Prefix<'a>
[src][−]
impl<'_> Ord for PrefixComponent<'_>
[src][−]
pub fn cmp(&self, other: &PrefixComponent<'_>) -> Ordering
[src]
impl Ord for Path
[src][−]
impl Ord for Ipv6Addr
[src][−]
impl<'_> Ord for Components<'_>
[src][−]
pub fn cmp(&self, other: &Components<'_>) -> Ordering
[src]
impl Ord for IpAddr
[src][−]
impl Ord for SocketAddrV4
[src][−]
pub fn cmp(&self, other: &SocketAddrV4) -> Ordering
[src]
impl Ord for Ipv4Addr
[src][−]
impl Ord for OsStr
[src][−]
impl<'a> Ord for Component<'a>
[src][−]
impl Ord for OsString
[src][−]
impl Ord for Instant
[src][−]
impl Ord for ErrorKind
[src][−]
impl Ord for SocketAddrV6
[src][−]
pub fn cmp(&self, other: &SocketAddrV6) -> Ordering
[src]
impl Ord for CStr
[src][−]
impl Ord for SystemTime
[src][−]
pub fn cmp(&self, other: &SystemTime) -> Ordering
[src]
impl Ord for CString
[src][−]
impl Ord for PathBuf
[src][−]
impl Ord for NonZeroI16
[src][−]
pub fn cmp(&self, other: &NonZeroI16) -> Ordering
[src]
impl<Ret> Ord for unsafe extern "C" fn() -> Ret
[src][−]
impl<Ret> Ord for unsafe fn() -> Ret
[src][−]
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
C: Ord,
F: Ord,
E: Ord,
I: Ord,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
J: Ord,
K: Ord + ?Sized,
[src][−]
C: Ord,
F: Ord,
E: Ord,
I: Ord,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
J: Ord,
K: Ord + ?Sized,
impl<Ret, A, B, C, D, E, F, G, H, I, J> Ord 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> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
) -> Ordering
impl<Ret, A, B> Ord for unsafe extern "C" fn(A, B, ...) -> Ret
[src][−]
impl<Ret, A, B, C, D> Ord for unsafe extern "C" fn(A, B, C, D, ...) -> Ret
[src][−]
impl<Ret, A, B, C, D> Ord for fn(A, B, C, D) -> Ret
[src][−]
impl<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, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
) -> Ordering
[src]
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
) -> Ordering
impl Ord for CpuidResult
[src][−]
pub fn cmp(&self, other: &CpuidResult) -> Ordering
[src]
impl Ord for NonZeroI32
[src][−]
pub fn cmp(&self, other: &NonZeroI32) -> Ordering
[src]
impl<Ret, A, B, C, D, E> Ord for fn(A, B, C, D, E) -> Ret
[src][−]
impl<A, B, C, D, E, F> Ord for (A, B, C, D, E, F) where
C: Ord,
F: Ord + ?Sized,
E: Ord,
A: Ord,
B: Ord,
D: Ord,
[src][−]
C: Ord,
F: Ord + ?Sized,
E: Ord,
A: Ord,
B: Ord,
D: Ord,
impl Ord for NonZeroI128
[src][−]
pub fn cmp(&self, other: &NonZeroI128) -> Ordering
[src]
impl<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) -> Ret
[src][−]
impl<Ret, A, B> Ord for fn(A, B) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F, G> Ord for extern "C" fn(A, B, C, D, E, F, G) -> Ret
[src][−]
impl Ord for NonZeroI64
[src][−]
pub fn cmp(&self, other: &NonZeroI64) -> Ordering
[src]
impl<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, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
) -> Ordering
impl<Ret, A, B, C, D, E> Ord for unsafe fn(A, B, C, D, E) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F, G> Ord for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
[src][−]
impl<T> Ord for PhantomData<T> where
T: ?Sized,
[src][−]
T: ?Sized,
pub fn cmp(&self, _other: &PhantomData<T>) -> Ordering
[src]
impl Ord for char
[src][−]
impl Ord for i8
[src][−]
impl<Ret, A, B, C, D, E, F> Ord for fn(A, B, C, D, E, F) -> Ret
[src][−]
impl<A, B, C, D, E, F, G> Ord for (A, B, C, D, E, F, G) where
C: Ord,
F: Ord,
E: Ord,
G: Ord + ?Sized,
A: Ord,
B: Ord,
D: Ord,
[src][−]
C: Ord,
F: Ord,
E: Ord,
G: Ord + ?Sized,
A: Ord,
B: Ord,
D: Ord,
impl<Ret, A, B, C, D, E> Ord for unsafe extern "C" fn(A, B, C, D, E) -> Ret
[src][−]
impl<Ret, A> Ord for unsafe extern "C" fn(A) -> Ret
[src][−]
impl<A, B, C, D, E, F, G, H> Ord for (A, B, C, D, E, F, G, H) where
C: Ord,
F: Ord,
E: Ord,
G: Ord,
H: Ord + ?Sized,
A: Ord,
B: Ord,
D: Ord,
[src][−]
C: Ord,
F: Ord,
E: Ord,
G: Ord,
H: Ord + ?Sized,
A: Ord,
B: Ord,
D: Ord,
impl<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) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
) -> Ordering
impl Ord for u8
[src][−]
impl<Ret, A, B, C, D> Ord for unsafe fn(A, B, C, D) -> Ret
[src][−]
impl Ord for NonZeroIsize
[src][−]
pub fn cmp(&self, other: &NonZeroIsize) -> Ordering
[src]
impl<Ret, A, B, C, D, E, F, G, H> Ord for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
[src][−]
impl Ord for NonZeroU64
[src][−]
pub fn cmp(&self, other: &NonZeroU64) -> Ordering
[src]
impl Ord for u128
[src][−]
impl<Ret, A, B, C, D, E, F, G, H> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
[src][−]
impl<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) -> Ret
[src][−]
pub fn cmp(
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
) -> Ordering
[src]
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
) -> Ordering
impl<Ret, A, B, C, D, E, F> Ord for extern "C" fn(A, B, C, D, E, F, ...) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F, G, H, I> Ord for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
[src][−]
impl<Ret, A, B> Ord for unsafe extern "C" fn(A, B) -> Ret
[src][−]
impl<A, B, C, D, E> Ord for (A, B, C, D, E) where
C: Ord,
E: Ord + ?Sized,
A: Ord,
B: Ord,
D: Ord,
[src][−]
C: Ord,
E: Ord + ?Sized,
A: Ord,
B: Ord,
D: Ord,
impl Ord for u32
[src][−]
impl<Ret> Ord for extern "C" fn() -> Ret
[src][−]
impl<Ret, A, B> Ord for extern "C" fn(A, B, ...) -> Ret
[src][−]
impl Ord for Duration
[src][−]
impl<T> Ord for *mut T where
T: ?Sized,
[src][−]
T: ?Sized,
impl<A, B, C> Ord for (A, B, C) where
C: Ord + ?Sized,
A: Ord,
B: Ord,
[src][−]
C: Ord + ?Sized,
A: Ord,
B: Ord,
impl Ord for NonZeroUsize
[src][−]
pub fn cmp(&self, other: &NonZeroUsize) -> Ordering
[src]
impl<Ret, A, B, C, D, E, F> Ord for extern "C" fn(A, B, C, D, E, F) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F> Ord for unsafe fn(A, B, C, D, E, F) -> Ret
[src][−]
impl Ord for NonZeroU32
[src][−]
pub fn cmp(&self, other: &NonZeroU32) -> Ordering
[src]
impl Ord for isize
[src][−]
impl<T> Ord for Wrapping<T> where
T: Ord,
[src][−]
T: Ord,
impl Ord for u16
[src][−]
impl<T> Ord for [T] where
T: Ord,
[src][−]
T: Ord,
Implements comparison of vectors lexicographically.
impl<Ret, A, B, C, D> Ord for unsafe extern "C" fn(A, B, C, D) -> Ret
[src][−]
impl<'_, A> Ord for &'_ mut A where
A: Ord + ?Sized,
[src][−]
A: Ord + ?Sized,
impl Ord for i128
[src][−]
impl<T> Ord for Poll<T> where
T: Ord,
[src][−]
T: Ord,
impl<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) -> Ret
[src][−]
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
C: Ord,
F: Ord,
E: Ord,
I: Ord,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
J: Ord,
K: Ord,
L: Ord + ?Sized,
[src][−]
C: Ord,
F: Ord,
E: Ord,
I: Ord,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
J: Ord,
K: Ord,
L: Ord + ?Sized,
impl<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, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
) -> Ordering
[src]
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
) -> Ordering
impl<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) -> Ret
[src][−]
impl Ord for ()
[src][−]
impl<A, B> Ord for (A, B) where
A: Ord,
B: Ord + ?Sized,
[src][−]
A: Ord,
B: Ord + ?Sized,
impl<'a> Ord for Location<'a>
[src][−]
impl<T, const N: usize> Ord for [T; N] where
T: Ord,
[src][−]
T: Ord,
Implements comparison of arrays lexicographically.
impl<Ret, A, B, C, D> Ord for extern "C" fn(A, B, C, D) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F, G, H> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
) -> Ordering
impl<Ret, A, B, C, D, E, F, G, H, I> Ord for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret
[src][−]
impl<Ret, A, B, C, D, E> Ord for extern "C" fn(A, B, C, D, E, ...) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F, G, H, I> Ord 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> Ord for (A, B, C, D, E, F, G, H, I) where
C: Ord,
F: Ord,
E: Ord,
I: Ord + ?Sized,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
[src][−]
C: Ord,
F: Ord,
E: Ord,
I: Ord + ?Sized,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
impl<T> Ord for NonNull<T> where
T: ?Sized,
[src][−]
T: ?Sized,
impl<Ret, A, B, C, D, E, F, G> Ord for fn(A, B, C, D, E, F, G) -> Ret
[src][−]
impl<Ret, A, B, C> Ord for fn(A, B, C) -> Ret
[src][−]
impl<Ret, A, B, C> Ord for extern "C" fn(A, B, C) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F> Ord for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F, G, H> Ord for fn(A, B, C, D, E, F, G, H) -> Ret
[src][−]
impl Ord for i64
[src][−]
impl<Ret, A, B, C, D, E, F, G> Ord 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, J, K> Ord for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
[src][−]
impl<P> Ord for Pin<P> where
P: Deref,
<P as Deref>::Target: Ord,
[src][−]
P: Deref,
<P as Deref>::Target: Ord,
impl<Ret> Ord for fn() -> Ret
[src][−]
impl<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, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
) -> Ordering
impl<Ret, A, B, C> Ord for unsafe extern "C" fn(A, B, C, ...) -> Ret
[src][−]
impl<Ret, A, B, C> Ord for unsafe extern "C" fn(A, B, C) -> Ret
[src][−]
impl<Ret, A> Ord for unsafe fn(A) -> Ret
[src][−]
impl<A> Ord for (A,) where
A: Ord + ?Sized,
[src][−]
A: Ord + ?Sized,
impl<Ret, A, B, C, D, E, F, G> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
[src][−]
impl Ord for NonZeroU8
[src][−]
impl Ord for i16
[src][−]
impl<T> Ord for Cell<T> where
T: Ord + Copy,
[src][−]
T: Ord + Copy,
impl<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, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
) -> Ordering
impl Ord for PhantomPinned
[src][−]
pub fn cmp(&self, other: &PhantomPinned) -> Ordering
[src]
impl<A, B, C, D, E, F, G, H, I, J> Ord for (A, B, C, D, E, F, G, H, I, J) where
C: Ord,
F: Ord,
E: Ord,
I: Ord,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
J: Ord + ?Sized,
[src][−]
C: Ord,
F: Ord,
E: Ord,
I: Ord,
G: Ord,
H: Ord,
A: Ord,
B: Ord,
D: Ord,
J: Ord + ?Sized,
impl Ord for NonZeroU128
[src][−]
pub fn cmp(&self, other: &NonZeroU128) -> Ordering
[src]
impl Ord for str
[src][−]
Implements ordering of strings.
Strings are ordered lexicographically by their byte values. This orders 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. Sorting strings according to
culturally-accepted standards requires locale-specific data that is outside the scope of
the str
type.
impl Ord for TypeId
[src][−]
impl<Ret, A, B, C, D, E, F, G> Ord for unsafe fn(A, B, C, D, E, F, G) -> Ret
[src][−]
impl<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) -> Ret
[src][−]
impl Ord for NonZeroU16
[src][−]
pub fn cmp(&self, other: &NonZeroU16) -> Ordering
[src]
impl<Ret, A> Ord for fn(A) -> Ret
[src][−]
impl<Ret, A> Ord for extern "C" fn(A, ...) -> Ret
[src][−]
impl<Ret, A> Ord for unsafe extern "C" fn(A, ...) -> Ret
[src][−]
impl Ord for u64
[src][−]
impl<T> Ord for *const T where
T: ?Sized,
[src][−]
T: ?Sized,
impl<Ret, A, B, C, D, E, F, G, H> Ord for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
[src][−]
impl<Ret, A> Ord for extern "C" fn(A) -> Ret
[src][−]
impl<Ret, A, B, C> Ord for unsafe fn(A, B, C) -> Ret
[src][−]
impl<T> Ord for RefCell<T> where
T: Ord + ?Sized,
[src][−]
T: Ord + ?Sized,
pub fn cmp(&self, other: &RefCell<T>) -> Ordering
[src][−]
Panics
Panics if the value in either RefCell
is currently borrowed.
impl<Ret, A, B, C, D> Ord for extern "C" fn(A, B, C, D, ...) -> Ret
[src][−]
impl<'_, A> Ord for &'_ A where
A: Ord + ?Sized,
[src][−]
A: Ord + ?Sized,
impl<Ret, A, B, C, D, E> Ord for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F, G, H, I> Ord for fn(A, B, C, D, E, F, G, H, I) -> Ret
[src][−]
impl Ord for usize
[src][−]
impl<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, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
) -> Ordering
impl Ord for NonZeroI8
[src][−]
impl<Ret, A, B, C, D, E, F, G, H> Ord for unsafe fn(A, B, C, D, E, F, G, H) -> Ret
[src][−]
impl<Ret, A, B> Ord for unsafe fn(A, B) -> Ret
[src][−]
impl<Ret, A, B, C> Ord for extern "C" fn(A, B, C, ...) -> Ret
[src][−]
impl<Ret, A, B, C, D, E> Ord for extern "C" fn(A, B, C, D, E) -> Ret
[src][−]
impl<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, ...) -> Ret
[src][−]
pub fn cmp(
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
) -> Ordering
[src]
&self,
other: &extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
) -> Ordering
impl<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) -> Ret
[src][−]
impl<Ret, A, B, C, D, E, F> Ord 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> Ord for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
[src][−]
pub fn cmp(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
) -> Ordering
[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
) -> Ordering
impl Ord for bool
[src][−]
impl<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) -> Ret
[src][−]
impl<Ret, A, B> Ord for extern "C" fn(A, B) -> Ret
[src][−]
impl<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) -> Ret
[src][−]
impl<Dyn> Ord for DynMetadata<Dyn> where
Dyn: ?Sized,
[src][−]
Dyn: ?Sized,
pub fn cmp(&self, other: &DynMetadata<Dyn>) -> Ordering
[src]
impl Ord for !
[src][−]
impl Ord for i32
[src][−]
impl<A, B, C, D> Ord for (A, B, C, D) where
C: Ord,
A: Ord,
B: Ord,
D: Ord + ?Sized,
[src][−]
C: Ord,
A: Ord,
B: Ord,
D: Ord + ?Sized,
impl<T> Ord for Rc<T> where
T: Ord + ?Sized,
[src][−]
T: Ord + ?Sized,
pub fn cmp(&self, other: &Rc<T>) -> Ordering
[src][−]
Comparison for two Rc
s.
The two are compared by calling cmp()
on their inner values.
Examples
use std::rc::Rc; use std::cmp::Ordering; let five = Rc::new(5); assert_eq!(Ordering::Less, five.cmp(&Rc::new(6)));
impl<T> Ord for Arc<T> where
T: Ord + ?Sized,
[src][−]
T: Ord + ?Sized,
pub fn cmp(&self, other: &Arc<T>) -> Ordering
[src][−]
Comparison for two Arc
s.
The two are compared by calling cmp()
on their inner values.
Examples
use std::sync::Arc; use std::cmp::Ordering; let five = Arc::new(5); assert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
Implementors
impl Ord for Ordering
[src][+]
impl Ord for Infallible
1.34.0[src][+]
impl Ord for Error
[src][+]
impl Ord for NoneError
[src][+]
impl Ord for String
[src][+]
impl<'_, B> Ord for Cow<'_, B> where
B: Ord + ToOwned + ?Sized,
[src][+]
B: Ord + ToOwned + ?Sized,
impl<A> Ord for VecDeque<A> where
A: Ord,
[src][+]
A: Ord,
impl<K, V> Ord for BTreeMap<K, V> where
K: Ord,
V: Ord,
[src][+]
K: Ord,
V: Ord,
impl<T> Ord for Option<T> where
T: Ord,
[src][+]
T: Ord,
impl<T> Ord for Reverse<T> where
T: Ord,
1.19.0[src][+]
T: Ord,
impl<T> Ord for BTreeSet<T> where
T: Ord,
[src][+]
T: Ord,
impl<T> Ord for LinkedList<T> where
T: Ord,
[src][+]
T: Ord,
impl<T> Ord for ManuallyDrop<T> where
T: Ord + ?Sized,
1.20.0[src][+]
T: Ord + ?Sized,
impl<T, A> Ord for Box<T, A> where
T: Ord + ?Sized,
A: Allocator,
[src][+]
T: Ord + ?Sized,
A: Allocator,
impl<T, A> Ord for Vec<T, A> where
T: Ord,
A: Allocator,
[src][+]
T: Ord,
A: Allocator,
impl<T, E> Ord for Result<T, E> where
E: Ord,
T: Ord,
[src][+]
E: Ord,
T: Ord,
impl<Y, R> Ord for GeneratorState<Y, R> where
R: Ord,
Y: Ord,
[src][+]
R: Ord,
Y: Ord,
impl<T: Ord> Ord for ConstantDeref<T>
impl<T: Ord> Ord for ConstantDeref<T>
impl<T: Ord> Ord for Constant<T>
impl<T: Ord> Ord for Constant<T>
impl<A: Array<Item = u8>> Ord for ArrayString<A>
impl<A: Array<Item = u8>> Ord for ArrayString<A>
impl<T: Ord> Ord for CapacityError<T>
impl<T: Ord> Ord for CapacityError<T>
impl<A: Array> Ord for ArrayVec<A> where
A::Item: Ord,
impl<A: Array> Ord for ArrayVec<A> where
A::Item: Ord,
impl Ord for Nanoseconds
impl Ord for Nanoseconds
impl Ord for BString
impl Ord for BString
impl Ord for BStr
impl Ord for BStr
impl Ord for BigEndian
impl Ord for BigEndian
impl Ord for LittleEndian
impl Ord for LittleEndian
impl Ord for Bytes
impl Ord for Bytes
impl Ord for BytesMut
impl Ord for BytesMut
impl Ord for PackageId
impl Ord for PackageId
impl Ord for FeatureGate
impl Ord for FeatureGate
impl Ord for NaiveDate
impl Ord for NaiveDate
impl Ord for IsoWeek
impl Ord for IsoWeek
impl Ord for NaiveTime
impl Ord for NaiveTime
impl Ord for NaiveDateTime
impl Ord for NaiveDateTime
impl<Tz: TimeZone> Ord for Date<Tz>
impl<Tz: TimeZone> Ord for Date<Tz>
impl<Tz: TimeZone> Ord for DateTime<Tz>
impl<Tz: TimeZone> Ord for DateTime<Tz>
impl<T: ?Sized + Pointable> Ord for Shared<'_, T>
impl<T: ?Sized + Pointable> Ord for Shared<'_, T>
impl Ord for IdentString
impl Ord for IdentString
impl Ord for DebugId
impl Ord for DebugId
impl Ord for CodeId
impl Ord for CodeId
impl<L: Ord, R: Ord> Ord for Either<L, R>
impl<L: Ord, R: Ord> Ord for Either<L, R>
impl Ord for FileTime
impl Ord for FileTime
impl<T: Ord> Ord for AllowStdIo<T>
impl<T: Ord> Ord for AllowStdIo<T>
impl<T: Ord, N> Ord for GenericArray<T, N> where
N: ArrayLength<T>,
impl<T: Ord, N> Ord for GenericArray<T, N> where
N: ArrayLength<T>,
impl Ord for HeaderValue
impl Ord for HeaderValue
impl Ord for StatusCode
impl Ord for StatusCode
impl Ord for Version
impl Ord for Version
impl Ord for HttpDate
impl Ord for HttpDate
impl Ord for EventMask
impl Ord for EventMask
impl Ord for WatchMask
impl Ord for WatchMask
impl Ord for IpAddrRange
impl Ord for IpAddrRange
impl Ord for Ipv4AddrRange
impl Ord for Ipv4AddrRange
impl Ord for Ipv6AddrRange
impl Ord for Ipv6AddrRange
impl Ord for IpNet
impl Ord for IpNet
impl Ord for Ipv4Net
impl Ord for Ipv4Net
impl Ord for Ipv6Net
impl Ord for Ipv6Net
impl Ord for IpSubnets
impl Ord for IpSubnets
impl Ord for Ipv4Subnets
impl Ord for Ipv4Subnets
impl Ord for Ipv6Subnets
impl Ord for Ipv6Subnets
impl Ord for Ipv4Network
impl Ord for Ipv4Network
impl Ord for Ipv6Network
impl Ord for Ipv6Network
impl Ord for IpNetwork
impl Ord for IpNetwork
impl Ord for NetworkSize
impl Ord for NetworkSize
impl<T: Ord, E: Ord> Ord for Finish<T, E>
impl<T: Ord, E: Ord> Ord for Finish<T, E>
impl Ord for CompressionLevel
impl Ord for CompressionLevel
impl Ord for Lz77WindowSize
impl Ord for Lz77WindowSize
impl<K: Hash + Eq + Ord, V: Ord, S: BuildHasher> Ord for LinkedHashMap<K, V, S>
impl<K: Hash + Eq + Ord, V: Ord, S: BuildHasher> Ord for LinkedHashMap<K, V, S>
impl Ord for Level
impl Ord for Level
impl Ord for LevelFilter
impl Ord for LevelFilter
impl<'a> Ord for Metadata<'a>
impl<'a> Ord for Metadata<'a>
impl<'a> Ord for MetadataBuilder<'a>
impl<'a> Ord for MetadataBuilder<'a>
impl<'a> Ord for Name<'a>
impl<'a> Ord for Name<'a>
impl Ord for Mime
impl Ord for Mime
impl Ord for PollOpt
impl Ord for PollOpt
impl Ord for Ready
impl Ord for Ready
impl Ord for UnixReady
impl Ord for UnixReady
impl Ord for Token
impl Ord for Token
impl Ord for AtFlags
impl Ord for AtFlags
impl Ord for OFlag
impl Ord for OFlag
impl Ord for SealFlag
impl Ord for SealFlag
impl Ord for FdFlag
impl Ord for FdFlag
impl Ord for SpliceFFlags
impl Ord for SpliceFFlags
impl Ord for FallocateFlags
impl Ord for FallocateFlags
impl Ord for PosixFadviseAdvice
impl Ord for PosixFadviseAdvice
impl Ord for ModuleInitFlags
impl Ord for ModuleInitFlags
impl Ord for DeleteModuleFlags
impl Ord for DeleteModuleFlags
impl Ord for MsFlags
impl Ord for MsFlags
impl Ord for MntFlags
impl Ord for MntFlags
impl Ord for MQ_OFlag
impl Ord for MQ_OFlag
impl Ord for FdFlag
impl Ord for FdFlag
impl Ord for InterfaceFlags
impl Ord for InterfaceFlags
impl Ord for PollFlags
impl Ord for PollFlags
impl Ord for CloneFlags
impl Ord for CloneFlags
impl Ord for AioFsyncMode
impl Ord for AioFsyncMode
impl Ord for LioOpcode
impl Ord for LioOpcode
impl Ord for LioMode
impl Ord for LioMode
impl Ord for EpollFlags
impl Ord for EpollFlags
impl Ord for EpollCreateFlags
impl Ord for EpollCreateFlags
impl Ord for EfdFlags
impl Ord for EfdFlags
impl Ord for MemFdCreateFlag
impl Ord for MemFdCreateFlag
impl Ord for ProtFlags
impl Ord for ProtFlags
impl Ord for MapFlags
impl Ord for MapFlags
impl Ord for MmapAdvise
impl Ord for MmapAdvise
impl Ord for MsFlags
impl Ord for MsFlags
impl Ord for MlockAllFlags
impl Ord for MlockAllFlags
impl Ord for Request
impl Ord for Request
impl Ord for Event
impl Ord for Event
impl Ord for Options
impl Ord for Options
impl Ord for QuotaType
impl Ord for QuotaType
impl Ord for QuotaFmt
impl Ord for QuotaFmt
impl Ord for QuotaValidFlags
impl Ord for QuotaValidFlags
impl Ord for RebootMode
impl Ord for RebootMode
impl Ord for Signal
impl Ord for Signal
impl Ord for SaFlags
impl Ord for SaFlags
impl Ord for SigmaskHow
impl Ord for SigmaskHow
impl Ord for SfdFlags
impl Ord for SfdFlags
impl Ord for SockFlag
impl Ord for SockFlag
impl Ord for MsgFlags
impl Ord for MsgFlags
impl Ord for SFlag
impl Ord for SFlag
impl Ord for Mode
impl Ord for Mode
impl Ord for FsFlags
impl Ord for FsFlags
impl Ord for BaudRate
impl Ord for BaudRate
impl Ord for SetArg
impl Ord for SetArg
impl Ord for FlushArg
impl Ord for FlushArg
impl Ord for FlowArg
impl Ord for FlowArg
impl Ord for SpecialCharacterIndices
impl Ord for SpecialCharacterIndices
impl Ord for InputFlags
impl Ord for InputFlags
impl Ord for OutputFlags
impl Ord for OutputFlags
impl Ord for ControlFlags
impl Ord for ControlFlags
impl Ord for LocalFlags
impl Ord for LocalFlags
impl Ord for TimeSpec
impl Ord for TimeSpec
impl Ord for TimeVal
impl Ord for TimeVal
impl Ord for WaitPidFlag
impl Ord for WaitPidFlag
impl Ord for AddWatchFlags
impl Ord for AddWatchFlags
impl Ord for InitFlags
impl Ord for InitFlags
impl Ord for WatchDescriptor
impl Ord for WatchDescriptor
impl Ord for ClockId
impl Ord for ClockId
impl Ord for TimerFlags
impl Ord for TimerFlags
impl Ord for TimerSetTimeFlags
impl Ord for TimerSetTimeFlags
impl Ord for ClockId
impl Ord for ClockId
impl Ord for Pid
impl Ord for Pid
impl Ord for AccessFlags
impl Ord for AccessFlags
impl Ord for Op
impl Ord for Op
impl Ord for RecursiveMode
impl Ord for RecursiveMode
impl Ord for Locale
impl Ord for Locale
impl<'a> Ord for DecimalStr<'a>
impl<'a> Ord for DecimalStr<'a>
impl<'a> Ord for InfinityStr<'a>
impl<'a> Ord for InfinityStr<'a>
impl<'a> Ord for MinusSignStr<'a>
impl<'a> Ord for MinusSignStr<'a>
impl<'a> Ord for NanStr<'a>
impl<'a> Ord for NanStr<'a>
impl<'a> Ord for PlusSignStr<'a>
impl<'a> Ord for PlusSignStr<'a>
impl<'a> Ord for SeparatorStr<'a>
impl<'a> Ord for SeparatorStr<'a>
impl<T: Clone + Integer> Ord for Ratio<T>
impl<T: Clone + Integer> Ord for Ratio<T>
impl Ord for BigNumRef
impl Ord for BigNumRef
impl Ord for BigNum
impl Ord for BigNum
impl Ord for CMSOptions
impl Ord for CMSOptions
impl Ord for OcspFlag
impl Ord for OcspFlag
impl Ord for Pkcs7Flags
impl Ord for Pkcs7Flags
impl Ord for SslOptions
impl Ord for SslOptions
impl Ord for SslMode
impl Ord for SslMode
impl Ord for SslVerifyMode
impl Ord for SslVerifyMode
impl Ord for SslSessionCacheMode
impl Ord for SslSessionCacheMode
impl Ord for ExtensionContext
impl Ord for ExtensionContext
impl Ord for ShutdownState
impl Ord for ShutdownState
impl Ord for X509CheckFlags
impl Ord for X509CheckFlags
impl<T: Float> Ord for OrderedFloat<T>
impl<T: Float> Ord for OrderedFloat<T>
impl<T: Float> Ord for NotNan<T>
impl<T: Float> Ord for NotNan<T>
impl<'i> Ord for Position<'i>
impl<'i> Ord for Position<'i>
impl Ord for MacAddr
impl Ord for MacAddr
impl Ord for Ident
impl Ord for Ident
impl Ord for NFSServerCaps
impl Ord for NFSServerCaps
impl Ord for StatFlags
impl Ord for StatFlags
impl Ord for CoredumpFlags
impl Ord for CoredumpFlags
impl Ord for FDPermissions
impl Ord for FDPermissions
impl Ord for Version
impl Ord for Version
impl Ord for LabelPair
impl Ord for LabelPair
impl Ord for Chars
impl Ord for Chars
impl Ord for ObserveID
impl Ord for ObserveID
impl Ord for PeerTicks
impl Ord for PeerTicks
impl Ord for ProposalContext
impl Ord for ProposalContext
impl Ord for SnapKey
impl Ord for SnapKey
impl Ord for KeyEntry
impl Ord for KeyEntry
impl Ord for Span
impl Ord for Span
impl Ord for Position
impl Ord for Position
impl Ord for Literal
impl Ord for Literal
impl Ord for ClassUnicodeRange
impl Ord for ClassUnicodeRange
impl Ord for ClassBytesRange
impl Ord for ClassBytesRange
impl Ord for Utf8Sequence
impl Ord for Utf8Sequence
impl Ord for Utf8Range
impl Ord for Utf8Range
impl<ComponentType: Ord> Ord for BGR<ComponentType>
impl<ComponentType: Ord> Ord for BGR<ComponentType>
impl<ComponentType: Ord, AlphaComponentType: Ord> Ord for BGRA<ComponentType, AlphaComponentType>
impl<ComponentType: Ord, AlphaComponentType: Ord> Ord for BGRA<ComponentType, AlphaComponentType>
impl<ComponentType: Ord> Ord for Gray<ComponentType>
impl<ComponentType: Ord> Ord for Gray<ComponentType>
impl<ComponentType: Ord, AlphaComponentType: Ord> Ord for GrayAlpha<ComponentType, AlphaComponentType>
impl<ComponentType: Ord, AlphaComponentType: Ord> Ord for GrayAlpha<ComponentType, AlphaComponentType>
impl<ComponentType: Ord> Ord for RGB<ComponentType>
impl<ComponentType: Ord> Ord for RGB<ComponentType>
impl<ComponentType: Ord, AlphaComponentType: Ord> Ord for RGBA<ComponentType, AlphaComponentType>
impl<ComponentType: Ord, AlphaComponentType: Ord> Ord for RGBA<ComponentType, AlphaComponentType>
impl Ord for Identifier
impl Ord for Identifier
impl Ord for Version
impl Ord for Version
impl Ord for VersionReq
impl Ord for VersionReq
impl Ord for RangeSet
impl Ord for RangeSet
impl Ord for Compat
impl Ord for Compat
impl Ord for Range
impl Ord for Range
impl Ord for Comparator
impl Ord for Comparator
impl Ord for Op
impl Ord for Op
impl Ord for Identifier
impl Ord for Identifier
impl<'input> Ord for Token<'input>
impl<'input> Ord for Token<'input>
impl Ord for Error
impl Ord for Error
impl<'input> Ord for Error<'input>
impl<'input> Ord for Error<'input>
impl Ord for Version
impl Ord for Version
impl Ord for Identifier
impl Ord for Identifier
impl<Sep: Ord> Ord for StringWithSeparator<Sep>
impl<Sep: Ord> Ord for StringWithSeparator<Sep>
impl Ord for SpaceSeparator
impl Ord for SpaceSeparator
impl Ord for CommaSeparator
impl Ord for CommaSeparator
impl Ord for SigId
impl Ord for SigId
impl Ord for Level
impl Ord for Level
impl Ord for FilterLevel
impl Ord for FilterLevel
impl Ord for OverflowStrategy
impl Ord for OverflowStrategy
impl<A: Array> Ord for SmallVec<A> where
A::Item: Ord,
impl<A: Array> Ord for SmallVec<A> where
A::Item: Ord,
impl Ord for CpuFamily
impl Ord for CpuFamily
impl Ord for Arch
impl Ord for Arch
impl Ord for Language
impl Ord for Language
impl Ord for NameMangling
impl Ord for NameMangling
impl Ord for Lifetime
impl Ord for Lifetime
impl Ord for User
impl Ord for User
impl Ord for FieldTypeFlag
impl Ord for FieldTypeFlag
impl<T, C: Collator> Ord for SortKey<T, C> where
T: AsRef<[u8]>,
impl<T, C: Collator> Ord for SortKey<T, C> where
T: AsRef<[u8]>,
impl<'a> Ord for ScalarValueRef<'a>
impl<'a> Ord for ScalarValueRef<'a>
impl Ord for BinaryLiteral
impl Ord for BinaryLiteral
impl Ord for Decimal
impl Ord for Decimal
impl Ord for Duration
impl Ord for Duration
impl Ord for Enum
impl Ord for Enum
impl<'a> Ord for EnumRef<'a>
impl<'a> Ord for EnumRef<'a>
impl<'a> Ord for JsonRef<'a>
impl<'a> Ord for JsonRef<'a>
impl Ord for Json
impl Ord for Json
impl Ord for Set
impl Ord for Set
impl<'a> Ord for SetRef<'a>
impl<'a> Ord for SetRef<'a>
impl Ord for WeekMode
impl Ord for WeekMode
impl Ord for Time
impl Ord for Time
impl Ord for Flags
impl Ord for Flags
impl Ord for SqlMode
impl Ord for SqlMode
impl Ord for Flag
impl Ord for Flag
impl Ord for HeapItemUnsafe
impl Ord for HeapItemUnsafe
impl Ord for UnixSecs
impl Ord for UnixSecs
impl<T> Ord for TimeoutTask<T>
impl<T> Ord for TimeoutTask<T>
impl Ord for Date
impl Ord for Date
impl Ord for Duration
impl Ord for Duration
impl Ord for Format
impl Ord for Format
impl Ord for Instant
impl Ord for Instant
impl Ord for OffsetDateTime
impl Ord for OffsetDateTime
impl Ord for PrimitiveDateTime
impl Ord for PrimitiveDateTime
impl Ord for Time
impl Ord for Time
impl Ord for UtcOffset
impl Ord for UtcOffset
impl Ord for Instant
impl Ord for Instant
impl Ord for BytesCodec
impl Ord for BytesCodec
impl Ord for LinesCodec
impl Ord for LinesCodec
impl Ord for Level
impl Ord for Level
impl Ord for LevelFilter
impl Ord for LevelFilter
impl Ord for TimeStamp
impl Ord for TimeStamp
impl Ord for Key
impl Ord for Key
impl Ord for WriteBatchFlags
impl Ord for WriteBatchFlags
impl Ord for B0
impl Ord for B0
impl Ord for B1
impl Ord for B1
impl<U: Ord + Unsigned + NonZero> Ord for PInt<U>
impl<U: Ord + Unsigned + NonZero> Ord for PInt<U>
impl<U: Ord + Unsigned + NonZero> Ord for NInt<U>
impl<U: Ord + Unsigned + NonZero> Ord for NInt<U>
impl Ord for Z0
impl Ord for Z0
impl Ord for UTerm
impl Ord for UTerm
impl<U: Ord, B: Ord> Ord for UInt<U, B>
impl<U: Ord, B: Ord> Ord for UInt<U, B>
impl Ord for ATerm
impl Ord for ATerm
impl<V: Ord, A: Ord> Ord for TArr<V, A>
impl<V: Ord, A: Ord> Ord for TArr<V, A>
impl Ord for Greater
impl Ord for Greater
impl Ord for Less
impl Ord for Less
impl Ord for Equal
impl Ord for Equal
impl<T: AsRef<str>> Ord for Ascii<T>
impl<T: AsRef<str>> Ord for Ascii<T>
impl<T: AsRef<str>> Ord for UniCase<T>
impl<T: AsRef<str>> Ord for UniCase<T>
impl Ord for Level
impl Ord for Level
impl<S: Ord> Ord for Host<S>
impl<S: Ord> Ord for Host<S>
impl Ord for Url
impl Ord for Url
impl Ord for Hyphenated
impl Ord for Hyphenated
impl<'a> Ord for HyphenatedRef<'a>
impl<'a> Ord for HyphenatedRef<'a>
impl Ord for Simple
impl Ord for Simple
impl<'a> Ord for SimpleRef<'a>
impl<'a> Ord for SimpleRef<'a>
impl Ord for Urn
impl Ord for Urn
impl<'a> Ord for UrnRef<'a>
impl<'a> Ord for UrnRef<'a>
impl Ord for Uuid
impl Ord for Uuid
impl<V: Ord> Ord for VecMap<V>
impl<V: Ord> Ord for VecMap<V>