2 个版本
使用旧的 Rust 2015
0.1.1 | 2023 年 3 月 22 日 |
---|---|
0.1.0 | 2021 年 5 月 5 日 |
1173 在 数据结构 中排名
每月下载量 1,470
在 8 个 包中使用(直接使用 2 个)
55KB
1K SLoC
Rust 的多重映射实现
这是一个支持范围查询的有序多重映射实现,通过在 std::collections::BTreeMap 的基础上封装实现。
示例
extern crate multimap;
use btreemultimap::BTreeMultiMap;
fn main () {
let mut map = BTreeMultiMap::new();
map.insert(3, "a");
map.insert(5, "b");
map.insert(5, "c");
map.insert(8, "c");
map.insert(9, "d");
assert_eq!(map[3], "a");
assert_eq!(map.get(5), Some(&"b"));
assert_eq!(map.get_vec(5), Some(&vec!["b", "c"]));
for (&key, &value) in map.range((Included(&4), Included(&8))) {
println!("{}: {}", key, value);
}
let mut iter = map.range(4..=8);
assert_eq!(Some((&5, &"b")), iter.next());
assert_eq!(Some((&5, &"c")), iter.next());
assert_eq!(Some((&8, &"c")), iter.next());
assert_eq!(None, iter.next());
}
许可协议
许可协议为以下之一
- Apache 许可协议 2.0 版(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议(LICENSE-MIT 或 http://opensource.org/licenses/MIT)任选其一。
贡献
除非你明确声明,否则根据 Apache-2.0 许可证定义,你故意提交给作品的所有贡献都将如上所述双重许可,不附加任何额外条款或条件。
依赖项
~170KB