kermit_ds/ds/
mod.rs

1mod column_trie;
2mod tree_trie;
3
4use {clap::ValueEnum, std::str::FromStr};
5pub use {column_trie::ColumnTrie, tree_trie::TreeTrie};
6
7#[derive(Copy, Clone, PartialEq, Eq, Debug, ValueEnum)]
8pub enum IndexStructure {
9    ColumnTrie,
10    TreeTrie,
11}
12
13impl FromStr for IndexStructure {
14    type Err = String;
15
16    fn from_str(s: &str) -> Result<Self, Self::Err> {
17        match s {
18            | "column_trie" => Ok(Self::ColumnTrie),
19            | "tree_trie" => Ok(Self::TreeTrie),
20            | _ => Err(format!("Invalid index structure: {}", s)),
21        }
22    }
23}