Struct bones_lib::ecs::prelude::OptionalQueryItem
source · pub struct OptionalQueryItem<'a, T, S>(pub &'a S, pub PhantomData<&'a T>)
where
T: HasSchema;
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, S, C> QueryItem for &'a OptionalQueryItem<'a, T, S>where
T: HasSchema,
C: ComponentIterBitset<'a, T> + 'a,
S: Deref<Target = C> + 'a,
impl<'a, T, S, C> QueryItem for &'a OptionalQueryItem<'a, T, S>where T: HasSchema, 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 iter_with_bitset(
self,
bitset: Rc<BitSetVec>
) -> <&'a OptionalQueryItem<'a, T, S> as QueryItem>::Iter
fn iter_with_bitset( self, bitset: Rc<BitSetVec> ) -> <&'a OptionalQueryItem<'a, T, S> as QueryItem>::Iter
Return an iterator over the provided bitset.
Auto Trait Implementations§
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