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 vector interfaces and implementations.
- Broadword operations treating
u64
as a parallel vector. - Codes for data compression.
- Vectors of k-bit unsigned integers.
- Support for fast rank queries.
- Support for fast select queries.
- Traits describing how bits and arrays of bits are stored.
- Bit-oriented streams for coding.
Macros§
- Implements
BitRankSupport
for a type that contains aBitRankSupport
field. - Implements
BitVec
for a type that contains aBitVec
field. - Implements
RankSupport
for a type that contains aRankSupport
field. - Implements
Select0Support
for a type that contains aSelect0Support
field. - Implements
Select1Support
for a type that contains aSelect1Support
field. - Implements
SelectSupport
for a type that contains aSelectSupport
field. - Implements
SpaceUsage
for a stack-only (Copy
) type.
Traits§
- Computes the space usage of an object.