Struct bones_lib::prelude::OptionalQueryItem
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§
§impl<'a, T, S, C> QueryItem for &'a OptionalQueryItem<'a, T, S>
impl<'a, T, S, C> QueryItem for &'a OptionalQueryItem<'a, T, S>
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
§fn apply_bitset(&self, _bitset: &mut BitSetVec)
fn apply_bitset(&self, _bitset: &mut BitSetVec)
Modify the iteration bitset
§fn get_single_with_bitset(
self,
bitset: Rc<BitSetVec>,
) -> Result<<<&'a OptionalQueryItem<'a, T, S> as QueryItem>::Iter as Iterator>::Item, QuerySingleError>
fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<<&'a OptionalQueryItem<'a, T, S> as QueryItem>::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.
§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> 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