Struct bones_ecs::entities::OptionalQueryItem
source · pub struct OptionalQueryItem<'a, T: HasSchema, S>(pub &'a S, pub PhantomData<&'a T>);
Expand description
Wrapper for the Comp
SystemParam
used as QueryItem
to iterate
over entities optionally retrieving components from ComponentStore
.
Entities iterated over will not be filtered by OptionalQueryItem
.
See Optional
helper func for constructing OptionalQueryItem
and usage.
Tuple Fields§
§0: &'a S
§1: PhantomData<&'a T>
Trait Implementations§
source§impl<'a, T: HasSchema, S, C> QueryItem for &'a OptionalQueryItem<'a, T, S>where
C: ComponentIterBitset<'a, T> + 'a,
S: Deref<Target = C> + 'a,
impl<'a, T: HasSchema, S, C> QueryItem for &'a OptionalQueryItem<'a, T, S>where
C: ComponentIterBitset<'a, T> + 'a,
S: Deref<Target = C> + 'a,
Immutably iterate over optional component with syntax: &Optional(&Comp<T>)
/ &Optional(&CompMut<T>)
.
(For mutable optional iteration we require &mut OptionalMut(&mut CompMut<T>)
)
§type Iter = Map<UntypedComponentOptionalBitsetIterator<'a>, for<'b> fn(_: Option<SchemaRef<'b>>) -> Option<&'b T>>
type Iter = Map<UntypedComponentOptionalBitsetIterator<'a>, for<'b> fn(_: Option<SchemaRef<'b>>) -> Option<&'b T>>
The type of iterator this query item creates
source§fn apply_bitset(&self, _bitset: &mut BitSetVec)
fn apply_bitset(&self, _bitset: &mut BitSetVec)
Modify the iteration bitset
source§fn get_single_with_bitset(
self,
bitset: Rc<BitSetVec>,
) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>
fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>
Return the item that matches the query within the given bitset if there is exactly one
entity that matches this query item.
Auto Trait Implementations§
impl<'a, T, S> Freeze for OptionalQueryItem<'a, T, S>
impl<'a, T, S> RefUnwindSafe for OptionalQueryItem<'a, T, S>where
S: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, T, S> Send for OptionalQueryItem<'a, T, S>where
S: Sync,
impl<'a, T, S> Sync for OptionalQueryItem<'a, T, S>where
S: Sync,
impl<'a, T, S> Unpin for OptionalQueryItem<'a, T, S>
impl<'a, T, S> UnwindSafe for OptionalQueryItem<'a, T, S>where
S: RefUnwindSafe,
T: RefUnwindSafe,
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