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