Skip to main content

TypedRelationLookupFetch

Trait TypedRelationLookupFetch 

Source
pub trait TypedRelationLookupFetch<'a> {
    type Value;
    type Access;

    // Required methods
    fn access(world: &'a World, entity: Entity) -> Self::Access;
    fn fetch(access: &mut Self::Access) -> Option<Self::Value>;
}

Required Associated Types§

Required Methods§

Source

fn access(world: &'a World, entity: Entity) -> Self::Access

Source

fn fetch(access: &mut Self::Access) -> Option<Self::Value>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

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

Source§

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

Source§

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

Source§

fn access(world: &'a World, entity: Entity) -> Self::Access

Source§

fn fetch(access: &mut Self::Access) -> Option<Self::Value>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

type Access = (<A as TypedRelationLookupFetch<'a>>::Access, <B as TypedRelationLookupFetch<'a>>::Access, <C as TypedRelationLookupFetch<'a>>::Access)

Source§

fn access(world: &'a World, entity: Entity) -> Self::Access

Source§

fn fetch(access: &mut Self::Access) -> Option<Self::Value>

Source§

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

Source§

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

Source§

type Access = (<A as TypedRelationLookupFetch<'a>>::Access, <B as TypedRelationLookupFetch<'a>>::Access)

Source§

fn access(world: &'a World, entity: Entity) -> Self::Access

Source§

fn fetch(access: &mut Self::Access) -> Option<Self::Value>

Source§

impl<'a, A: TypedRelationLookupFetch<'a>> TypedRelationLookupFetch<'a> for (A,)

Source§

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

Source§

type Access = (<A as TypedRelationLookupFetch<'a>>::Access,)

Source§

fn access(world: &'a World, entity: Entity) -> Self::Access

Source§

fn fetch(access: &mut Self::Access) -> Option<Self::Value>

Source§

impl<'a> TypedRelationLookupFetch<'a> for ()

Source§

type Value = ()

Source§

type Access = ()

Source§

fn access(_: &'a World, _: Entity) -> Self::Access

Source§

fn fetch(_: &mut Self::Access) -> Option<Self::Value>

Implementors§

Source§

impl<'a, A, B> TypedRelationLookupFetch<'a> for Join<'a, A, B>

Source§

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

Source§

type Access = Box<dyn Iterator<Item = <Join<'a, A, B> as TypedRelationLookupFetch<'a>>::Value> + 'a>

Source§

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

Source§

type Value = <Fetch as TypedLookupFetch<'a, LOCKING>>::ValueOne

Source§

type Access = Option<<Fetch as TypedLookupFetch<'a, LOCKING>>::ValueOne>

Source§

impl<'a, const LOCKING: bool, T, Transform> TypedRelationLookupFetch<'a> for Related<'a, LOCKING, T, Transform>
where T: Component, Transform: TypedRelationLookupTransform<'a, Input = Entity>,

Source§

type Value = <Transform as TypedRelationLookupTransform<'a>>::Output

Source§

type Access = Box<dyn Iterator<Item = <Related<'a, LOCKING, T, Transform> as TypedRelationLookupFetch<'a>>::Value> + 'a>

Source§

impl<'a, const LOCKING: bool, T, Transform> TypedRelationLookupFetch<'a> for RelatedPair<'a, LOCKING, T, Transform>
where T: Component, Transform: TypedRelationLookupTransform<'a, Input = (Entity, Entity)>,

Source§

type Value = <Transform as TypedRelationLookupTransform<'a>>::Output

Source§

type Access = Box<dyn Iterator<Item = <RelatedPair<'a, LOCKING, T, Transform> as TypedRelationLookupFetch<'a>>::Value> + 'a>

Source§

impl<'a, const LOCKING: bool, T, Transform> TypedRelationLookupFetch<'a> for Traverse<'a, LOCKING, T, Transform>
where T: Component, Transform: TypedRelationLookupTransform<'a, Input = Entity>,

Source§

type Value = <Transform as TypedRelationLookupTransform<'a>>::Output

Source§

type Access = Box<dyn Iterator<Item = <Traverse<'a, LOCKING, T, Transform> as TypedRelationLookupFetch<'a>>::Value> + 'a>

Source§

impl<'a, const LOCKING: bool, T, Transform> TypedRelationLookupFetch<'a> for TraversePair<'a, LOCKING, T, Transform>
where T: Component, Transform: TypedRelationLookupTransform<'a, Input = (Entity, Entity)>,

Source§

type Value = <Transform as TypedRelationLookupTransform<'a>>::Output

Source§

type Access = Box<dyn Iterator<Item = <TraversePair<'a, LOCKING, T, Transform> as TypedRelationLookupFetch<'a>>::Value> + 'a>

Source§

impl<'a> TypedRelationLookupFetch<'a> for Entity