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§
- Space
Usage - Computes the space usage of an object.