kv_trie_rs/
trie.rs

1use crate::internal_data_structure::naive_trie::NaiveTrie;
2use louds_rs::Louds;
3
4pub mod trie;
5pub mod trie_builder;
6
7pub struct Trie<K, V> {
8    louds: Louds,
9
10    /// (LoudsNodeNum - 2) -> TrieLabel
11    trie_labels: Vec<TrieLabel<K, V>>,
12}
13
14#[derive(Debug, Clone)]
15pub struct TrieBuilder<K, V> {
16    naive_trie: NaiveTrie<K, V>,
17}
18
19struct TrieLabel<K, V> {
20    key: K,
21    value: Option<V>,
22    is_terminal: bool,
23}