Module sanakirja_core::btree::page_unsized
source · Expand description
Implementation of B tree pages for Unsized types, or types with an dynamically-sized representation (for example enums with widely different sizes).
This module follows the same organisation as the sized implementation, and contains types shared between the two implementations.
The types that can be used with this implementation must implement
the UnsizedStorable
trait, which essentially replaces the
core::mem
functions for determining the size and alignment of
values.
One key difference is the implementation of leaves (internal nodes
have the same format): indeed, in this implementation, leaves have
almost the same format as internal nodes, except that their
offsets are written on the page as little-endian-encoded u16
(with only the 12 LSBs used, i.e. 4 bits unused).