3 个版本 (破坏性更新)
0.3.0 | 2023 年 9 月 5 日 |
---|---|
0.2.0 | 2023 年 7 月 28 日 |
0.1.3 | 2019 年 6 月 6 日 |
#989 in Rust 模式
每月下载 109 次
26KB
482 行
Range-Ext
Range-Ext 是一个用于处理范围交集的 Rust 库。它提供了一套类型和方法来确定两个数值范围是否相交以及如何相交。
特性
- 交集枚举:一个简单的枚举帮助识别范围之间发生的交集类型。选项包括:
Empty
、Overlap
和Full
。 - 扩展交集枚举:一个扩展枚举引入了范围交集的更多、更具体的类型。它包括
Bellow
、BellowOverlap
、Within
、Same
、Over
、AboveOverlap
和Above
。 - 交集特质:一个可以在范围上实现以确定与其他范围交集类型的特质。
用法
要在您的 Rust 程序中使用 Range-Ext,请将其添加到您的 Cargo.toml
文件中
use range_ext::{IntersectionExt, Intersect};
let range1 = 3..10;
let range2 = 5..8;
let intersection = range1.intersect(&range2);
问题:我认为如果任一范围没有升序的起始到结束,则范围交集存在问题。为了使其工作,我假设如果它们是降序的,则可以反转,但这导致另一个成为 RangeToInclusive,而这尚未实现。所以目前没有降序范围。
待办事项:目前仍然缺少 RangeToInclusive。