This is a multimap implementation for Rust. Implemented as a thin wrapper around
std::collections::HashMap
.
````rust 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]));
} ````
flat_iter
and flat_iter_mut
get
and get_mut
could panic.multimap!
macro fixes; allow trailing comma, naming hygiene and create with
enough capacity for all elements.#![forbid(unsafe_code)]
.Cargo.toml
.MultiMap::insert_many
.MultiMap::insert_many_from_slice
.HashMap
.mut
.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.
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.