Struct bones_lib::ecs::prelude::OptionalQueryItemMut

source ·
pub struct OptionalQueryItemMut<'a, T, S>(pub &'a mut S, pub PhantomData<&'a T>)
where
    T: HasSchema;
Expand description

Wrapper for the CompMut SystemParam used as QueryItem to iterate over entities optionally and mutably retrieving components from ComponentStore. Entities iterated over will not be filtered by OptionalQueryItemMut.

See OptionalMut helper func for constructing OptionalQueryItemMut and usage

Tuple Fields§

§0: &'a mut S§1: PhantomData<&'a T>

Trait Implementations§

source§

impl<'a, T, S, C> QueryItem for &'a mut OptionalQueryItemMut<'a, T, S>
where T: HasSchema, C: ComponentIterBitset<'a, T> + 'a, S: DerefMut<Target = C> + 'a,

Mutably iterate over optional component with syntax: &mut OptionalMut(&mut RefMut<ComponentStore<T>>)

§

type Iter = Map<UntypedComponentOptionalBitsetIteratorMut<'a>, for<'b> fn(_: Option<SchemaRefMut<'b>>) -> Option<&'b mut T>>

The type of iterator this query item creates
source§

fn apply_bitset(&self, _bitset: &mut BitSetVec)

Modify the iteration bitset
source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<<&'a mut OptionalQueryItemMut<'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.
source§

fn iter_with_bitset( self, bitset: Rc<BitSetVec>, ) -> <&'a mut OptionalQueryItemMut<'a, T, S> as QueryItem>::Iter

Return an iterator over the provided bitset.

Auto Trait Implementations§

§

impl<'a, T, S> Freeze for OptionalQueryItemMut<'a, T, S>

§

impl<'a, T, S> RefUnwindSafe for OptionalQueryItemMut<'a, T, S>

§

impl<'a, T, S> Send for OptionalQueryItemMut<'a, T, S>
where S: Send,

§

impl<'a, T, S> Sync for OptionalQueryItemMut<'a, T, S>
where S: Sync,

§

impl<'a, T, S> Unpin for OptionalQueryItemMut<'a, T, S>

§

impl<'a, T, S> !UnwindSafe for OptionalQueryItemMut<'a, T, S>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where 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 T
where 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 T
where V: MultiLane<T>,

§

fn vzip(self) -> V