1mod text_length;
3pub use text_length::Position;
4mod components;
6pub use components::{TextEncoder, text_encoders, Block, blocks};
7mod builder;
9pub use builder::{FmIndexBuilder, BuildError, build_config};
10
11#[derive(Clone, PartialEq, Eq)]
15pub struct FmIndex<'a, P: Position, B: Block, E: TextEncoder> {
16 source_blob: &'a [u8],
18 magic_number: components::MagicNumber,
20 text_encoder: E,
21 count_array_header: components::CountArrayHeader,
22 suffix_array_header: components::SuffixArrayHeader,
23 bwm_header: components::BwmHeader,
24 count_array_view: components::CountArrayView<'a, P>,
26 suffix_array_view: components::SuffixArrayView<'a, P>,
27 bwm_view: components::BwmView<'a, P, B>,
28}
29
30mod load_from_blob;
33pub use load_from_blob::LoadError;
34mod locate;
36mod reference_to_source_blob;
38#[cfg(test)]
42mod tests;