Skip to main content

QueryTuple

Trait QueryTuple 

Source
pub trait QueryTuple: SealedQueryTuple {
    type Fetch<'table>;
    type Item<'item>;
    type ParFetch<'table>: Send;

    const ALL_REQUIRED: bool;
Show 17 methods // Required methods fn component_mask(world: &mut DynWorld) -> u64; fn element_masks(world: &mut DynWorld) -> [u64; 8]; fn routing_match(world: &DynWorld) -> bool; fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]; fn join_for_each<F: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: F, ); fn join_par_for_each<F: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: F, ); fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>; fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool; fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>; fn stamp_peaks(fetch: &mut Self::Fetch<'_>); fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>; fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>); fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>; unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>; fn mark_changed_all(fetch: &mut Self::Fetch<'_>); fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>; fn fast_for_each<FN>( fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN, ) where FN: for<'item> FnMut(Entity, Self::Item<'item>);
}

Required Associated Constants§

Required Associated Types§

Source

type Fetch<'table>

Source

type Item<'item>

Source

type ParFetch<'table>: Send

Required Methods§

Source

fn component_mask(world: &mut DynWorld) -> u64

Source

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source

fn routing_match(world: &DynWorld) -> bool

Source

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source

fn join_for_each<F: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: F, )

Source

fn join_par_for_each<F: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: F, )

Source

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Row access without bounds checks, used by the raw_storage fast path.

§Safety

index must be less than every fetched column’s length.

Source

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

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<'element, T: Send + Sync + Default + 'static> QueryTuple for &'element T

Source§

const ALL_REQUIRED: bool = <&'element T as QueryElement>::REQUIRED

Source§

type Fetch<'table> = <&'element T as QueryElement>::Fetch<'table>

Source§

type Item<'item> = <&'element T as QueryElement>::Item<'item>

Source§

type ParFetch<'table> = <&'element T as QueryElement>::ParFetch<'table>

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<'element, T: Send + Sync + Default + 'static> QueryTuple for &'element mut T

Source§

const ALL_REQUIRED: bool = <&'element mut T as QueryElement>::REQUIRED

Source§

type Fetch<'table> = <&'element mut T as QueryElement>::Fetch<'table>

Source§

type Item<'item> = <&'element mut T as QueryElement>::Item<'item>

Source§

type ParFetch<'table> = <&'element mut T as QueryElement>::ParFetch<'table>

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<'element, T: Send + Sync + Default + 'static> QueryTuple for Option<&'element T>

Source§

const ALL_REQUIRED: bool = <Option<&'element T> as QueryElement>::REQUIRED

Source§

type Fetch<'table> = <Option<&'element T> as QueryElement>::Fetch<'table>

Source§

type Item<'item> = <Option<&'element T> as QueryElement>::Item<'item>

Source§

type ParFetch<'table> = <Option<&'element T> as QueryElement>::ParFetch<'table>

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<'element, T: Send + Sync + Default + 'static> QueryTuple for Option<&'element mut T>

Source§

const ALL_REQUIRED: bool = <Option<&'element mut T> as QueryElement>::REQUIRED

Source§

type Fetch<'table> = <Option<&'element mut T> as QueryElement>::Fetch<'table>

Source§

type Item<'item> = <Option<&'element mut T> as QueryElement>::Item<'item>

Source§

type ParFetch<'table> = <Option<&'element mut T> as QueryElement>::ParFetch<'table>

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement, B: QueryElement, C: QueryElement, D: QueryElement, E: QueryElement, F: QueryElement, G: QueryElement, H: QueryElement> QueryTuple for (A, B, C, D, E, F, G, H)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>, <B as QueryElement>::Fetch<'table>, <C as QueryElement>::Fetch<'table>, <D as QueryElement>::Fetch<'table>, <E as QueryElement>::Fetch<'table>, <F as QueryElement>::Fetch<'table>, <G as QueryElement>::Fetch<'table>, <H as QueryElement>::Fetch<'table>)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>, <B as QueryElement>::Item<'item>, <C as QueryElement>::Item<'item>, <D as QueryElement>::Item<'item>, <E as QueryElement>::Item<'item>, <F as QueryElement>::Item<'item>, <G as QueryElement>::Item<'item>, <H as QueryElement>::Item<'item>)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>, <B as QueryElement>::ParFetch<'table>, <C as QueryElement>::ParFetch<'table>, <D as QueryElement>::ParFetch<'table>, <E as QueryElement>::ParFetch<'table>, <F as QueryElement>::ParFetch<'table>, <G as QueryElement>::ParFetch<'table>, <H as QueryElement>::ParFetch<'table>)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement, B: QueryElement, C: QueryElement, D: QueryElement, E: QueryElement, F: QueryElement, G: QueryElement> QueryTuple for (A, B, C, D, E, F, G)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>, <B as QueryElement>::Fetch<'table>, <C as QueryElement>::Fetch<'table>, <D as QueryElement>::Fetch<'table>, <E as QueryElement>::Fetch<'table>, <F as QueryElement>::Fetch<'table>, <G as QueryElement>::Fetch<'table>)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>, <B as QueryElement>::Item<'item>, <C as QueryElement>::Item<'item>, <D as QueryElement>::Item<'item>, <E as QueryElement>::Item<'item>, <F as QueryElement>::Item<'item>, <G as QueryElement>::Item<'item>)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>, <B as QueryElement>::ParFetch<'table>, <C as QueryElement>::ParFetch<'table>, <D as QueryElement>::ParFetch<'table>, <E as QueryElement>::ParFetch<'table>, <F as QueryElement>::ParFetch<'table>, <G as QueryElement>::ParFetch<'table>)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement, B: QueryElement, C: QueryElement, D: QueryElement, E: QueryElement, F: QueryElement> QueryTuple for (A, B, C, D, E, F)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>, <B as QueryElement>::Fetch<'table>, <C as QueryElement>::Fetch<'table>, <D as QueryElement>::Fetch<'table>, <E as QueryElement>::Fetch<'table>, <F as QueryElement>::Fetch<'table>)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>, <B as QueryElement>::Item<'item>, <C as QueryElement>::Item<'item>, <D as QueryElement>::Item<'item>, <E as QueryElement>::Item<'item>, <F as QueryElement>::Item<'item>)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>, <B as QueryElement>::ParFetch<'table>, <C as QueryElement>::ParFetch<'table>, <D as QueryElement>::ParFetch<'table>, <E as QueryElement>::ParFetch<'table>, <F as QueryElement>::ParFetch<'table>)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement, B: QueryElement, C: QueryElement, D: QueryElement, E: QueryElement> QueryTuple for (A, B, C, D, E)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>, <B as QueryElement>::Fetch<'table>, <C as QueryElement>::Fetch<'table>, <D as QueryElement>::Fetch<'table>, <E as QueryElement>::Fetch<'table>)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>, <B as QueryElement>::Item<'item>, <C as QueryElement>::Item<'item>, <D as QueryElement>::Item<'item>, <E as QueryElement>::Item<'item>)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>, <B as QueryElement>::ParFetch<'table>, <C as QueryElement>::ParFetch<'table>, <D as QueryElement>::ParFetch<'table>, <E as QueryElement>::ParFetch<'table>)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement, B: QueryElement, C: QueryElement, D: QueryElement> QueryTuple for (A, B, C, D)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>, <B as QueryElement>::Fetch<'table>, <C as QueryElement>::Fetch<'table>, <D as QueryElement>::Fetch<'table>)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>, <B as QueryElement>::Item<'item>, <C as QueryElement>::Item<'item>, <D as QueryElement>::Item<'item>)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>, <B as QueryElement>::ParFetch<'table>, <C as QueryElement>::ParFetch<'table>, <D as QueryElement>::ParFetch<'table>)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement, B: QueryElement, C: QueryElement> QueryTuple for (A, B, C)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>, <B as QueryElement>::Fetch<'table>, <C as QueryElement>::Fetch<'table>)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>, <B as QueryElement>::Item<'item>, <C as QueryElement>::Item<'item>)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>, <B as QueryElement>::ParFetch<'table>, <C as QueryElement>::ParFetch<'table>)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement, B: QueryElement> QueryTuple for (A, B)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>, <B as QueryElement>::Fetch<'table>)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>, <B as QueryElement>::Item<'item>)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>, <B as QueryElement>::ParFetch<'table>)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Source§

impl<A: QueryElement> QueryTuple for (A,)

Source§

const ALL_REQUIRED: bool

Source§

type Fetch<'table> = (<A as QueryElement>::Fetch<'table>,)

Source§

type Item<'item> = (<A as QueryElement>::Item<'item>,)

Source§

type ParFetch<'table> = (<A as QueryElement>::ParFetch<'table>,)

Source§

fn component_mask(world: &mut DynWorld) -> u64

Source§

fn element_masks(world: &mut DynWorld) -> [u64; 8]

Source§

fn routing_match(world: &DynWorld) -> bool

Source§

fn join_routes(worlds: &[DynWorld]) -> [Option<JoinRoute>; 8]

Source§

fn join_for_each<FN: for<'item> FnMut(Entity, Self::Item<'item>)>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn join_par_for_each<FN: for<'item> Fn(Entity, Self::Item<'item>) + Send + Sync>( driver: &mut DynWorld, element_worlds: &[Option<&DynWorld>; 8], filters: &JoinFilters<'_>, f: FN, )

Source§

fn fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::Fetch<'table>

Source§

fn changed_newer( fetch: &Self::Fetch<'_>, index: usize, element_masks: &[u64; 8], changed_mask: u64, since_tick: u32, ) -> bool

Source§

fn item<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn stamp_peaks(fetch: &mut Self::Fetch<'_>)

Source§

fn par_fetch<'table>( table_mask: u64, columns: &'table mut [ColumnSlot], element_masks: &[u64; 8], current_tick: u32, ) -> Self::ParFetch<'table>

Source§

fn par_split<'table>( fetch: Self::ParFetch<'table>, mid: usize, ) -> (Self::ParFetch<'table>, Self::ParFetch<'table>)

Source§

fn par_item<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

unsafe fn par_item_unchecked<'fetch>( fetch: &'fetch mut Self::ParFetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn mark_changed_all(fetch: &mut Self::Fetch<'_>)

Source§

fn item_marked<'fetch>( fetch: &'fetch mut Self::Fetch<'_>, index: usize, ) -> Self::Item<'fetch>

Source§

fn fast_for_each<FN>(fetch: Self::ParFetch<'_>, entities: &[Entity], f: &mut FN)
where FN: for<'item> FnMut(Entity, Self::Item<'item>),

Implementors§