Expand description
Succinct data structures for Rust.
So far we have:
- bit vectors and bit buffers;
- integer vectors with arbitrary-sized (1- to 64-bit) elements;
- a variety of [universal codes](coding/index.html;
- constant-time rank queries; and
- O(lg lg n)-time select queries based on binary search over ranks.
§Usage
It’s on crates.io, so you can add
[dependencies]
succinct = "0.5.2"to your Cargo.toml.
Re-exports§
- pub use bit_vec::BitVec;
- pub use bit_vec::BitVecMut;
- pub use bit_vec::BitVecPush;
- pub use bit_vec::BitVector;
- pub use int_vec::IntVec;
- pub use int_vec::IntVecMut;
- pub use int_vec::IntVector;
- pub use rank::BitRankSupport;
- pub use rank::JacobsonRank;
- pub use rank::Rank9;
- pub use select::Select1Support;
- pub use select::BinSearchSelect;
Modules§
- bit_vec
- Bit vector interfaces and implementations.
- broadword
- Broadword operations treating u64as a parallel vector.
- coding
- Codes for data compression.
- int_vec
- Vectors of k-bit unsigned integers.
- rank
- Support for fast rank queries.
- select
- Support for fast select queries.
- storage
- Traits describing how bits and arrays of bits are stored.
- stream
- Bit-oriented streams for coding.
Macros§
- impl_bit_ rank_ support_ adapter 
- Implements BitRankSupportfor a type that contains aBitRankSupportfield.
- impl_bit_ vec_ adapter 
- Implements BitVecfor a type that contains aBitVecfield.
- impl_rank_ support_ adapter 
- Implements RankSupportfor a type that contains aRankSupportfield.
- impl_select0_ support_ adapter 
- Implements Select0Supportfor a type that contains aSelect0Supportfield.
- impl_select1_ support_ adapter 
- Implements Select1Supportfor a type that contains aSelect1Supportfield.
- impl_select_ support_ adapter 
- Implements SelectSupportfor a type that contains aSelectSupportfield.
- impl_stack_ only_ space_ usage 
- Implements SpaceUsagefor a stack-only (Copy) type.
Traits§
- SpaceUsage 
- Computes the space usage of an object.