Struct blart::InnerNode256
source · pub struct InnerNode256<K, V> {
pub header: Header,
pub child_pointers: [Option<OpaqueNodePtr<K, V>>; 256],
}
Expand description
Node that references between 49 and 256 children
Fields§
§header: Header
The common node fields.
child_pointers: [Option<OpaqueNodePtr<K, V>>; 256]
An array that directly maps a key byte (as index) to a child node.
Implementations§
source§impl<K, V> InnerNode256<K, V>
impl<K, V> InnerNode256<K, V>
Trait Implementations§
source§impl<K, V> Clone for InnerNode256<K, V>
impl<K, V> Clone for InnerNode256<K, V>
source§impl<K, V> Debug for InnerNode256<K, V>
impl<K, V> Debug for InnerNode256<K, V>
source§impl<K, V> InnerNode for InnerNode256<K, V>
impl<K, V> InnerNode for InnerNode256<K, V>
§type GrownNode = InnerNode256<K, V>
type GrownNode = InnerNode256<K, V>
The type of the next larger node type.
§type Iter = InnerNode256Iter<K, V>
type Iter = InnerNode256Iter<K, V>
The type of the iterator over all children of the inner node
§type ShrunkNode = InnerNode48<K, V>
type ShrunkNode = InnerNode48<K, V>
The type of the next smaller node type.
source§fn lookup_child(
&self,
key_fragment: u8
) -> Option<OpaqueNodePtr<<Self as Node>::Key, <Self as Node>::Value>>
fn lookup_child( &self, key_fragment: u8 ) -> Option<OpaqueNodePtr<<Self as Node>::Key, <Self as Node>::Value>>
Search through this node for a child node that corresponds to the given
key fragment.
source§fn write_child(
&mut self,
key_fragment: u8,
child_pointer: OpaqueNodePtr<<Self as Node>::Key, <Self as Node>::Value>
)
fn write_child( &mut self, key_fragment: u8, child_pointer: OpaqueNodePtr<<Self as Node>::Key, <Self as Node>::Value> )
Write a child pointer with key fragment to this inner node. Read more
source§fn remove_child(
&mut self,
key_fragment: u8
) -> Option<OpaqueNodePtr<<Self as Node>::Key, <Self as Node>::Value>>
fn remove_child( &mut self, key_fragment: u8 ) -> Option<OpaqueNodePtr<<Self as Node>::Key, <Self as Node>::Value>>
Attempt to remove a child pointer at the key fragment from this inner
node. Read more
source§fn grow(&self) -> Self::GrownNode
fn grow(&self) -> Self::GrownNode
Grow this node into the next larger class, copying over children and
prefix information.
source§fn shrink(&self) -> Self::ShrunkNode
fn shrink(&self) -> Self::ShrunkNode
Shrink this node into the next smaller class, copying over children and
prefix information. Read more
source§fn header_mut(&mut self) -> &mut Header
fn header_mut(&mut self) -> &mut Header
Access the header information for this node.
source§unsafe fn iter(&self) -> Self::Iter
unsafe fn iter(&self) -> Self::Iter
Create an iterator over all (key bytes, child pointers) in this inner
node. Read more
source§impl<K, V> Node for InnerNode256<K, V>
impl<K, V> Node for InnerNode256<K, V>
source§impl<K, T> Visitable<K, T> for InnerNode256<K, T>
impl<K, T> Visitable<K, T> for InnerNode256<K, T>
impl<K, V> Sealed for InnerNode256<K, V>
Auto Trait Implementations§
impl<K, V> RefUnwindSafe for InnerNode256<K, V>where K: RefUnwindSafe, V: RefUnwindSafe,
impl<K, V> !Send for InnerNode256<K, V>
impl<K, V> !Sync for InnerNode256<K, V>
impl<K, V> Unpin for InnerNode256<K, V>where K: Unpin, V: Unpin,
impl<K, V> UnwindSafe for InnerNode256<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