1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! # memkit
//!
//! Intent-driven memory allocation toolkit for high-performance Rust applications.
//!
//! ## Features
//!
//! - **Frame Arenas**: Lock-free bump allocation, reset per frame
//! - **Object Pools**: O(1) reuse for small, frequent allocations
//! - **Thread Coordination**: Explicit transfers, barriers, per-thread budgets
//! - **Zero-cost abstractions**: Pay only for what you use
//!
//! ## Quick Start
//!
//! ```rust,no_run
//! use memkit::{MkAllocator, MkConfig};
//!
//! let alloc = MkAllocator::new(MkConfig::default());
//!
//! // Game loop
//! alloc.begin_frame();
//! let temp = alloc.frame_alloc::<[f32; 256]>();
//! // ... use temp ...
//! alloc.end_frame();
//! ```
//!
//! ## Crate Ecosystem
//!
//! - **memkit**: Core allocation primitives (this crate)
//! - **memkit-gpu**: Backend-agnostic GPU memory management
//! - **memkit-async**: Async-aware allocators for Tokio/async-std
//! - **memkit-bevy**: Bevy ECS integration
//! - **memkit-rapier**: Rapier physics integration
// Core modules
// Internal modules
// Re-exports for convenience
pub use *;