1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
//! Succinct data structures for Rust. //! //! This library is a very early work in progress. So far we have: //! //! - [integer vectors](int_vector/struct.IntVec.html) with arbitrary-sized //! (1- to 64-bit) elements; //! - [bit vectors](bit_vector/struct.BitVec.html) and [bit //! buffers](stream/struct.BitBuffer.html), //! - a variety of [universal codes](coding/index.html), //! - constant-time [rank](struct.JacobsonRank.html) queries; and //! - *O*(lg lg *n*)-time [select](struct.BinSearchSelect.html) queries //! based on binary search over ranks. //! //! # Usage //! //! It’s [on crates.io](https://crates.io/crates/succinct), so you can add //! //! ```toml //! [dependencies] //! succinct = "0.3.0" //! ``` //! //! to your `Cargo.toml` and //! //! ```rust //! extern crate succinct; //! ``` //! //! to your crate root. #![warn(missing_docs)] #![cfg_attr(feature = "clippy", feature(plugin))] #![cfg_attr(feature = "clippy", plugin(clippy))] extern crate byteorder; extern crate num; #[cfg(test)] extern crate quickcheck; mod util; mod errors; pub mod storage; pub mod stream; pub mod coding; pub mod bit_vector; pub use bit_vector::{Bits, BitsMut, BitVector, BitVec}; pub mod int_vector; pub use int_vector::{IntVector, IntVectorMut, IntVec}; pub mod rank; pub use rank::JacobsonRank; pub mod select; pub use select::BinSearchSelect; mod space_usage; pub use space_usage::SpaceUsage;