Crate succinct

Source
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 u64 as 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 BitRankSupport for a type that contains a BitRankSupport field.
impl_bit_vec_adapter
Implements BitVec for a type that contains a BitVec field.
impl_rank_support_adapter
Implements RankSupport for a type that contains a RankSupport field.
impl_select0_support_adapter
Implements Select0Support for a type that contains a Select0Support field.
impl_select1_support_adapter
Implements Select1Support for a type that contains a Select1Support field.
impl_select_support_adapter
Implements SelectSupport for a type that contains a SelectSupport field.
impl_stack_only_space_usage
Implements SpaceUsage for a stack-only (Copy) type.

Traits§

SpaceUsage
Computes the space usage of an object.