Extracts file creation, opening, and memory mapping logic into a new `mmap_file` module. This replaces repetitive unsafe operations across persistent data structures with standardized helper functions, ensuring consistent header validation, error handling, and data layout while keeping public APIs unchanged.
39 lines
1.4 KiB
Rust
39 lines
1.4 KiB
Rust
mod bitvec;
|
|
mod bitmatrix;
|
|
mod builder;
|
|
mod colgroup;
|
|
mod eliasfano;
|
|
mod fixedintvec;
|
|
mod format;
|
|
mod rankselect;
|
|
mod intmatrix;
|
|
mod layer_meta;
|
|
mod meta;
|
|
mod mmap_file;
|
|
mod reader;
|
|
mod storage_kind;
|
|
mod tempbitvec;
|
|
mod tempintvec;
|
|
mod views;
|
|
pub mod traits;
|
|
|
|
pub use bitvec::{BitIter, PersistentBitVec, PersistentBitVecBuilder};
|
|
pub use fixedintvec::{PersistentFixedIntVec, PersistentFixedIntVecBuilder, bit_width_for_range};
|
|
pub use rankselect::{PersistentRankSelectBitVec, PersistentRankSelectBitVecBuilder};
|
|
pub use eliasfano::{EliasFano, EliasFanoBuilder};
|
|
pub use bitmatrix::{PersistentBitMatrix, PersistentBitMatrixBuilder, PersistentSparseBitMatrix, PersistentSparseBitMatrixBuilder, pack_bit_matrix, pack_sparse_bit_matrix};
|
|
pub use builder::PersistentCompactIntVecBuilder;
|
|
pub use colgroup::{ColGroup, FilterMask, MatrixGroupOps, eval_filter_mask};
|
|
pub use intmatrix::{PersistentCompactIntMatrix, PersistentCompactIntMatrixBuilder, pack_compact_int_matrix};
|
|
pub use layer_meta::LayerMeta;
|
|
pub use reader::{PersistentCompactIntVec, Iter as CompactIntVecIter};
|
|
pub use storage_kind::StorageKind;
|
|
pub use tempbitvec::{TempBitVec, TempBitVecBuilder};
|
|
pub use tempintvec::{TempCompactIntVec, TempCompactIntVecBuilder};
|
|
pub use traits::{BinaryMatrix, BitPartials, ColumnWeights, CountPartials};
|
|
pub use views::{BitSliceView, BitSliceIter, IntSliceView, IntSliceViewIter};
|
|
|
|
#[cfg(test)]
|
|
#[path = "tests/mod.rs"]
|
|
mod tests;
|