12 releases (breaking)
Uses old Rust 2015
new 0.9.0 | Mar 21, 2023 |
---|---|
0.8.3 | Mar 15, 2021 |
0.8.2 | Aug 26, 2020 |
0.8.1 | Mar 29, 2020 |
0.1.0 | Apr 24, 2015 |
#131 in Data structures
1,420,617 downloads per month
Used in 1,366 crates
(77 directly)
52KB
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.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
~63KB