[−][src]Crate key_vec
Vec-backed container of key-value pairs sorted by key for order 'log n' lookup.
use key_vec::KeyVec; let v = KeyVec::from (vec![(5, 'a'), (1, 'b'), (-1, 'c')]); assert_eq!(*v, vec![(-1, 'c'), (1, 'b'), (5, 'a')]); assert_eq!(&'c', v.get (&-1).unwrap()); assert!(v.get (&-2).is_none());
When constructing from a vec with duplicate keys, the first of any duplicates will be retained:
use key_vec::KeyVec; let v = KeyVec::from (vec![(5, 'a'), (-10, 'b'), (2, 'c'), (5, 'd')]); assert_eq!(*v, vec![(-10, 'b'), (2, 'c'), (5, 'a')]);
When building or extending from an iterator, the last value to appear in the iterator will supercede any previous values with the same key:
use key_vec::KeyVec; let mut v = KeyVec::new(); assert!(v.insert (5, 'a').is_none()); v.extend (vec![(10, 'b'), (5, 'c'), (2, 'd'), (5, 'e')]); assert_eq!(*v, vec![(2, 'd'), (5, 'e'), (10, 'b')]);
Structs
IterMut | |
KeyVec | Vec of key-value pairs sorted by key. |