vecdb/
lib.rs

1#![doc = include_str!("../README.md")]
2// #![doc = "\n## Examples\n"]
3// #![doc = "\n### Raw\n\n```rust"]
4// #![doc = include_str!("../examples/raw.rs")]
5// #![doc = "```\n"]
6// #![doc = "\n### Compressed\n\n```rust"]
7// #![doc = include_str!("../examples/compressed.rs")]
8// #![doc = "```"]
9
10pub use rawdb::{Database, Error as RawDBError, PAGE_SIZE, Reader};
11#[cfg(feature = "derive")]
12pub use vecdb_derive::StoredCompressed;
13
14mod error;
15mod exit;
16mod iterators;
17mod stamp;
18mod traits;
19mod variants;
20mod version;
21
22use variants::*;
23
24pub use error::*;
25pub use exit::*;
26pub use iterators::*;
27pub use stamp::*;
28pub use traits::*;
29pub use variants::{
30    CompressedVec, Computation, ComputedVec, ComputedVecFrom1, ComputedVecFrom2, ComputedVecFrom3,
31    EagerVec, Format, ImportOptions, LazyVecFrom1, LazyVecFrom2, LazyVecFrom3, RawVec, StoredVec,
32};
33pub use version::*;
34
35const ONE_KIB: usize = 1024;
36const BUFFER_SIZE: usize = 512 * ONE_KIB;
37
38// Branch prediction hints
39#[inline(always)]
40#[cold]
41pub(crate) fn cold() {}
42
43#[inline(always)]
44pub(crate) fn likely(b: bool) -> bool {
45    if !b {
46        cold();
47    }
48    b
49}
50
51#[inline(always)]
52pub(crate) fn unlikely(b: bool) -> bool {
53    if b {
54        cold();
55    }
56    b
57}