Crate columnar

Source
Expand description

Types supporting flat / “columnar” layout for complex types.

The intent is to re-layout Vec<T> types into vectors of reduced complexity, repeatedly. One should be able to push and pop easily, but indexing will be more complicated because we likely won’t have a real T lying around to return as a reference. Instead, we will use Generic Associated Types (GATs) to provide alternate references.

Re-exports§

pub use common::Clear;
pub use common::Len;
pub use common::Push;
pub use common::IndexMut;
pub use common::Index;
pub use common::IndexAs;
pub use common::HeapSize;
pub use common::Slice;
pub use common::AsBytes;
pub use common::FromBytes;
pub use string::Strings;
pub use vector::Vecs;
pub use sums::rank_select::RankSelect;
pub use sums::result::Results;
pub use sums::option::Options;
pub use lookback::Repeats;
pub use lookback::Lookbacks;
pub use chain_mod::chain;
pub use chain_mod::chain_one;
pub use bytemuck;

Modules§

adts
Abstract data types represented in columnar form.
bytes
Logic related to the transformation to and from bytes.
chain_mod
Chain iterators, or iterators and an item. Iterators that might improve inlining, at the expense of not providing iterator maker traits.
common
Common traits and types that are re-used throughout the module.
lookback
Containers that can store either values, or offsets to prior values.
primitive
Types that prefer to be represented by Vec<T>.
roaring
Roaring bitmap (and similar) containers.
string
sums
Containers for enumerations (“sum types”) that store variants separately.
tuple
vector

Traits§

Columnar
A type that can be represented in columnar form.
Container
A container that can hold C, and provide its preferred references.
ContainerBytes
A container that can also be viewed as and reconstituted from bytes.

Type Aliases§

ContainerOf
The container type of columnar type T.
Ref
For a lifetime, the reference type of columnar type T.

Derive Macros§

Columnar