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