pub enum Node<K, V> {
Inner {
data_map: u32,
node_map: u32,
data_start: Idx<Entry<K, V>>,
children_start: Idx<Idx<Self>>,
adhash: u64,
},
Collision {
hash: u64,
entries_start: Idx<Entry<K, V>>,
entries_len: u8,
adhash: u64,
},
}Expand description
Variants§
Inner
Bitmap-compressed inner node.
Invariant: data_map & node_map == 0 (disjoint positions).
Fields
Collision
Collision node for keys sharing the same 64-bit hash.
Invariant: entries_len >= 2.
Implementations§
Trait Implementations§
impl<K, V> Copy for Node<K, V>
Auto Trait Implementations§
impl<K, V> Freeze for Node<K, V>
impl<K, V> RefUnwindSafe for Node<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for Node<K, V>
impl<K, V> Sync for Node<K, V>
impl<K, V> Unpin for Node<K, V>
impl<K, V> UnsafeUnpin for Node<K, V>
impl<K, V> UnwindSafe for Node<K, V>where
K: UnwindSafe,
V: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more