Struct specs::Storage [] [src]

pub struct Storage<'e, T, 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 fetches for the user.

Methods

impl<'e, T, D> Storage<'e, T, D> where
    T: Component,
    D: Deref<Target = MaskedStorage<T>>, 
[src]

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.

Reads the data associated with the entry.

Entrys are returned from a CheckStorage to remove unnecessary checks.

Panics

Panics if the entry was retrieved from another storage.

impl<'e, T, D> Storage<'e, T, D> where
    T: Component,
    D: DerefMut<Target = MaskedStorage<T>>, 
[src]

Tries to mutate the data associated with an entry.

Entrys are returned from a CheckStorage to remove unnecessary checks.

impl<'e, T, D> Storage<'e, T, D>
[src]

Create a new Storage

impl<'e, T, D> Storage<'e, T, D> where
    T: Component,
    D: Deref<Target = MaskedStorage<T>>, 
[src]

Tries to read the data associated with an Entity.

impl<'e, T, D> Storage<'e, T, D> where
    T: Component,
    D: DerefMut<Target = MaskedStorage<T>>, 
[src]

Tries to mutate the data associated with an Entity.

Inserts new data for a given Entity. Returns the result of the operation as a InsertResult<T>

Removes the data associated with an Entity.

Clears the contents of the storage.

Trait Implementations

impl<'a, T: Component, D> DistinctStorage for Storage<'a, T, D> where
    T::Storage: DistinctStorage
[src]

impl<'a, 'e, T, D> Join for &'a Storage<'e, T, D> where
    T: Component,
    D: Deref<Target = MaskedStorage<T>>, 
[src]

Type of joined components.

Type of joined storages.

Type of joined bit mask.

Open this join by returning the mask and the storages.

Get a joined component value by a given index.

Create a joined iterator over the contents.

impl<'a, 'e, T, D> Not for &'a Storage<'e, T, D> where
    T: Component,
    D: Deref<Target = MaskedStorage<T>>, 
[src]

The resulting type after applying the ! operator

The method for the unary ! operator

impl<'a, 'e, T, D> ParJoin for &'a Storage<'e, T, D> where
    T: Component,
    D: Deref<Target = MaskedStorage<T>>,
    T::Storage: Sync
[src]

Create a joined parallel iterator over the contents.

impl<'a, 'e, T, D> Join for &'a mut Storage<'e, T, D> where
    T: Component,
    D: DerefMut<Target = MaskedStorage<T>>, 
[src]

Type of joined components.

Type of joined storages.

Type of joined bit mask.

Open this join by returning the mask and the storages.

Get a joined component value by a given index.

Create a joined iterator over the contents.

impl<'a, 'e, T, D> ParJoin for &'a mut Storage<'e, T, D> where
    T: Component,
    D: DerefMut<Target = MaskedStorage<T>>,
    T::Storage: Sync + DistinctStorage
[src]

Create a joined parallel iterator over the contents.