pub trait QuerySpecMut {
type Item<'w>;
type State<'w>;
// Required methods
fn matches(layout: &ArchetypeLayout) -> bool;
fn init_state<'w>(
archetype: &'w mut Archetype,
tick: u64,
) -> Option<Self::State<'w>>;
fn len(state: &Self::State<'_>) -> usize;
fn entity(state: &Self::State<'_>, row: usize) -> Entity;
unsafe fn fetch<'w>(
state: &mut Self::State<'w>,
row: usize,
) -> Self::Item<'w>;
}Expand description
Describes a mutable query fetch over matching archetypes.
Required Associated Types§
Required Methods§
fn matches(layout: &ArchetypeLayout) -> bool
fn init_state<'w>( archetype: &'w mut Archetype, tick: u64, ) -> Option<Self::State<'w>>
fn len(state: &Self::State<'_>) -> usize
fn entity(state: &Self::State<'_>, row: usize) -> Entity
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<A: Component, B: Component, C: Component> QuerySpecMut for (&mut A, &mut B, &mut C)
impl<A: Component, B: Component, C: Component> QuerySpecMut for (&mut A, &mut B, &mut C)
type Item<'w> = (Mut<'w, A>, Mut<'w, B>, Mut<'w, C>)
type State<'w> = TripleMutState<'w, A, B, C>
fn matches(layout: &ArchetypeLayout) -> bool
fn init_state<'w>( archetype: &'w mut Archetype, tick: u64, ) -> Option<Self::State<'w>>
fn len(state: &Self::State<'_>) -> usize
fn entity(state: &Self::State<'_>, row: usize) -> Entity
unsafe fn fetch<'w>(state: &mut Self::State<'w>, row: usize) -> Self::Item<'w>
Source§impl<A: Component, B: Component> QuerySpecMut for (&mut A, &mut B)
impl<A: Component, B: Component> QuerySpecMut for (&mut A, &mut B)
type Item<'w> = (Mut<'w, A>, Mut<'w, B>)
type State<'w> = PairMutState<'w, A, B>
fn matches(layout: &ArchetypeLayout) -> bool
fn init_state<'w>( archetype: &'w mut Archetype, tick: u64, ) -> Option<Self::State<'w>>
fn len(state: &Self::State<'_>) -> usize
fn entity(state: &Self::State<'_>, row: usize) -> Entity
unsafe fn fetch<'w>(state: &mut Self::State<'w>, row: usize) -> Self::Item<'w>
Source§impl<A: Component, B: Component> QuerySpecMut for (&mut A, Option<&mut B>)
impl<A: Component, B: Component> QuerySpecMut for (&mut A, Option<&mut B>)
type Item<'w> = (Mut<'w, A>, Option<Mut<'w, B>>)
type State<'w> = PairMutOptionalState<'w, A, B>
fn matches(layout: &ArchetypeLayout) -> bool
fn init_state<'w>( archetype: &'w mut Archetype, tick: u64, ) -> Option<Self::State<'w>>
fn len(state: &Self::State<'_>) -> usize
fn entity(state: &Self::State<'_>, row: usize) -> Entity
unsafe fn fetch<'w>(state: &mut Self::State<'w>, row: usize) -> Self::Item<'w>
Source§impl<T: Component> QuerySpecMut for &mut T
impl<T: Component> QuerySpecMut for &mut T
type Item<'w> = Mut<'w, T>
type State<'w> = SingleMutState<'w, T>
fn matches(layout: &ArchetypeLayout) -> bool
fn init_state<'w>( archetype: &'w mut Archetype, tick: u64, ) -> Option<Self::State<'w>>
fn len(state: &Self::State<'_>) -> usize
fn entity(state: &Self::State<'_>, row: usize) -> Entity
unsafe fn fetch<'w>(state: &mut Self::State<'w>, row: usize) -> Self::Item<'w>
Source§impl<T: Component> QuerySpecMut for Option<&mut T>
Optional mutable query: matches all archetypes (never filters), returns
Some(&mut T) when the column is present and None when absent.
impl<T: Component> QuerySpecMut for Option<&mut T>
Optional mutable query: matches all archetypes (never filters), returns
Some(&mut T) when the column is present and None when absent.