Crate succinct [] [src]

Succinct data structures for Rust.

This library is a very early work in progress. So far we have:

Usage

It’s on crates.io, so you can add

[dependencies]
succinct = "0.3.2"

to your Cargo.toml and

extern crate succinct;

to your crate root.

Modules

bit_vector

Bit vector interfaces and implementations.

broadword

Broadword operations treating u64 as a parallel vector.

coding

Codes used for data compression.

int_vector

Bit-packed vectors of k-bit unsigned integers.

rank

Support for fast rank queries.

select

Support for fast select queries.

storage

Traits for 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_bits_adapter!

Implements Bits for a type that contains a Bits field.

impl_rank_support_adapter!

Implements RankSupport for a type that contains a RankSupport field.

impl_select_support0_adapter!

Implements SelectSupport0 for a type that contains a SelectSupport0 field.

impl_select_support1_adapter!

Implements SelectSupport1 for a type that contains a SelectSupport1 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.

Structs

BinSearchSelect

Performs a select query by binary searching rank queries.

BitVec

A bit vector implementation.

IntVec

A vector of k-bit unsigned integers, where k is determined at run time.

JacobsonRank

Add-on to Bits to support fast rank queries.

Rank9

Rank support structure from Sebastiano Vigna.

Traits

BitRankSupport

Convenience trait for RankSupport over bool.

BitVector

Interface for full bit vector operations.

Bits

Interface for read-only bit vector operations.

BitsMut

Interface for mutable bit vector operations that don’t affect the length.

IntVector

Types that can be accessed as immutable arrays of integers of limited width.

IntVectorMut

Types that can be accessed as mutable arrays of integers of limited width.

SelectSupport1

Interface for types that support selecting for 1 bits.

SpaceUsage

Types that know how to compute their space usage.