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).

Structs§