Struct specs::Storage
[−]
[src]
pub struct Storage<T, A, D> { /* fields omitted */ }
A wrapper around the masked storage and the generations vector.
Can be used for safe lookup of components, insertions and removes.
This is what World::read/write
locks for the user.
Methods
impl<T, A, D> Storage<T, A, D>
[src]
impl<T, A, D> Storage<T, A, D> where T: Component,
A: Deref<Target=Allocator>,
D: Deref<Target=MaskedStorage<T>>
[src]
A: Deref<Target=Allocator>,
D: Deref<Target=MaskedStorage<T>>
fn get(&self, e: Entity) -> Option<&T>
Tries to read the data associated with an Entity
.
fn check(&self) -> CheckStorage
Returns a struct that can iterate over the entities that have it but does not return the contents of the storage.
Useful if you want to check if an entity has a component and then possibly get the component later on in the loop.
impl<T, A, D> Storage<T, A, D> where T: Component,
A: Deref<Target=Allocator>,
D: DerefMut<Target=MaskedStorage<T>>
[src]
A: Deref<Target=Allocator>,
D: DerefMut<Target=MaskedStorage<T>>
fn get_mut(&mut self, e: Entity) -> Option<&mut T>
Tries to mutate the data associated with an Entity
.
fn insert(&mut self, e: Entity, v: T) -> InsertResult<T>
Inserts new data for a given Entity
.
Returns the result of the operation as a InsertResult<T>
fn remove(&mut self, e: Entity) -> Option<T>
Removes the data associated with an Entity
.
fn clear(&mut self)
Clears the contents of the storage.
Trait Implementations
impl<'a, T, A, D> Not for &'a Storage<T, A, D> where T: Component,
D: Deref<Target=MaskedStorage<T>>
[src]
D: Deref<Target=MaskedStorage<T>>
type Output = AntiStorage<'a>
The resulting type after applying the !
operator
fn not(self) -> Self::Output
The method for the unary !
operator
impl<T, A, D> Gate for Storage<T, A, D>
[src]
type Target = Self
Transition destination type.
fn pass(self) -> Self
Actually pass the gate. This may involve waiting on a ticketed lock.
impl<'a, T, A, D> Join for &'a Storage<T, A, D> where T: Component,
A: Deref<Target=Allocator>,
D: Deref<Target=MaskedStorage<T>>
[src]
A: Deref<Target=Allocator>,
D: Deref<Target=MaskedStorage<T>>
type Type = &'a T
Type of joined components.
type Value = &'a T::Storage
Type of joined storages.
type Mask = &'a BitSet
Type of joined bit mask.
fn open(self) -> (Self::Mask, Self::Value)
Open this join by returning the mask and the storages.
unsafe fn get(v: &mut Self::Value, i: Index) -> &'a T
Get a joined component value by a given index.
fn join(self) -> JoinIter<Self> where Self: Sized
Create a joined iterator over the contents.
impl<'a, T, A, D> Join for &'a mut Storage<T, A, D> where T: Component,
A: Deref<Target=Allocator>,
D: DerefMut<Target=MaskedStorage<T>>
[src]
A: Deref<Target=Allocator>,
D: DerefMut<Target=MaskedStorage<T>>
type Type = &'a mut T
Type of joined components.
type Value = &'a mut T::Storage
Type of joined storages.
type Mask = &'a BitSet
Type of joined bit mask.
fn open(self) -> (Self::Mask, Self::Value)
Open this join by returning the mask and the storages.
unsafe fn get(v: &mut Self::Value, i: Index) -> &'a mut T
Get a joined component value by a given index.
fn join(self) -> JoinIter<Self> where Self: Sized
Create a joined iterator over the contents.