eryon-mem 0.0.4

this crate implements the memory-related aspects of the eryon framework
/*
    appellation: store <module>
    authors: @FL03
*/
//! this module provides the [`TopologicalMemory`] implementation, its [state](MemoryState),
//! and other supporting primitives and utilities for managing the memory system.
#[doc(inline)]
pub use self::prelude::*;

pub mod indexer;
pub mod state;
pub mod store;

mod impls {
    mod impl_store;
}

pub mod types {

    #[doc(inline)]
    pub use self::prelude::*;

    pub mod prelude {
        #[doc(inline)]
        pub use super::aliases::*;
    }

    pub(crate) mod aliases {
        use std::collections::{HashMap, HashSet};
        /// a type alias for a set of indices, defaulting to `usize`
        pub type IndexSet<T = usize> = HashSet<T>;
        /// a type alias mapping some key to a set of indices, defaulting to `usize`
        pub type IndexMap<K = usize, V = usize> = HashMap<K, IndexSet<V>>;
        /// a type alias for a map of properties, defaulting to `String`
        pub type PropertiesMap<K = String, V = String> = HashMap<K, V>;
    }
}

pub(crate) mod prelude {
    #[doc(inline)]
    pub use super::indexer::*;
    #[doc(inline)]
    pub use super::state::*;
    #[doc(inline)]
    pub use super::store::*;
    #[doc(inline)]
    pub use super::types::prelude::*;
}