[−]Trait oxygengine::prelude::storage::UnprotectedStorage
Used by the framework to quickly join components.
Required methods
unsafe fn clean<B>(&mut self, has: B) where
B: BitSetLike,
B: BitSetLike,
Clean the storage given a bitset with bits set for valid indices. Allows us to safely drop the storage.
unsafe fn get(&self, id: u32) -> &T
Tries reading the data associated with an Index
.
This is unsafe because the external set used
to protect this storage is absent.
unsafe fn get_mut(&mut self, id: u32) -> &mut T
Tries mutating the data associated with an Index
.
This is unsafe because the external set used
to protect this storage is absent.
unsafe fn insert(&mut self, id: u32, value: T)
Inserts new data for a given Index
.
unsafe fn remove(&mut self, id: u32) -> T
Removes the data associated with an Index
.
Provided methods
Loading content...Implementors
impl<C, T> UnprotectedStorage<C> for FlaggedStorage<C, T> where
C: Component,
T: UnprotectedStorage<C>,
C: Component,
T: UnprotectedStorage<C>,
unsafe fn clean<B>(&mut self, has: B) where
B: BitSetLike,
B: BitSetLike,
unsafe fn get(&self, id: u32) -> &C
unsafe fn get_mut(&mut self, id: u32) -> &mut C
unsafe fn insert(&mut self, id: u32, comp: C)
unsafe fn remove(&mut self, id: u32) -> C
impl<T> UnprotectedStorage<T> for BTreeStorage<T>
unsafe fn clean<B>(&mut self, _has: B) where
B: BitSetLike,
B: BitSetLike,
unsafe fn get(&self, id: u32) -> &T
unsafe fn get_mut(&mut self, id: u32) -> &mut T
unsafe fn insert(&mut self, id: u32, v: T)
unsafe fn remove(&mut self, id: u32) -> T
impl<T> UnprotectedStorage<T> for DenseVecStorage<T>
unsafe fn clean<B>(&mut self, _has: B) where
B: BitSetLike,
B: BitSetLike,
unsafe fn get(&self, id: u32) -> &T
unsafe fn get_mut(&mut self, id: u32) -> &mut T
unsafe fn insert(&mut self, id: u32, v: T)
unsafe fn remove(&mut self, id: u32) -> T
impl<T> UnprotectedStorage<T> for HashMapStorage<T>
unsafe fn clean<B>(&mut self, _has: B) where
B: BitSetLike,
B: BitSetLike,
unsafe fn get(&self, id: u32) -> &T
unsafe fn get_mut(&mut self, id: u32) -> &mut T
unsafe fn insert(&mut self, id: u32, v: T)
unsafe fn remove(&mut self, id: u32) -> T
impl<T> UnprotectedStorage<T> for NullStorage<T> where
T: Default,
T: Default,
unsafe fn clean<B>(&mut self, _has: B) where
B: BitSetLike,
B: BitSetLike,