Query

Trait Query 

Source
pub trait Query<'s> {
    type Borrow;
    type Iter: ExactSizeIterator + 's;

    // Required method
    unsafe fn query<S: Storage>(storage: &'s S) -> Self::Iter;
}
Expand description

Allows to query multiple components from a Storage. See also All.

Required Associated Types§

Required Methods§

Source

unsafe fn query<S: Storage>(storage: &'s S) -> Self::Iter

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'s, A> Query<'s> for All<'s, (A,)>
where A: Fetch<'s>,

Source§

type Borrow = (A,)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter,)>

Source§

impl<'s, A> Query<'s> for All<'s, A>
where A: Fetch<'s>,

Source§

type Borrow = A

Source§

type Iter = <A as Fetch<'s>>::Iter

Source§

impl<'s, A, B> Query<'s> for All<'s, (A, B)>
where A: Fetch<'s>, B: Fetch<'s>,

Source§

type Borrow = (A, B)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter)>

Source§

impl<'s, A, B, C> Query<'s> for All<'s, (A, B, C)>
where A: Fetch<'s>, B: Fetch<'s>, C: Fetch<'s>,

Source§

type Borrow = (A, B, C)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter, <C as Fetch<'s>>::Iter)>

Source§

impl<'s, A, B, C, D> Query<'s> for All<'s, (A, B, C, D)>
where A: Fetch<'s>, B: Fetch<'s>, C: Fetch<'s>, D: Fetch<'s>,

Source§

type Borrow = (A, B, C, D)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter, <C as Fetch<'s>>::Iter, <D as Fetch<'s>>::Iter)>

Source§

impl<'s, A, B, C, D, E> Query<'s> for All<'s, (A, B, C, D, E)>
where A: Fetch<'s>, B: Fetch<'s>, C: Fetch<'s>, D: Fetch<'s>, E: Fetch<'s>,

Source§

type Borrow = (A, B, C, D, E)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter, <C as Fetch<'s>>::Iter, <D as Fetch<'s>>::Iter, <E as Fetch<'s>>::Iter)>

Source§

impl<'s, A, B, C, D, E, F> Query<'s> for All<'s, (A, B, C, D, E, F)>
where A: Fetch<'s>, B: Fetch<'s>, C: Fetch<'s>, D: Fetch<'s>, E: Fetch<'s>, F: Fetch<'s>,

Source§

type Borrow = (A, B, C, D, E, F)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter, <C as Fetch<'s>>::Iter, <D as Fetch<'s>>::Iter, <E as Fetch<'s>>::Iter, <F as Fetch<'s>>::Iter)>

Source§

impl<'s, A, B, C, D, E, F, G> Query<'s> for All<'s, (A, B, C, D, E, F, G)>
where A: Fetch<'s>, B: Fetch<'s>, C: Fetch<'s>, D: Fetch<'s>, E: Fetch<'s>, F: Fetch<'s>, G: Fetch<'s>,

Source§

type Borrow = (A, B, C, D, E, F, G)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter, <C as Fetch<'s>>::Iter, <D as Fetch<'s>>::Iter, <E as Fetch<'s>>::Iter, <F as Fetch<'s>>::Iter, <G as Fetch<'s>>::Iter)>

Source§

impl<'s, A, B, C, D, E, F, G, H> Query<'s> for All<'s, (A, B, C, D, E, F, G, H)>
where A: Fetch<'s>, B: Fetch<'s>, C: Fetch<'s>, D: Fetch<'s>, E: Fetch<'s>, F: Fetch<'s>, G: Fetch<'s>, H: Fetch<'s>,

Source§

type Borrow = (A, B, C, D, E, F, G, H)

Source§

type Iter = Zip<(<A as Fetch<'s>>::Iter, <B as Fetch<'s>>::Iter, <C as Fetch<'s>>::Iter, <D as Fetch<'s>>::Iter, <E as Fetch<'s>>::Iter, <F as Fetch<'s>>::Iter, <G as Fetch<'s>>::Iter, <H as Fetch<'s>>::Iter)>