#![doc(html_logo_url = "https://raw.githubusercontent.com/fjall-rs/value-log/main/logo.png")]
#![doc(html_favicon_url = "https://raw.githubusercontent.com/fjall-rs/value-log/main/logo.png")]
#![deny(clippy::all, missing_docs, clippy::cargo)]
#![deny(clippy::unwrap_used)]
#![deny(clippy::indexing_slicing)]
#![warn(clippy::pedantic, clippy::nursery)]
#![warn(clippy::expect_used)]
#![allow(clippy::missing_const_for_fn)]
#![warn(clippy::multiple_crate_versions)]
#![cfg_attr(feature = "bytes", deny(unsafe_code))]
#![cfg_attr(not(feature = "bytes"), forbid(unsafe_code))]
mod blob_cache;
#[doc(hidden)]
pub mod coding;
mod compression;
mod config;
mod error;
mod gc;
mod handle;
mod id;
mod index;
mod key_range;
mod manifest;
mod path;
mod slice;
#[doc(hidden)]
pub mod scanner;
mod segment;
mod value;
mod value_log;
mod version;
pub(crate) type HashMap<K, V> = std::collections::HashMap<K, V, xxhash_rust::xxh3::Xxh3Builder>;
pub use {
blob_cache::BlobCache,
compression::Compressor,
config::Config,
error::{Error, Result},
gc::report::GcReport,
gc::{GcStrategy, SpaceAmpStrategy, StaleThresholdStrategy},
handle::ValueHandle,
index::{Reader as IndexReader, Writer as IndexWriter},
segment::multi_writer::MultiWriter as SegmentWriter,
slice::Slice,
value::{UserKey, UserValue},
value_log::{ValueLog, ValueLogId},
version::Version,
};
#[doc(hidden)]
pub use segment::{reader::Reader as SegmentReader, Segment};
#[doc(hidden)]
pub use key_range::KeyRange;