Module miri::borrow_tracker::tree_borrows::unimap
source · Expand description
This module implements the UniMap
, which is a way to get efficient mappings
optimized for the setting of tree_borrows/tree.rs
.
A UniKeyMap<K>
is a (slow) mapping from K
to UniIndex
,
and UniValMap<V>
is a (fast) mapping from UniIndex
to V
.
Thus a pair (UniKeyMap<K>, UniValMap<V>)
acts as a virtual HashMap<K, V>
.
Because of the asymmetry in access time, the use-case for UniMap
is the following:
a tuple (UniKeyMap<K>, Vec<UniValMap<V>>)
is much more efficient than
the equivalent Vec<HashMap<K, V>>
it represents if all maps have similar
sets of keys.
Modules
- tests 🔒
Structs
- An access to a single value of the map.
- Intermediate key between a UniKeyMap and a UniValMap.
- From K to UniIndex
- From UniIndex to V