pub struct DenseVecStorage<T> { /* private fields */ }
Expand description
Dense vector storage. Has a redirection 2-way table between entities and components, allowing to leave no gaps within the data.
Note that this only stores the data (T
) densely; indices
to the data are stored in a sparse Vec
.
as_slice()
and as_mut_slice()
indices are local to this
DenseVecStorage
at this particular moment. These indices
cannot be compared with indices from any other storage, and
a particular entity’s position within this slice may change
over time.
Trait Implementations§
Source§impl<T> Default for DenseVecStorage<T>
impl<T> Default for DenseVecStorage<T>
Source§impl<T> Storage<T> for DenseVecStorage<T>
impl<T> Storage<T> for DenseVecStorage<T>
Source§unsafe fn get(&self, index: Index) -> &T
unsafe fn get(&self, index: Index) -> &T
Tries reading the data associated with an
Index
.
This is unsafe because the external set used
to protect this storage is absent. Read moreSource§unsafe fn get_mut(&mut self, index: Index) -> &mut T
unsafe fn get_mut(&mut self, index: Index) -> &mut T
Tries mutating the data associated with an
Index
.
This is unsafe because the external set used
to protect this storage is absent. Read moreSource§unsafe fn remove(&mut self, index: Index) -> T
unsafe fn remove(&mut self, index: Index) -> T
Removes the data associated with an
Index
. Read moreSource§unsafe fn clean<B>(&mut self, _has: B)where
B: BitSetLike,
unsafe fn clean<B>(&mut self, _has: B)where
B: BitSetLike,
Clean the storage given a bitset with bits set for valid indices.
Allows us to safely drop the storage. Read more
impl<T> DistinctStorage for DenseVecStorage<T>
Auto Trait Implementations§
impl<T> Freeze for DenseVecStorage<T>
impl<T> RefUnwindSafe for DenseVecStorage<T>where
T: RefUnwindSafe,
impl<T> Send for DenseVecStorage<T>where
T: Send,
impl<T> Sync for DenseVecStorage<T>where
T: Sync,
impl<T> Unpin for DenseVecStorage<T>where
T: Unpin,
impl<T> UnwindSafe for DenseVecStorage<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more