range-cmp

Crates.iorange-cmp
lib.rsrange-cmp
version0.1.3
sourcesrc
created_at2023-10-31 13:51:11.221374
updated_at2023-11-08 08:32:48.24719
descriptionTrait that allows comparing a value to a range of values
homepage
repositoryhttps://github.com/Akvize/range-cmp
max_upload_size
id1019850
size27,448
Adrien Della Gaspera (adriendellagaspera)

documentation

README

range_cmp

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

Empty ranges handling

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);
Commit count: 40

cargo fmt