grafeo_common/lib.rs
1//! # grafeo-common
2//!
3//! The foundation layer - types and utilities used everywhere in Grafeo.
4//!
5//! You probably don't need to use this crate directly. The main `grafeo` crate
6//! re-exports the types you'll actually use ([`NodeId`], [`EdgeId`], [`Value`]).
7//!
8//! If you're building extensions or diving into internals, here's what's here:
9//!
10//! ## Modules
11//!
12//! - [`types`] - Core types: [`NodeId`], [`EdgeId`], [`Value`], [`PropertyKey`]
13//! - [`memory`] - Allocators for performance-critical paths (arenas, pools)
14//! - [`mvcc`] - Version chains for snapshot isolation
15//! - [`utils`] - Hashing, error types, and other helpers
16
17pub mod memory;
18pub mod mvcc;
19pub mod types;
20pub mod utils;
21
22// The types you'll use most often
23pub use mvcc::{Version, VersionChain, VersionInfo};
24pub use types::{EdgeId, EpochId, LogicalType, NodeId, PropertyKey, Timestamp, TxId, Value};
25pub use utils::error::{Error, Result};