Struct specs::storage::AntiStorage
source · pub struct AntiStorage<'a>(pub &'a BitSet);
Expand description
An inverted storage type, only useful to iterate entities that do not have a particular component type.
Tuple Fields§
§0: &'a BitSet
Trait Implementations§
source§impl<'a> Join for AntiStorage<'a>
impl<'a> Join for AntiStorage<'a>
source§unsafe fn open(self) -> (Self::Mask, ())
unsafe fn open(self) -> (Self::Mask, ())
Open this join by returning the mask and the storages. 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 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
to go through all indices which is usually not what
is wanted and will kill performance.source§impl<'a> LendJoin for AntiStorage<'a>
impl<'a> LendJoin for AntiStorage<'a>
source§unsafe fn open(self) -> (Self::Mask, ())
unsafe fn open(self) -> (Self::Mask, ())
Open this join by returning the mask and the storages. Read more
source§unsafe fn get<'next>(_: &'next mut (), _: Index)
unsafe fn get<'next>(_: &'next mut (), _: Index)
Get a joined component value by a given index. Read more
source§fn lend_join(self) -> JoinLendIter<Self>where
Self: Sized,
fn lend_join(self) -> JoinLendIter<Self>where Self: Sized,
Create a joined lending iterator over the contents.
source§fn maybe(self) -> MaybeJoin<Self>where
Self: Sized,
fn maybe(self) -> MaybeJoin<Self>where Self: Sized,
Returns a structure that implements
Join
/LendJoin
/MaybeJoin
if the
contained T
does and 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
LendJoin
typically returns all indices in the mask, then
iterating over only it or combined with other joins that are also
dangerous will cause the JoinLendIter
to go through all indices which
is usually not what is wanted and will kill performance.source§impl<'a> ParJoin for AntiStorage<'a>
impl<'a> ParJoin for AntiStorage<'a>
source§unsafe fn open(self) -> (Self::Mask, ())
unsafe fn open(self) -> (Self::Mask, ())
Open this join by returning the mask and the storages. Read more
source§fn par_join(self) -> JoinParIter<Self>where
Self: Sized,
fn par_join(self) -> JoinParIter<Self>where Self: Sized,
Create a joined parallel iterator over the contents.
source§fn is_unconstrained() -> bool
fn is_unconstrained() -> bool
If this
LendJoin
typically returns all indices in the mask, then
iterating over only it or combined with other joins that are also
dangerous will cause the JoinLendIter
to go through all indices which
is usually not what is wanted and will kill performance.impl RepeatableLendGet for AntiStorage<'_>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for AntiStorage<'a>
impl<'a> Send for AntiStorage<'a>
impl<'a> Sync for AntiStorage<'a>
impl<'a> Unpin for AntiStorage<'a>
impl<'a> UnwindSafe for AntiStorage<'a>
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