pub struct MaybeJoin<J: Join>(pub J);
Expand description
A Join
-able structure that yields all indices, returning None
for all
missing elements and Some(T)
for found elements.
For usage see Join::maybe()
.
WARNING: Do not have a join of only MaybeJoin
s. Otherwise the join will
iterate over every single index of the bitset. If you want a join with
all MaybeJoin
s, add an Entities
to the join as well to bound the
join to all entities that are alive.
Tuple Fields§
§0: J
Trait Implementations§
Source§impl<T> Join for MaybeJoin<T>where
T: Join,
impl<T> Join for MaybeJoin<T>where
T: Join,
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((mask, value): &mut Self::Value, index: Index) -> Self::Type
unsafe fn get((mask, value): &mut Self::Value, index: Index) -> Self::Type
Get a joined component value by a given index. Read more
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
/ParJoin
to go through all indices which
is usually not what is wanted and will kill performance.Auto Trait Implementations§
impl<J> Freeze for MaybeJoin<J>where
J: Freeze,
impl<J> RefUnwindSafe for MaybeJoin<J>where
J: RefUnwindSafe,
impl<J> Send for MaybeJoin<J>where
J: Send,
impl<J> Sync for MaybeJoin<J>where
J: Sync,
impl<J> Unpin for MaybeJoin<J>where
J: Unpin,
impl<J> UnwindSafe for MaybeJoin<J>where
J: 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