Struct genesis::VecStorage[][src]

pub struct VecStorage<T> { /* fields omitted */ }

A storage type that stores components in a contiguous Vec.

Implementations

impl<T> VecStorage<T>[src]

pub fn new(entities: Arc<RwLock<Entities>>, capacity: u32) -> Self[src]

Create a new VecStorage with the specified initial capacity.

pub fn get(&self, entity: Entity) -> Option<&T>[src]

Get a reference to the component associated with the given entity in self, if any.

pub fn get_mut(&mut self, entity: Entity) -> Option<&mut T>[src]

Get a mutable reference to the component associated with the given entity in self, if any.

pub fn set(
    &mut self,
    entity: Entity,
    data: T
) -> Result<Option<T>, NoSuchEntity>
[src]

Set the component for the given entity. Returns Err(NoSuchEntity) if the given entity doesn’t exist. Otherwise, returns Ok(data), where data is previous data evicted by this operation (if any).

pub fn remove_unchecked(&mut self, entity: Entity) -> Option<T>[src]

Remove the component for the given entity. Returns the previous data associated with the given entity in self. Does not check if the entity exists; only use this if you know it exists, e.g. through invariants in your code or because you retrieved this in a loop iterating over all alive entities.

pub fn remove(&mut self, entity: Entity) -> Result<Option<T>, NoSuchEntity>[src]

Remove the component for the given entity. Returns the previous data associated with the given entity in self.

pub fn clear(&mut self)[src]

Remove the data stored in self for all entities.

Trait Implementations

impl<T: Debug> Debug for VecStorage<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for VecStorage<T> where
    T: RefUnwindSafe

impl<T> Send for VecStorage<T> where
    T: Send

impl<T> Sync for VecStorage<T> where
    T: Sync

impl<T> Unpin for VecStorage<T> where
    T: Unpin

impl<T> UnwindSafe for VecStorage<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.