Crates.io | fmt-cmp |
lib.rs | fmt-cmp |
version | 0.1.2 |
source | src |
created_at | 2021-12-29 08:24:39.063207 |
updated_at | 2024-07-28 13:18:59.247691 |
description | Traits and utilities for lexicographically comparing values in their `Display` representations |
homepage | |
repository | https://github.com/tesaguri/fmt-cmp.git |
max_upload_size | |
id | 504690 |
size | 58,624 |
fmt-cmp
A Rust library for lexicographically comparing values in their Display
representations.
The utilities provided by this library gives the same results as comparing
values after applying to_string()
, but they never allocate on the heap memory.
Compare digits of numbers:
assert!(fmt_cmp::eq(f64::NAN, f64::NAN)); // `"NaN" == "NaN"`
assert!(fmt_cmp::cmp(&42, &240).is_gt()); // `"42" > "240"`
Sorting integers lexicographically:
use std::collections::BTreeSet;
use fmt_cmp::Cmp as FmtCmp;
let mut values: BTreeSet<FmtCmp<u32>> = (1..=10).map(FmtCmp).collect();
assert!(values
.into_iter()
.map(|cmp| cmp.0)
.eq([1, 10, 2, 3, 4, 5, 6, 7, 8, 9]));
Copyright (c) 2021 Daiki "tesaguri" Mizukami
This project is licensed under either of:
at your option.