14 releases (9 breaking)
Uses old Rust 2015
0.10.0 | Jan 15, 2024 |
---|---|
0.9.1 | Oct 23, 2023 |
0.9.0 | Mar 21, 2023 |
0.8.3 | Mar 15, 2021 |
0.1.0 | Apr 24, 2015 |
#61 in Data structures
4,059,783 downloads per month
Used in 2,182 crates
(102 directly)
55KB
1K
SLoC
Multimap implementation for Rust
This is a multimap implementation for Rust. Implemented as a thin wrapper around
std::collections::HashMap
.
Example
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]));
}
Changelog
0.10.0
- Added
FromIterator<(K, Vec<V>)>
#48.
0.9.1
- Fixes a bug where iteration would panic on empty (inner) vectors #46.
0.9.0
- Added
flat_iter
andflat_iter_mut
- Fixed bug where
get
andget_mut
could panic.
0.8.3
multimap!
macro fixes; allow trailing comma, naming hygiene and create with enough capacity for all elements.
0.8.2
- Added
#![forbid(unsafe_code)]
.
0.8.1
- Fixed wrong link to documentation in
Cargo.toml
.
0.8.0
- Added
MultiMap::insert_many
. - Added
MultiMap::insert_many_from_slice
.
0.7.0
- Added possibility to replace the default hasher for the underlying
HashMap
. - Fix build warning by removing an unnecessary
mut
.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT) at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~170KB