1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Compact arena-based radix tries with SIMD-accelerated lookup.
//!
//! This crate provides several trie data structures optimized for different use cases:
//!
//! - [`NibbleTrie`] — 16-way radix trie (nibble-indexed), the flagship implementation
//! - [`NibTrie`] — 4-way radix trie (2-bit indexed)
//! - [`BitTrie`] — Binary radix trie (bit-indexed)
//! - [`DynTrie`] — Auto-promoting wrapper around NibbleTrie (requires the `dyn` feature)
//! - [`FixedLenNibbleTrie`] — NibbleTrie variant for fixed-length keys (requires the
//! `fixed-len` feature)
//!
//! All tries use arena-based node allocation for cache-friendly memory layout and
//! SIMD-accelerated child lookup where applicable.
//!
//! Each tree exposes a seekable cursor over `(&[u8], &T)` pairs via its `iter()` /
//! `iter_last()` methods (`nibble_trie::Cursor`, `nib_trie::Cursor`, `bit_trie::Cursor`).
// The three public trees.
pub use ;
pub use NibTrie;
pub use BitTrie;
// Key trait bounds and the non-zero key type used by BitTrie / null-terminator tries.
pub use ;
// Internal-only re-export: `KeyStore` is the bound on `TrieKey::Store` and is used
// by tree modules to call store methods (`push`/`key_bytes`/`rollback`/`len`). Not
// part of the public surface.
pub use KeyStore;
// Optional, non-default trees gated behind cargo features.
pub use DynTrie;
pub use FixedLenNibbleTrie;