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,

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>>

The type of iterator this query item creates
source§

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

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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> RawDrop for T

§

unsafe fn raw_drop(ptr: *mut c_void)

Write the default value of the type to the pointer. Read more
§

fn raw_drop_cb() -> Unsafe<&'static (dyn Fn(*mut c_void) + Send + Sync)>

Get a callback suitable for [SchemaData].
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V