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 EntitiesRes
to the join as well to bound the
join to all entities that are alive.
Tuple Fields
0: J
Trait Implementations
sourceimpl<T> Join for MaybeJoin<T> where
T: Join,
impl<T> Join for MaybeJoin<T> where
T: Join,
sourceunsafe 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
sourceunsafe fn get((mask, value): &mut Self::Value, id: Index) -> Self::Type
unsafe fn get((mask, value): &mut Self::Value, id: Index) -> Self::Type
Get a joined component value by a given index. Read more
sourcefn 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. Read more
Auto Trait Implementations
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more