Skip to content

havarnov/multimap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.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 and flat_iter_mut
  • Fixed bug where get and get_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

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages