14个版本 (9个破坏性更新)
使用旧的Rust 2015
0.10.0 | 2024年1月15日 |
---|---|
0.9.1 | 2023年10月23日 |
0.9.0 | 2023年3月21日 |
0.8.3 | 2021年3月15日 |
0.1.0 | 2015年4月24日 |
#51 in 数据结构
3,347,431 每月下载量
用于 2,076 个crate(102直接使用)
55KB
1K SLoC
Rust的多值映射实现
这是Rust的多值映射实现。作为std::collections::HashMap的轻量级包装实现。
示例
extern crate multimap;
use multimap::MultiMap;
fn main () {
let mut map = MultiMap::new();
map.insert("key1", 42);
map.insert("key1", 1337);
map.insert("key2", 2332);
assert_eq!(map["key1"], 42);
assert_eq!(map.get("key1"), Some(&42));
assert_eq!(map.get_vec("key1"), Some(&vec![42, 1337]));
}
更新日志
0.10.0
- 添加了
FromIterator<(K, Vec<V>)>
#48。
0.9.1
- 修复了在空(内部)向量上迭代会导致panic的bug #46。
0.9.0
- 添加了
flat_iter
和flat_iter_mut
。 - 修复了
get
和get_mut
可能会导致panic的bug。
0.8.3
multimap!
宏修复;允许尾随逗号,命名规范和为所有元素创建足够容量的实例。
0.8.2
- 添加了
#![forbid(unsafe_code)]
。
0.8.1
- 修复了在
Cargo.toml
中的错误文档链接。
0.8.0
- 添加了
MultiMap::insert_many
。 - 添加了
MultiMap::insert_many_from_slice
。
0.7.0
- 添加了替换底层HashMap默认哈希器的可能性。
- 通过删除不必要的
mut
来修复构建警告。
许可
在以下任一许可下发布
- Apache License,版本2.0 (LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://opensource.org/licenses/MIT)任选其一。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,应如上双重许可,不附加任何额外条款或条件。
依赖项
~165KB