Trait bones_ecs::entities::QueryItem

source ·
pub trait QueryItem {
    type Iter: Iterator;

    // Required methods
    fn apply_bitset(&self, bitset: &mut BitSetVec);
    fn get_single_with_bitset(
        self,
        bitset: Rc<BitSetVec>,
    ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>;
    fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter;
}
Expand description

A type representing a component-joining entity query.

Required Associated Types§

source

type Iter: Iterator

The type of iterator this query item creates

Required Methods§

source

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

Modify the iteration bitset

source

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::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>) -> Self::Iter

Return an iterator over the provided bitset.

Implementations on Foreign Types§

source§

impl<A: QueryItem, B: QueryItem, C: QueryItem, D: QueryItem, E: QueryItem, F: QueryItem, G: QueryItem, H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<A as QueryItem>::Iter, <B as QueryItem>::Iter, <C as QueryItem>::Iter, <D as QueryItem>::Iter, <E as QueryItem>::Iter, <F as QueryItem>::Iter, <G as QueryItem>::Iter, <H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<B: QueryItem, C: QueryItem, D: QueryItem, E: QueryItem, F: QueryItem, G: QueryItem, H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<B as QueryItem>::Iter, <C as QueryItem>::Iter, <D as QueryItem>::Iter, <E as QueryItem>::Iter, <F as QueryItem>::Iter, <G as QueryItem>::Iter, <H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<C: QueryItem, D: QueryItem, E: QueryItem, F: QueryItem, G: QueryItem, H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<C as QueryItem>::Iter, <D as QueryItem>::Iter, <E as QueryItem>::Iter, <F as QueryItem>::Iter, <G as QueryItem>::Iter, <H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<D: QueryItem, E: QueryItem, F: QueryItem, G: QueryItem, H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<D as QueryItem>::Iter, <E as QueryItem>::Iter, <F as QueryItem>::Iter, <G as QueryItem>::Iter, <H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<E: QueryItem, F: QueryItem, G: QueryItem, H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<E as QueryItem>::Iter, <F as QueryItem>::Iter, <G as QueryItem>::Iter, <H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<F: QueryItem, G: QueryItem, H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<F as QueryItem>::Iter, <G as QueryItem>::Iter, <H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<G: QueryItem, H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<G as QueryItem>::Iter, <H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<H: QueryItem, I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<H as QueryItem>::Iter, <I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<I: QueryItem, J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<I as QueryItem>::Iter, <J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<J: QueryItem, K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<J as QueryItem>::Iter, <K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<K: QueryItem, L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<K as QueryItem>::Iter, <L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<L: QueryItem, M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<L as QueryItem>::Iter, <M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<M: QueryItem, N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<M as QueryItem>::Iter, <N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<N: QueryItem, O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<N as QueryItem>::Iter, <O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<O: QueryItem, P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (O, P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<O as QueryItem>::Iter, <P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<P: QueryItem, Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (P, Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<P as QueryItem>::Iter, <Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<Q: QueryItem, R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (Q, R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<Q as QueryItem>::Iter, <R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<R: QueryItem, S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (R, S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<R as QueryItem>::Iter, <S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<S: QueryItem, T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (S, T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<S as QueryItem>::Iter, <T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<T: QueryItem, U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (T, U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<T as QueryItem>::Iter, <U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<U: QueryItem, V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (U, V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<U as QueryItem>::Iter, <V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<V: QueryItem, W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (V, W, X, Y, Z)

§

type Iter = MultiQueryIter<(<V as QueryItem>::Iter, <W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<W: QueryItem, X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (W, X, Y, Z)

§

type Iter = MultiQueryIter<(<W as QueryItem>::Iter, <X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<X: QueryItem, Y: QueryItem, Z: QueryItem> QueryItem for (X, Y, Z)

§

type Iter = MultiQueryIter<(<X as QueryItem>::Iter, <Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<Y: QueryItem, Z: QueryItem> QueryItem for (Y, Z)

§

type Iter = MultiQueryIter<(<Y as QueryItem>::Iter, <Z as QueryItem>::Iter)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

source§

impl<Z: QueryItem> QueryItem for (Z,)

§

type Iter = MultiQueryIter<(<Z as QueryItem>::Iter,)>

source§

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

source§

fn get_single_with_bitset( self, bitset: Rc<BitSetVec>, ) -> Result<<Self::Iter as Iterator>::Item, QuerySingleError>

source§

fn iter_with_bitset(self, bitset: Rc<BitSetVec>) -> Self::Iter

Implementors§

source§

impl<'a> QueryItem for &'a Ref<'a, UntypedComponentStore>

source§

impl<'a, 'q, T: HasSchema> QueryItem for &'a Comp<'q, T>

§

type Iter = Map<UntypedComponentBitsetIterator<'a>, for<'b> fn(_: SchemaRef<'b>) -> &'b T>

source§

impl<'a, 'q, T: HasSchema> QueryItem for &'a CompMut<'q, T>

§

type Iter = Map<UntypedComponentBitsetIterator<'a>, for<'b> fn(_: SchemaRef<'b>) -> &'b T>

source§

impl<'a, 'q, T: HasSchema> QueryItem for &'a mut CompMut<'q, T>

source§

impl<'a, T: HasSchema, S, C> QueryItem for &'a OptionalQueryItem<'a, T, S>
where 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>))

source§

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

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