Crates.io | range-cmp |
lib.rs | range-cmp |
version | 0.1.3 |
source | src |
created_at | 2023-10-31 13:51:11.221374 |
updated_at | 2023-11-08 08:32:48.24719 |
description | Trait that allows comparing a value to a range of values |
homepage | |
repository | https://github.com/Akvize/range-cmp |
max_upload_size | |
id | 1019850 |
size | 27,448 |
This Rust crate provides the RangeComparable
trait on all types that
implement Ord
. This traits exposes a range_cmp
associated method
that allows comparing a value with a range of values:
use range_cmp::{RangeComparable, RangeOrdering};
assert_eq!(15.range_cmp(20..30), RangeOrdering::Below);
assert_eq!(25.range_cmp(20..30), RangeOrdering::Inside);
assert_eq!(35.range_cmp(20..30), RangeOrdering::Above);
This crate does not strictly handle empty ranges, which are not mathematically comparable. In this case, range_cmp will show different behavior depending on the representation of the empty range. For instance:
assert_eq!(30.range_cmp(45..35), RangeOrdering::Below);
assert_eq!(30.range_cmp(25..15), RangeOrdering::Above);
assert_eq!(0.range_cmp(0..0), RangeOrdering::Above);