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
//! Append-only object storage
mod blocks;
mod handle;
mod store;
use crate::objects::{GlobalCurve, Surface};
pub use self::{
handle::{Handle, HandleWrapper, ObjectId},
store::{Iter, Reservation, Store},
};
/// The available object stores
///
/// # Implementation Note
///
/// The intention is to eventually manage all objects in here. Making this
/// happen is simply a case of putting in the required work. See [#1021].
///
/// [#1021]: https://github.com/hannobraun/Fornjot/issues/1021
#[derive(Debug, Default)]
pub struct Stores {
/// Store for global curves
pub global_curves: Store<GlobalCurve>,
/// Store for surfaces
pub surfaces: Store<Surface>,
}
impl Stores {
/// Construct a new instance of `Stores`
pub fn new() -> Self {
Self::default()
}
}