pub struct StorageBox<P: MonsterProvider> { /* private fields */ }Expand description
A single storage box with a game-defined capacity. Same add/remove/len/
is_full surface as Party.
Implementations§
Source§impl<P: MonsterProvider> StorageBox<P>
impl<P: MonsterProvider> StorageBox<P>
Sourcepub fn add(&mut self, m: MonsterInstance<P>) -> Result<(), PartyFull<P>>
pub fn add(&mut self, m: MonsterInstance<P>) -> Result<(), PartyFull<P>>
Store a monster, returning it back via PartyFull if the box is full.
Sourcepub fn remove(&mut self, index: usize) -> Option<MonsterInstance<P>>
pub fn remove(&mut self, index: usize) -> Option<MonsterInstance<P>>
Remove and return the monster at index.
Sourcepub fn get(&self, index: usize) -> Option<&MonsterInstance<P>>
pub fn get(&self, index: usize) -> Option<&MonsterInstance<P>>
Borrow the monster at index.
Sourcepub fn get_mut(&mut self, index: usize) -> Option<&mut MonsterInstance<P>>
pub fn get_mut(&mut self, index: usize) -> Option<&mut MonsterInstance<P>>
Mutably borrow the monster at index.
Sourcepub fn iter(&self) -> impl Iterator<Item = &MonsterInstance<P>>
pub fn iter(&self) -> impl Iterator<Item = &MonsterInstance<P>>
Iterate over the stored monsters.
Trait Implementations§
Source§impl<P: Clone + MonsterProvider> Clone for StorageBox<P>
impl<P: Clone + MonsterProvider> Clone for StorageBox<P>
Source§fn clone(&self) -> StorageBox<P>
fn clone(&self) -> StorageBox<P>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<P: Debug + MonsterProvider> Debug for StorageBox<P>
impl<P: Debug + MonsterProvider> Debug for StorageBox<P>
impl<P: Eq + MonsterProvider> Eq for StorageBox<P>
Source§impl<P: PartialEq + MonsterProvider> PartialEq for StorageBox<P>
impl<P: PartialEq + MonsterProvider> PartialEq for StorageBox<P>
impl<P: PartialEq + MonsterProvider> StructuralPartialEq for StorageBox<P>
Auto Trait Implementations§
impl<P> Freeze for StorageBox<P>
impl<P> RefUnwindSafe for StorageBox<P>where
<P as MonsterProvider>::SpeciesId: RefUnwindSafe,
<P as MonsterProvider>::Genetics: RefUnwindSafe,
<P as MonsterProvider>::Training: RefUnwindSafe,
<P as MonsterProvider>::MoveId: RefUnwindSafe,
<P as MonsterProvider>::Stat: RefUnwindSafe,
impl<P> Send for StorageBox<P>where
<P as MonsterProvider>::SpeciesId: Send,
<P as MonsterProvider>::Genetics: Send,
<P as MonsterProvider>::Training: Send,
<P as MonsterProvider>::MoveId: Send,
<P as MonsterProvider>::Stat: Send,
impl<P> Sync for StorageBox<P>where
<P as MonsterProvider>::SpeciesId: Sync,
<P as MonsterProvider>::Genetics: Sync,
<P as MonsterProvider>::Training: Sync,
<P as MonsterProvider>::MoveId: Sync,
<P as MonsterProvider>::Stat: Sync,
impl<P> Unpin for StorageBox<P>where
<P as MonsterProvider>::SpeciesId: Unpin,
<P as MonsterProvider>::Genetics: Unpin,
<P as MonsterProvider>::Training: Unpin,
<P as MonsterProvider>::MoveId: Unpin,
<P as MonsterProvider>::Stat: Unpin,
impl<P> UnsafeUnpin for StorageBox<P>
impl<P> UnwindSafe for StorageBox<P>where
<P as MonsterProvider>::SpeciesId: UnwindSafe,
<P as MonsterProvider>::Genetics: UnwindSafe,
<P as MonsterProvider>::Training: UnwindSafe,
<P as MonsterProvider>::MoveId: UnwindSafe,
<P as MonsterProvider>::Stat: 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