1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
/// RankSelect can use different k for the superblocks
const SUPERBLOCK_SIZE: usize = 1;

//Submodules
pub mod graph_wt;
pub mod wavelet_tree_compact;
pub mod wavelet_tree_pointer_based;

/// WaveletTrees
pub trait WaveletTree<T> {
    fn access(&self, position: u64) -> Option<T>;
    fn select(&self, object: T, n: u64) -> Option<u64>;
    fn rank(&self, object: T, n: u64) -> Option<u64>;
}