Trait hecs::Query

source ·
pub trait Query {
    type Item<'a>;
}
Expand description

A collection of component types to fetch from a World

The interface of this trait is a private implementation detail.

Required Associated Types§

source

type Item<'a>

Type of results yielded by the query

This is usually the same type as the query itself, except with an appropriate lifetime.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Query for ()

§

type Item<'q> = ()

source§

impl<'a, T: Component> Query for &'a T

§

type Item<'q> = &'q T

source§

impl<'a, T: Component> Query for &'a mut T

§

type Item<'q> = &'q mut T

source§

impl<A: Query> Query for (A,)

§

type Item<'q> = (<A as Query>::Item<'q>,)

source§

impl<A: Query, B: Query> Query for (A, B)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>)

source§

impl<A: Query, B: Query, C: Query> Query for (A, B, C)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>)

source§

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

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>)

source§

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

§

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

source§

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

§

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

source§

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

§

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

source§

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

§

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

source§

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

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>, <E as Query>::Item<'q>, <F as Query>::Item<'q>, <G as Query>::Item<'q>, <H as Query>::Item<'q>, <I as Query>::Item<'q>)

source§

impl<A: Query, B: Query, C: Query, D: Query, E: Query, F: Query, G: Query, H: Query, I: Query, J: Query> Query for (A, B, C, D, E, F, G, H, I, J)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>, <E as Query>::Item<'q>, <F as Query>::Item<'q>, <G as Query>::Item<'q>, <H as Query>::Item<'q>, <I as Query>::Item<'q>, <J as Query>::Item<'q>)

source§

impl<A: Query, B: Query, C: Query, D: Query, E: Query, F: Query, G: Query, H: Query, I: Query, J: Query, K: Query> Query for (A, B, C, D, E, F, G, H, I, J, K)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>, <E as Query>::Item<'q>, <F as Query>::Item<'q>, <G as Query>::Item<'q>, <H as Query>::Item<'q>, <I as Query>::Item<'q>, <J as Query>::Item<'q>, <K as Query>::Item<'q>)

source§

impl<A: Query, B: Query, C: Query, D: Query, E: Query, F: Query, G: Query, H: Query, I: Query, J: Query, K: Query, L: Query> Query for (A, B, C, D, E, F, G, H, I, J, K, L)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>, <E as Query>::Item<'q>, <F as Query>::Item<'q>, <G as Query>::Item<'q>, <H as Query>::Item<'q>, <I as Query>::Item<'q>, <J as Query>::Item<'q>, <K as Query>::Item<'q>, <L as Query>::Item<'q>)

source§

impl<A: Query, B: Query, C: Query, D: Query, E: Query, F: Query, G: Query, H: Query, I: Query, J: Query, K: Query, L: Query, M: Query> Query for (A, B, C, D, E, F, G, H, I, J, K, L, M)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>, <E as Query>::Item<'q>, <F as Query>::Item<'q>, <G as Query>::Item<'q>, <H as Query>::Item<'q>, <I as Query>::Item<'q>, <J as Query>::Item<'q>, <K as Query>::Item<'q>, <L as Query>::Item<'q>, <M as Query>::Item<'q>)

source§

impl<A: Query, B: Query, C: Query, D: Query, E: Query, F: Query, G: Query, H: Query, I: Query, J: Query, K: Query, L: Query, M: Query, N: Query> Query for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>, <E as Query>::Item<'q>, <F as Query>::Item<'q>, <G as Query>::Item<'q>, <H as Query>::Item<'q>, <I as Query>::Item<'q>, <J as Query>::Item<'q>, <K as Query>::Item<'q>, <L as Query>::Item<'q>, <M as Query>::Item<'q>, <N as Query>::Item<'q>)

source§

impl<A: Query, B: Query, C: Query, D: Query, E: Query, F: Query, G: Query, H: Query, I: Query, J: Query, K: Query, L: Query, M: Query, N: Query, O: Query> Query for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

§

type Item<'q> = (<A as Query>::Item<'q>, <B as Query>::Item<'q>, <C as Query>::Item<'q>, <D as Query>::Item<'q>, <E as Query>::Item<'q>, <F as Query>::Item<'q>, <G as Query>::Item<'q>, <H as Query>::Item<'q>, <I as Query>::Item<'q>, <J as Query>::Item<'q>, <K as Query>::Item<'q>, <L as Query>::Item<'q>, <M as Query>::Item<'q>, <N as Query>::Item<'q>, <O as Query>::Item<'q>)

source§

impl<T: Query> Query for Option<T>

§

type Item<'q> = Option<<T as Query>::Item<'q>>

Implementors§

source§

impl<L: Query, R: Query> Query for Or<L, R>

§

type Item<'q> = Or<<L as Query>::Item<'q>, <R as Query>::Item<'q>>

source§

impl<Q: Query> Query for Satisfies<Q>

§

type Item<'q> = bool

source§

impl<Q: Query, R: Query> Query for With<Q, R>

§

type Item<'q> = <Q as Query>::Item<'q>

source§

impl<Q: Query, R: Query> Query for Without<Q, R>

§

type Item<'q> = <Q as Query>::Item<'q>