canic_memory/lib.rs
1//! Core stable-memory utilities shared across Canic consumers.
2//!
3//! This crate hosts the shared memory manager, eager TLS helpers, registry
4//! (ID/range reservation), and ergonomics macros (`ic_memory!`, `ic_memory_range!`,
5//! `eager_static!`) so external crates can coordinate stable memory without
6//! depending on the full `canic` stack.
7
8/// Supported high-level API for bootstrapping, registering, and inspecting
9/// stable-memory slots.
10pub mod api;
11mod ledger;
12mod macros;
13#[doc(hidden)]
14pub mod manager;
15mod policy;
16/// Stable-memory range and ID registry used by the public API and macros.
17pub mod registry;
18#[doc(hidden)]
19pub mod runtime;
20pub use canic_cdk::serialize;
21pub use canic_cdk::{impl_storable_bounded, impl_storable_unbounded};
22
23pub use ::canic_cdk as cdk;
24
25// internal derive support
26#[doc(hidden)]
27pub(crate) use thiserror::Error as ThisError;
28
29// re-exports
30#[doc(hidden)]
31pub mod __reexports {
32 pub use ctor;
33}