pub enum ConcreteNodePtr<K, V, const PREFIX_LEN: usize> {
Node4(NodePtr<PREFIX_LEN, InnerNode4<K, V, PREFIX_LEN>>),
Node16(NodePtr<PREFIX_LEN, InnerNode16<K, V, PREFIX_LEN>>),
Node48(NodePtr<PREFIX_LEN, InnerNode48<K, V, PREFIX_LEN>>),
Node256(NodePtr<PREFIX_LEN, InnerNode256<K, V, PREFIX_LEN>>),
LeafNode(NodePtr<PREFIX_LEN, LeafNode<K, V, PREFIX_LEN>>),
}
Expand description
An enum that encapsulates pointers to every type of Node
Variants§
Node4(NodePtr<PREFIX_LEN, InnerNode4<K, V, PREFIX_LEN>>)
Node that references between 2 and 4 children
Node16(NodePtr<PREFIX_LEN, InnerNode16<K, V, PREFIX_LEN>>)
Node that references between 5 and 16 children
Node48(NodePtr<PREFIX_LEN, InnerNode48<K, V, PREFIX_LEN>>)
Node that references between 17 and 49 children
Node256(NodePtr<PREFIX_LEN, InnerNode256<K, V, PREFIX_LEN>>)
Node that references between 49 and 256 children
LeafNode(NodePtr<PREFIX_LEN, LeafNode<K, V, PREFIX_LEN>>)
Node that contains a single value
Implementations§
Source§impl<K, V, const PREFIX_LEN: usize> ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> ConcreteNodePtr<K, V, PREFIX_LEN>
Sourcepub fn to_opaque(self) -> OpaqueNodePtr<K, V, PREFIX_LEN>
pub fn to_opaque(self) -> OpaqueNodePtr<K, V, PREFIX_LEN>
Convert this node pointer with node type information into an
OpaqueNodePtr
with the type information stored in the pointer.
Trait Implementations§
Source§impl<K, V, const PREFIX_LEN: usize> Clone for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> Clone for ConcreteNodePtr<K, V, PREFIX_LEN>
Source§impl<K, V, const PREFIX_LEN: usize> Debug for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> Debug for ConcreteNodePtr<K, V, PREFIX_LEN>
Source§impl<K, V, const PREFIX_LEN: usize> From<ConcreteInnerNodePtr<K, V, PREFIX_LEN>> for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> From<ConcreteInnerNodePtr<K, V, PREFIX_LEN>> for ConcreteNodePtr<K, V, PREFIX_LEN>
Source§fn from(value: ConcreteInnerNodePtr<K, V, PREFIX_LEN>) -> Self
fn from(value: ConcreteInnerNodePtr<K, V, PREFIX_LEN>) -> Self
Converts to this type from the input type.
Source§impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNode256<K, V, PREFIX_LEN>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNode256<K, V, PREFIX_LEN>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
Source§fn from(value: NodePtr<PREFIX_LEN, InnerNode256<K, V, PREFIX_LEN>>) -> Self
fn from(value: NodePtr<PREFIX_LEN, InnerNode256<K, V, PREFIX_LEN>>) -> Self
Converts to this type from the input type.
Source§impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNode48<K, V, PREFIX_LEN>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNode48<K, V, PREFIX_LEN>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
Source§fn from(value: NodePtr<PREFIX_LEN, InnerNode48<K, V, PREFIX_LEN>>) -> Self
fn from(value: NodePtr<PREFIX_LEN, InnerNode48<K, V, PREFIX_LEN>>) -> Self
Converts to this type from the input type.
Source§impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNodeCompressed<K, V, PREFIX_LEN, 16>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNodeCompressed<K, V, PREFIX_LEN, 16>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
Source§fn from(value: NodePtr<PREFIX_LEN, InnerNode16<K, V, PREFIX_LEN>>) -> Self
fn from(value: NodePtr<PREFIX_LEN, InnerNode16<K, V, PREFIX_LEN>>) -> Self
Converts to this type from the input type.
Source§impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNodeCompressed<K, V, PREFIX_LEN, 4>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, InnerNodeCompressed<K, V, PREFIX_LEN, 4>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
Source§fn from(value: NodePtr<PREFIX_LEN, InnerNode4<K, V, PREFIX_LEN>>) -> Self
fn from(value: NodePtr<PREFIX_LEN, InnerNode4<K, V, PREFIX_LEN>>) -> Self
Converts to this type from the input type.
Source§impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, LeafNode<K, V, PREFIX_LEN>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> From<NodePtr<PREFIX_LEN, LeafNode<K, V, PREFIX_LEN>>> for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> Copy for ConcreteNodePtr<K, V, PREFIX_LEN>
Auto Trait Implementations§
impl<K, V, const PREFIX_LEN: usize> Freeze for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> RefUnwindSafe for ConcreteNodePtr<K, V, PREFIX_LEN>where
V: RefUnwindSafe,
K: RefUnwindSafe,
impl<K, V, const PREFIX_LEN: usize> !Send for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> !Sync for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> Unpin for ConcreteNodePtr<K, V, PREFIX_LEN>
impl<K, V, const PREFIX_LEN: usize> UnwindSafe for ConcreteNodePtr<K, V, PREFIX_LEN>where
V: RefUnwindSafe,
K: 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