QueryItem

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

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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)

Source§

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

Source§

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>

Source§

impl<'a, 'q, T: HasSchema> QueryItem for &'a CompMut<'q, 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>>)