Trait ResourceQuery

Source
pub trait ResourceQuery {
    type Item<'r>;
    type State<'s>: QueryState<'s>;

    // Required method
    fn query<'r, 's>(
        resources: &'r Resources,
        state: Self::State<'s>,
    ) -> Option<Self::Item<'r>>;
}

Required Associated Types§

Source

type Item<'r>

Source

type State<'s>: QueryState<'s>

Required Methods§

Source

fn query<'r, 's>( resources: &'r Resources, state: Self::State<'s>, ) -> Option<Self::Item<'r>>

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.

Implementations on Foreign Types§

Source§

impl<'a, R: Resource> ResourceQuery for &'a R

Source§

type Item<'r> = &'r R

Source§

type State<'s> = EphemeralQueryState<'s>

Source§

fn query<'r, 's>( resources: &'r Resources, _state: Self::State<'s>, ) -> Option<Self::Item<'r>>

Source§

impl<R1: ResourceQuery> ResourceQuery for (R1,)

Source§

type Item<'r> = (<R1 as ResourceQuery>::Item<'r>,)

Source§

type State<'s> = EphemeralQueryState<'s>

Source§

fn query<'r, 's>( resources: &'r Resources, state: Self::State<'s>, ) -> Option<Self::Item<'r>>

Source§

impl<R1: ResourceQuery, R2: ResourceQuery> ResourceQuery for (R1, R2)

Source§

type Item<'r> = (<R1 as ResourceQuery>::Item<'r>, <R2 as ResourceQuery>::Item<'r>)

Source§

type State<'s> = EphemeralQueryState<'s>

Source§

fn query<'r, 's>( resources: &'r Resources, state: Self::State<'s>, ) -> Option<Self::Item<'r>>

Source§

impl<R1: ResourceQuery, R2: ResourceQuery, R3: ResourceQuery> ResourceQuery for (R1, R2, R3)

Source§

type Item<'r> = (<R1 as ResourceQuery>::Item<'r>, <R2 as ResourceQuery>::Item<'r>, <R3 as ResourceQuery>::Item<'r>)

Source§

type State<'s> = EphemeralQueryState<'s>

Source§

fn query<'r, 's>( resources: &'r Resources, state: Self::State<'s>, ) -> Option<Self::Item<'r>>

Source§

impl<R1: ResourceQuery, R2: ResourceQuery, R3: ResourceQuery, R4: ResourceQuery> ResourceQuery for (R1, R2, R3, R4)

Source§

type Item<'r> = (<R1 as ResourceQuery>::Item<'r>, <R2 as ResourceQuery>::Item<'r>, <R3 as ResourceQuery>::Item<'r>, <R4 as ResourceQuery>::Item<'r>)

Source§

type State<'s> = EphemeralQueryState<'s>

Source§

fn query<'r, 's>( resources: &'r Resources, state: Self::State<'s>, ) -> Option<Self::Item<'r>>

Source§

impl<R1: ResourceQuery, R2: ResourceQuery, R3: ResourceQuery, R4: ResourceQuery, R5: ResourceQuery> ResourceQuery for (R1, R2, R3, R4, R5)

Source§

type Item<'r> = (<R1 as ResourceQuery>::Item<'r>, <R2 as ResourceQuery>::Item<'r>, <R3 as ResourceQuery>::Item<'r>, <R4 as ResourceQuery>::Item<'r>, <R5 as ResourceQuery>::Item<'r>)

Source§

type State<'s> = EphemeralQueryState<'s>

Source§

fn query<'r, 's>( resources: &'r Resources, state: Self::State<'s>, ) -> Option<Self::Item<'r>>

Source§

impl<R1: ResourceQuery, R2: ResourceQuery, R3: ResourceQuery, R4: ResourceQuery, R5: ResourceQuery, R6: ResourceQuery> ResourceQuery for (R1, R2, R3, R4, R5, R6)

Source§

type Item<'r> = (<R1 as ResourceQuery>::Item<'r>, <R2 as ResourceQuery>::Item<'r>, <R3 as ResourceQuery>::Item<'r>, <R4 as ResourceQuery>::Item<'r>, <R5 as ResourceQuery>::Item<'r>, <R6 as ResourceQuery>::Item<'r>)

Source§

type State<'s> = EphemeralQueryState<'s>

Source§

fn query<'r, 's>( resources: &'r Resources, state: Self::State<'s>, ) -> Option<Self::Item<'r>>

Implementors§