#[repr(transparent)]pub struct Cmp<T: ?Sized = dyn Display>(pub T);
Expand description
A wrapper type that compares the inner value in its Display
representation.
This implements Eq
, Ord
and Hash
traits with eq
, cmp
and hash
functions.
§Example
Wrapping !FmtOrd
types:
assert_eq!(fmt_cmp::Cmp(f64::NAN), fmt_cmp::Cmp(f64::NAN));
assert!(fmt_cmp::Cmp(42) > fmt_cmp::Cmp(240));
Sorting integers lexicographically:
use std::collections::BTreeSet;
let mut values: BTreeSet<fmt_cmp::Cmp<u32>> = (1..=10).map(fmt_cmp::Cmp).collect();
assert!(values
.into_iter()
.map(|cmp| cmp.0)
.eq([1, 10, 2, 3, 4, 5, 6, 7, 8, 9]));
Tuple Fields§
§0: T
Implementations§
Trait Implementations§
Source§impl<T: Display + ?Sized> Ord for Cmp<T>
impl<T: Display + ?Sized> Ord for Cmp<T>
Source§impl<T: Display + ?Sized, U: Display + ?Sized> PartialOrd<Cmp<U>> for Cmp<T>
impl<T: Display + ?Sized, U: Display + ?Sized> PartialOrd<Cmp<U>> for Cmp<T>
impl<T: Copy + ?Sized> Copy for Cmp<T>
impl<T: Display + ?Sized> Eq for Cmp<T>
impl<T: Display + ?Sized> FmtEq for Cmp<T>
impl<T: Display + ?Sized> FmtOrd for Cmp<T>
Auto Trait Implementations§
impl<T> Freeze for Cmp<T>
impl<T> RefUnwindSafe for Cmp<T>where
T: RefUnwindSafe + ?Sized,
impl<T> Send for Cmp<T>
impl<T> Sync for Cmp<T>
impl<T> Unpin for Cmp<T>
impl<T> UnwindSafe for Cmp<T>where
T: UnwindSafe + ?Sized,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more