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
//! Memory-management tools for real-time audio and other latency-critical scenarios. //! //! - [`Owned`] and [`Shared`] are smart pointers analogous to `Box` and `Arc` //! which add their contents to a queue for deferred collection when dropped. //! - [`Collector`] is used to process the drop queue. //! - [`Node`] provides a lower-level interface for implementing custom smart //! pointers or data structures. //! - [`SharedCell`] implements a mutable memory location holding a [`Shared`] //! pointer that can be used by multiple readers and writers in a thread-safe //! manner. //! //! [`Owned`]: crate::Owned //! [`Shared`]: crate::Shared //! [`Collector`]: crate::Collector //! [`Node`]: crate::Node //! [`SharedCell`]: crate::SharedCell #![no_std] mod collector; mod owned; mod shared; mod shared_cell; pub use collector::*; pub use owned::*; pub use shared::*; pub use shared_cell::*;