[−][src]Crate case_insensitive_hashmap
A wrapper around the std::collections::HashMap that uses case-insensitive Strings for keys.
Since this is a simple wrapper around the standard HashMap, please see its documentation for more information.
The key type of the CaseInsensitiveHashMap is always UniCase<String>
.
Most methods that have a key parameter have a constraint <K: Into<Key>>
.
This means that you can call them with a String
, a &str
or a UniCase<String>
if you already have one. This make the API more ergonomic than
the alternative of using UniCase<String>
directly as a key type in your
own std::collections::HashMap
.
Examples
use unicase::UniCase; use case_insensitive_hashmap::CaseInsensitiveHashMap; let mut map = CaseInsensitiveHashMap::new(); map.insert("a", 20); map.insert("B".to_string(), 40); // All these are valid key forms. assert!(map.contains_key("A")); assert!(map.contains_key("A".to_string())); let uc = UniCase::new("A".to_string()); assert!(map.contains_key(uc)); // Lookup of values is case-insensitive. assert_eq!(map.get("a"), Some(&20)); assert_eq!(map.get("A"), Some(&20)); assert_eq!(map["a"], 20); assert_eq!(map["A"], 20);
Structs
CaseInsensitiveHashMap |