3 个版本 (破坏性更新)

0.3.0 2023 年 9 月 5 日
0.2.0 2023 年 7 月 28 日
0.1.3 2019 年 6 月 6 日

#989 in Rust 模式

Download history 160/week @ 2024-03-16 135/week @ 2024-03-23 114/week @ 2024-03-30 51/week @ 2024-04-06 55/week @ 2024-04-13 83/week @ 2024-04-20 123/week @ 2024-04-27 73/week @ 2024-05-04 67/week @ 2024-05-11 82/week @ 2024-05-18 51/week @ 2024-05-25 35/week @ 2024-06-01 18/week @ 2024-06-08 36/week @ 2024-06-15 44/week @ 2024-06-22 6/week @ 2024-06-29

每月下载 109

MIT 许可证

26KB
482

Range-Ext

Range-Ext 是一个用于处理范围交集的 Rust 库。它提供了一套类型和方法来确定两个数值范围是否相交以及如何相交。

特性

  • 交集枚举:一个简单的枚举帮助识别范围之间发生的交集类型。选项包括:EmptyOverlapFull
  • 扩展交集枚举:一个扩展枚举引入了范围交集的更多、更具体的类型。它包括 BellowBellowOverlapWithinSameOverAboveOverlapAbove
  • 交集特质:一个可以在范围上实现以确定与其他范围交集类型的特质。

用法

要在您的 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。

无运行时依赖