[][src]Struct tiny_ecs::MapRefMut

pub struct MapRefMut<'a, T> { /* fields omitted */ }

Mutable reference container for Persist returned by Entities::borrow_mut()

This struct is required to contain a hidden borrow to the requested Persist. The reason for this is so we can borrow multiple Persist, but not break the borrow checker rules for borrows on a single Persist.

Methods from Deref<Target = Persist<T>>

pub fn len(&self) -> usize[src]

Returns the actual used length regardless of capacity

pub fn is_empty(&self) -> bool[src]

pub fn capacity(&self) -> usize[src]

Returns the storage capacity

pub fn clear(&mut self)[src]

Clear the storage out while keeping allocated memory

Should not ever panic

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

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

pub fn is_index_live(&self, index: usize) -> bool[src]

Check if there is a value at this index

pub fn push(&mut self, value: T) -> Option<usize>[src]

Push T on to storage.

A push is not guaranteed to push in any particular order if the internal storage has empty locations (typical after many remove). For this reason it will return the index pushed to.

Returns None if there are no free slots left

pub fn insert(&mut self, index: usize, value: T) -> Option<T>[src]

Insert T at location. Returns existing value in that location or None.

Panics

Will panic is the index is out of range

pub fn pop(&mut self) -> Option<T>[src]

Pop the last value in the Persist

pub fn remove(&mut self, index: usize) -> Option<T>[src]

Remove the item at this index and return it if it exists. Does not shift elements after it to the left.

pub fn iter(&self) -> Iter<T>[src]

pub fn iter_mut(&mut self) -> IterMut<T>[src]

Trait Implementations

impl<'a, T> Deref for MapRefMut<'a, T>[src]

type Target = Persist<T>

The resulting type after dereferencing.

impl<'a, T> DerefMut for MapRefMut<'a, T>[src]

Auto Trait Implementations

impl<'a, T> !RefUnwindSafe for MapRefMut<'a, T>

impl<'a, T> !Send for MapRefMut<'a, T>

impl<'a, T> !Sync for MapRefMut<'a, T>

impl<'a, T> Unpin for MapRefMut<'a, T>

impl<'a, T> !UnwindSafe for MapRefMut<'a, T>

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.