[−][src]Crate succinct
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.1"
to your Cargo.toml
.
Modules
bit_vec | Bit vector interfaces and implementations. |
broadword | Broadword operations treating |
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 |
impl_bit_vec_adapter | Implements |
impl_rank_support_adapter | Implements |
impl_select0_support_adapter | Implements |
impl_select1_support_adapter | Implements |
impl_select_support_adapter | Implements |
impl_stack_only_space_usage | Implements |
Structs
BinSearchSelect | Performs a select query by binary searching rank queries. |
BitVector | Uncompressed vector of bits. |
IntVector | Uncompressed vector of k-bit unsigned integers. |
JacobsonRank | Jacobson’s rank structure for fast rank queries over a |
Rank9 | Vigna’s rank structure for fast rank queries over a |
Traits
BitRankSupport | Supports fast rank queries over |
BitVec | Read-only bit vector operations. |
BitVecMut | Mutable bit vector operations that don’t affect the length. |
BitVecPush | Bit vector operations that change the length. |
IntVec | An immutable array of integers of limited width. |
IntVecMut | A mutable array of integers of limited width. |
Select1Support | Supports selecting for 1 bits. |
SpaceUsage | Computes the space usage of an object. |