#range #set #list #set-operations

rangelist

将集合表示为包含范围列表的形式

2个不稳定版本

新版本 0.2.0 2024年8月12日
0.1.0 2024年7月5日

#566 in 算法

Download history 105/week @ 2024-07-03 7/week @ 2024-07-10 111/week @ 2024-08-07

111 每月下载量
2 crates 中使用

MPL-2.0 许可协议

31KB
743 代码行

范围列表

rangelist 是一个Rust库,它将元素集合实现为元素(区间)的范围,为具有连续数据的集合提供高效的存储和操作。用户可以使用提供的 RangeList 类型,或者使用提供的特性和迭代器,以使用自己的类型与库一起使用。

入门

使用 cargo 安装库

cargo install rangelist

阅读文档以获取有关如何使用库的更多信息。

许可协议

本项目采用MPL-2.0许可协议。请参阅LICENSE文件以获取详细信息。


lib.rs:

一个用于处理表示为包含范围值的集合值的库。

该库定义了一个可以用来表示值集合的 RangeList 结构,这些范围存储在去重并排序的顺序中。

此外,该库定义了一个 IntervalIterator 特性,该特性可以由类型实现,以提供排序的包含范围的迭代器。任何实现此特性的类型的组合都可以用来执行并集和交集等标准集合操作。

最后,该库提供了 DiffIterIntersectIterUnionIter,它们是惰性迭代器组合器,可以用来在两个有序范围迭代器上执行集合操作。

依赖

~510KB