basedrop/lib.rs
1//! Memory-management tools for real-time audio and other latency-critical scenarios.
2//!
3//! - [`Owned`] and [`Shared`] are smart pointers analogous to `Box` and `Arc`
4//! which add their contents to a queue for deferred collection when dropped.
5//! - [`Collector`] is used to process the drop queue.
6//! - [`Node`] provides a lower-level interface for implementing custom smart
7//! pointers or data structures.
8//! - [`SharedCell`] implements a mutable memory location holding a [`Shared`]
9//! pointer that can be used by multiple readers and writers in a thread-safe
10//! manner.
11//!
12//! [`Owned`]: crate::Owned
13//! [`Shared`]: crate::Shared
14//! [`Collector`]: crate::Collector
15//! [`Node`]: crate::Node
16//! [`SharedCell`]: crate::SharedCell
17
18#![no_std]
19
20mod collector;
21mod owned;
22mod shared;
23mod shared_cell;
24
25pub use collector::*;
26pub use owned::*;
27pub use shared::*;
28pub use shared_cell::*;