11 releases (7 breaking)

Uses old Rust 2015

0.8.3 Mar 15, 2021
0.8.2 Aug 26, 2020
0.8.1 Mar 29, 2020
0.8.0 Nov 21, 2019
0.1.0 Apr 24, 2015
Download history 158679/week @ 2022-03-06 158659/week @ 2022-03-13 167818/week @ 2022-03-20 184684/week @ 2022-03-27 190586/week @ 2022-04-03 193638/week @ 2022-04-10 193996/week @ 2022-04-17 190406/week @ 2022-04-24 179931/week @ 2022-05-01 192844/week @ 2022-05-08 185820/week @ 2022-05-15 181909/week @ 2022-05-22 173084/week @ 2022-05-29 204489/week @ 2022-06-05 198863/week @ 2022-06-12 227016/week @ 2022-06-19

812,613 downloads per month
Used in 895 crates (55 directly)

MIT/Apache

48KB
926 lines

Travis Build Status crates.io docs.rs

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.8.3

  • multimap! marco 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

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

~64KB