vsdb/
lib.rs

1//! # vsdb
2//!
3//! `vsdb` is a high-performance, embedded database designed to feel like using
4//! Rust's standard collections. It provides a suite of familiar data structures
5//! like `Vecx` (a `Vec`-like vector) and `Mapx` (a `HashMap`-like map), all
6//! backed by a persistent, on-disk key-value store.
7//!
8//! This crate is the primary entry point for most users.
9
10#![deny(warnings)]
11#![cfg_attr(test, allow(warnings))]
12#![recursion_limit = "512"]
13
14#[macro_use]
15pub mod common;
16
17/// User-facing, typed data structures (e.g., `Mapx`, `Vecx`).
18pub mod basic;
19/// Data structures that use multiple keys for indexing.
20pub mod basic_multi_key;
21/// Data structures for representing directed acyclic graphs (DAGs).
22pub mod dagmap;
23
24// --- Re-exports ---
25
26// Basic data structures
27pub use basic::{
28    mapx::Mapx, mapx_ord::MapxOrd, mapx_ord_rawkey::MapxOrdRawKey,
29    mapx_ord_rawvalue::MapxOrdRawValue, orphan::Orphan, vecx::Vecx, vecx_raw::VecxRaw,
30};
31
32// Common traits and types
33pub use common::{
34    NULL,
35    ende::{KeyDe, KeyEn, KeyEnDe, KeyEnDeOrdered, ValueDe, ValueEn, ValueEnDe},
36};
37
38// DAG-related structures
39pub use dagmap::{DagMapId, raw::DagMapRaw, rawkey::DagMapRawKey};
40
41// Re-export all of vsdb_core for convenience
42pub use vsdb_core::{self, *};