Enum blart::InsertSearchResultType
source · pub enum InsertSearchResultType<K, V> {
MismatchPrefix {
matched_prefix_size: usize,
mismatched_inner_node_ptr: OpaqueNodePtr<K, V>,
},
SplitLeaf {
leaf_node_ptr: NodePtr<LeafNode<K, V>>,
},
IntoExisting {
inner_node_ptr: OpaqueNodePtr<K, V>,
},
}
Expand description
The type of insert
Variants§
MismatchPrefix
Fields
§
mismatched_inner_node_ptr: OpaqueNodePtr<K, V>
A pointer to the inner node which had a mismatched prefix
An insert where an inner node had a differing prefix from the key.
This insert type will create a new inner node with the portion of the prefix that did match, and update the existing inner node
SplitLeaf
An insert where the node to be added matched all the way up to a leaf node.
This insert type will create a new inner node, and assign the existing leaf and the new leaf as children to that node.
IntoExisting
Fields
§
inner_node_ptr: OpaqueNodePtr<K, V>
A pointer to the existing inner node which will be updated to contain the new child leaf node
An insert where the search terminated at an existing inner node that did not have a child with the key byte.
If the inner node is full, it will be grown to the next largest size.
Trait Implementations§
Auto Trait Implementations§
impl<K, V> RefUnwindSafe for InsertSearchResultType<K, V>where K: RefUnwindSafe, V: RefUnwindSafe,
impl<K, V> !Send for InsertSearchResultType<K, V>
impl<K, V> !Sync for InsertSearchResultType<K, V>
impl<K, V> Unpin for InsertSearchResultType<K, V>where K: Unpin, V: Unpin,
impl<K, V> UnwindSafe for InsertSearchResultType<K, V>where K: UnwindSafe + RefUnwindSafe, V: UnwindSafe + RefUnwindSafe,
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