UniverseFetch

Trait UniverseFetch 

Source
pub trait UniverseFetch<'a> {
    type Value;

    // Required method
    fn fetch(
        universe: &'a Universe,
        system: Entity,
    ) -> Result<Self::Value, Box<dyn Error>>;
}

Required Associated Types§

Required Methods§

Source

fn fetch( universe: &'a Universe, system: Entity, ) -> Result<Self::Value, Box<dyn Error>>

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, A: UniverseFetch<'a>> UniverseFetch<'a> for (A,)

Source§

type Value = (<A as UniverseFetch<'a>>::Value,)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

impl<'a, A: UniverseFetch<'a>, B: UniverseFetch<'a>> UniverseFetch<'a> for (A, B)

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

impl<'a, A: UniverseFetch<'a>, B: UniverseFetch<'a>, C: UniverseFetch<'a>> UniverseFetch<'a> for (A, B, C)

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

impl<'a, A: UniverseFetch<'a>, B: UniverseFetch<'a>, C: UniverseFetch<'a>, D: UniverseFetch<'a>> UniverseFetch<'a> for (A, B, C, D)

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

impl<'a, A: UniverseFetch<'a>, B: UniverseFetch<'a>, C: UniverseFetch<'a>, D: UniverseFetch<'a>, E: UniverseFetch<'a>> UniverseFetch<'a> for (A, B, C, D, E)

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

impl<'a, A: UniverseFetch<'a>, B: UniverseFetch<'a>, C: UniverseFetch<'a>, D: UniverseFetch<'a>, E: UniverseFetch<'a>, F: UniverseFetch<'a>> UniverseFetch<'a> for (A, B, C, D, E, F)

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

impl<'a, A: UniverseFetch<'a>, B: UniverseFetch<'a>, C: UniverseFetch<'a>, D: UniverseFetch<'a>, E: UniverseFetch<'a>, F: UniverseFetch<'a>, G: UniverseFetch<'a>> UniverseFetch<'a> for (A, B, C, D, E, F, G)

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value, <H as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value, <H as UniverseFetch<'a>>::Value, <I as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value, <H as UniverseFetch<'a>>::Value, <I as UniverseFetch<'a>>::Value, <J as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value, <H as UniverseFetch<'a>>::Value, <I as UniverseFetch<'a>>::Value, <J as UniverseFetch<'a>>::Value, <K as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value, <H as UniverseFetch<'a>>::Value, <I as UniverseFetch<'a>>::Value, <J as UniverseFetch<'a>>::Value, <K as UniverseFetch<'a>>::Value, <L as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value, <H as UniverseFetch<'a>>::Value, <I as UniverseFetch<'a>>::Value, <J as UniverseFetch<'a>>::Value, <K as UniverseFetch<'a>>::Value, <L as UniverseFetch<'a>>::Value, <M as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

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

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

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

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Source§

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

Source§

type Value = (<A as UniverseFetch<'a>>::Value, <B as UniverseFetch<'a>>::Value, <C as UniverseFetch<'a>>::Value, <D as UniverseFetch<'a>>::Value, <E as UniverseFetch<'a>>::Value, <F as UniverseFetch<'a>>::Value, <G as UniverseFetch<'a>>::Value, <H as UniverseFetch<'a>>::Value, <I as UniverseFetch<'a>>::Value, <J as UniverseFetch<'a>>::Value, <K as UniverseFetch<'a>>::Value, <L as UniverseFetch<'a>>::Value, <M as UniverseFetch<'a>>::Value, <N as UniverseFetch<'a>>::Value, <O as UniverseFetch<'a>>::Value, <P as UniverseFetch<'a>>::Value)

Source§

fn fetch( universe: &'a Universe, entity: Entity, ) -> Result<Self::Value, Box<dyn Error>>

Implementors§

Source§

impl<'a> UniverseFetch<'a> for &'a World

Source§

type Value = &'a World

Source§

impl<'a, const LOCKING: bool, Fetch: TypedLookupFetch<'a, LOCKING>> UniverseFetch<'a> for Lookup<'a, LOCKING, Fetch>

Source§

type Value = Lookup<'a, LOCKING, Fetch>

Source§

impl<'a, const LOCKING: bool, Fetch: TypedQueryFetch<'a, LOCKING>> UniverseFetch<'a> for Query<'a, LOCKING, Fetch>

Source§

type Value = Query<'a, LOCKING, Fetch>

Source§

impl<'a, const LOCKING: bool, T: Component> UniverseFetch<'a> for Local<LOCKING, &'a T>

Source§

type Value = ComponentRef<'a, LOCKING, T>

Source§

impl<'a, const LOCKING: bool, T: Component> UniverseFetch<'a> for Local<LOCKING, &'a mut T>

Source§

type Value = ComponentRefMut<'a, LOCKING, T>

Source§

impl<'a, const LOCKING: bool, T: Component> UniverseFetch<'a> for Res<LOCKING, &'a T>

Source§

type Value = ComponentRef<'a, LOCKING, T>

Source§

impl<'a, const LOCKING: bool, T: Component> UniverseFetch<'a> for Res<LOCKING, &'a mut T>

Source§

type Value = ComponentRefMut<'a, LOCKING, T>