pub struct Drain<'a, T: Component> {
pub data: &'a mut MaskedStorage<T>,
}
Expand description
A draining storage wrapper which has a Join
implementation
that removes the components.
Fields§
§data: &'a mut MaskedStorage<T>
The masked storage
Trait Implementations§
Source§impl<'a, T> Join for Drain<'a, T>where
T: Component,
impl<'a, T> Join for Drain<'a, T>where
T: Component,
Source§type Value = &'a mut MaskedStorage<T>
type Value = &'a mut MaskedStorage<T>
Type of joined storages.
Source§unsafe fn open(self) -> (Self::Mask, Self::Value)
unsafe fn open(self) -> (Self::Mask, Self::Value)
Open this join by returning the mask and the storages. Read more
Source§unsafe fn get(value: &mut Self::Value, id: Index) -> T
unsafe fn get(value: &mut Self::Value, id: Index) -> T
Get a joined component value by a given index. Read more
Source§fn join(self) -> JoinIter<Self> ⓘwhere
Self: Sized,
fn join(self) -> JoinIter<Self> ⓘwhere
Self: Sized,
Create a joined iterator over the contents.
Source§fn maybe(self) -> MaybeJoin<Self>where
Self: Sized,
fn maybe(self) -> MaybeJoin<Self>where
Self: Sized,
Returns a
Join
-able structure that yields all indices, returning
None
for all missing elements and Some(T)
for found elements. Read moreSource§fn is_unconstrained() -> bool
fn is_unconstrained() -> bool
If this
Join
typically returns all indices in the mask, then iterating
over only it or combined with other joins that are also dangerous
will cause the JoinIter
/ParJoin
to go through all indices which
is usually not what is wanted and will kill performance.Auto Trait Implementations§
impl<'a, T> Freeze for Drain<'a, T>
impl<'a, T> RefUnwindSafe for Drain<'a, T>
impl<'a, T> Send for Drain<'a, T>
impl<'a, T> Sync for Drain<'a, T>
impl<'a, T> Unpin for Drain<'a, T>
impl<'a, T> !UnwindSafe for Drain<'a, T>
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