pub(super) type Root<K, V> = NodeRef<Owned, K, V, LeafOrInternal>;Expand description
The root node of an owned tree.
Note that this does not have a destructor, and must be cleaned up manually.
Aliased Type§
pub(super) struct Root<K, V> {
height: usize,
node: NonNull<LeafNode<K, V>>,
_marker: PhantomData<(Owned, LeafOrInternal)>,
}Fields§
§height: usizeThe number of levels that the node and the level of leaves are apart, a
constant of the node that cannot be entirely described by Type, and that
the node itself does not store. We only need to store the height of the root
node, and derive every other node’s height from it.
Must be zero if Type is Leaf and non-zero if Type is Internal.
node: NonNull<LeafNode<K, V>>The pointer to the leaf or internal node. The definition of InternalNode
ensures that the pointer is valid either way.
_marker: PhantomData<(Owned, LeafOrInternal)>