Trait rin::ecs::storage::StorageEntitiesExt[][src]

pub trait StorageEntitiesExt<'a, S> {
    type IntoStorage;
    type Component;
    pub fn into_storage(self) -> Option<Self::IntoStorage>;
pub fn entities(&self) -> &Entities<'a>;
pub fn get(self, entity: &Entity) -> Option<Self::Component>; }

Associated Types

type IntoStorage[src]

type Component[src]

Loading content...

Required methods

pub fn into_storage(self) -> Option<Self::IntoStorage>[src]

pub fn entities(&self) -> &Entities<'a>[src]

pub fn get(self, entity: &Entity) -> Option<Self::Component>[src]

Loading content...

Implementations on Foreign Types

impl<'a, U1, S1, U2, S2, U3, S3, U4, S4> StorageEntitiesExt<'a, (U1, U2, U3, U4)> for (S1, S2, S3, S4) where
    U1: UnorderedData<'a>,
    U2: UnorderedData<'a>,
    U3: UnorderedData<'a>,
    U4: UnorderedData<'a>,
    S2: StorageEntitiesExt<'a, U2>,
    S3: StorageEntitiesExt<'a, U3>,
    S4: StorageEntitiesExt<'a, U4>,
    S1: StorageEntitiesExt<'a, U1>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage: FastIndexExt,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage: FastIndexExt,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage: FastIndexExt,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage: FastIndexExt
[src]

type Component = (<S1 as StorageEntitiesExt<'a, U1>>::Component, <S2 as StorageEntitiesExt<'a, U2>>::Component, <S3 as StorageEntitiesExt<'a, U3>>::Component, <S4 as StorageEntitiesExt<'a, U4>>::Component)

type IntoStorage = StorageRef4<'a, <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage, <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage, <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage, <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage>

impl<'a, U1, S1, U2, S2, U3, S3, U4, S4, U5, S5> StorageEntitiesExt<'a, (U1, U2, U3, U4, U5)> for (S1, S2, S3, S4, S5) where
    U1: UnorderedData<'a>,
    U2: UnorderedData<'a>,
    U3: UnorderedData<'a>,
    U4: UnorderedData<'a>,
    U5: UnorderedData<'a>,
    S2: StorageEntitiesExt<'a, U2>,
    S3: StorageEntitiesExt<'a, U3>,
    S4: StorageEntitiesExt<'a, U4>,
    S1: StorageEntitiesExt<'a, U1>,
    S5: StorageEntitiesExt<'a, U5>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage: FastIndexExt,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage: FastIndexExt,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage: FastIndexExt,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage: FastIndexExt,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage: FastIndexExt
[src]

type Component = (<S1 as StorageEntitiesExt<'a, U1>>::Component, <S2 as StorageEntitiesExt<'a, U2>>::Component, <S3 as StorageEntitiesExt<'a, U3>>::Component, <S4 as StorageEntitiesExt<'a, U4>>::Component, <S5 as StorageEntitiesExt<'a, U5>>::Component)

type IntoStorage = StorageRef5<'a, <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage, <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage, <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage, <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage, <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage>

impl<'a, U1, S1, U2, S2> StorageEntitiesExt<'a, (U1, U2)> for (S1, S2) where
    U1: UnorderedData<'a>,
    U2: UnorderedData<'a>,
    S2: StorageEntitiesExt<'a, U2>,
    S1: StorageEntitiesExt<'a, U1>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage: FastIndexExt,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage: FastIndexExt
[src]

type Component = (<S1 as StorageEntitiesExt<'a, U1>>::Component, <S2 as StorageEntitiesExt<'a, U2>>::Component)

type IntoStorage = StorageRef2<'a, <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage, <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage>

impl<'a, U1, S1, U2, S2, U3, S3, U4, S4, U5, S5, U6, S6> StorageEntitiesExt<'a, (U1, U2, U3, U4, U5, U6)> for (S1, S2, S3, S4, S5, S6) where
    U1: UnorderedData<'a>,
    U2: UnorderedData<'a>,
    U3: UnorderedData<'a>,
    U4: UnorderedData<'a>,
    U5: UnorderedData<'a>,
    U6: UnorderedData<'a>,
    S2: StorageEntitiesExt<'a, U2>,
    S3: StorageEntitiesExt<'a, U3>,
    S4: StorageEntitiesExt<'a, U4>,
    S1: StorageEntitiesExt<'a, U1>,
    S5: StorageEntitiesExt<'a, U5>,
    S6: StorageEntitiesExt<'a, U6>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage: FastIndexExt,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage: FastIndexExt,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage: FastIndexExt,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage: FastIndexExt,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage: FastIndexExt,
    <U6 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S6 as StorageEntitiesExt<'a, U6>>::IntoStorage: FastIndexExt
[src]

type Component = (<S1 as StorageEntitiesExt<'a, U1>>::Component, <S2 as StorageEntitiesExt<'a, U2>>::Component, <S3 as StorageEntitiesExt<'a, U3>>::Component, <S4 as StorageEntitiesExt<'a, U4>>::Component, <S5 as StorageEntitiesExt<'a, U5>>::Component, <S6 as StorageEntitiesExt<'a, U6>>::Component)

type IntoStorage = StorageRef6<'a, <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage, <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage, <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage, <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage, <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage, <S6 as StorageEntitiesExt<'a, U6>>::IntoStorage>

impl<'a, U1, S1, U2, S2, U3, S3, U4, S4, U5, S5, U6, S6, U7, S7> StorageEntitiesExt<'a, (U1, U2, U3, U4, U5, U6, U7)> for (S1, S2, S3, S4, S5, S6, S7) where
    U1: UnorderedData<'a>,
    U2: UnorderedData<'a>,
    U3: UnorderedData<'a>,
    U4: UnorderedData<'a>,
    U5: UnorderedData<'a>,
    U6: UnorderedData<'a>,
    U7: UnorderedData<'a>,
    S2: StorageEntitiesExt<'a, U2>,
    S3: StorageEntitiesExt<'a, U3>,
    S4: StorageEntitiesExt<'a, U4>,
    S1: StorageEntitiesExt<'a, U1>,
    S5: StorageEntitiesExt<'a, U5>,
    S6: StorageEntitiesExt<'a, U6>,
    S7: StorageEntitiesExt<'a, U7>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage: FastIndexExt,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage: FastIndexExt,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage: FastIndexExt,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage: FastIndexExt,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage: FastIndexExt,
    <U6 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S6 as StorageEntitiesExt<'a, U6>>::IntoStorage: FastIndexExt,
    <U7 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S7 as StorageEntitiesExt<'a, U7>>::IntoStorage: FastIndexExt
[src]

type Component = (<S1 as StorageEntitiesExt<'a, U1>>::Component, <S2 as StorageEntitiesExt<'a, U2>>::Component, <S3 as StorageEntitiesExt<'a, U3>>::Component, <S4 as StorageEntitiesExt<'a, U4>>::Component, <S5 as StorageEntitiesExt<'a, U5>>::Component, <S6 as StorageEntitiesExt<'a, U6>>::Component, <S7 as StorageEntitiesExt<'a, U7>>::Component)

type IntoStorage = StorageRef7<'a, <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage, <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage, <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage, <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage, <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage, <S6 as StorageEntitiesExt<'a, U6>>::IntoStorage, <S7 as StorageEntitiesExt<'a, U7>>::IntoStorage>

impl<'a, U1, S1, U2, S2, U3, S3, U4, S4, U5, S5, U6, S6, U7, S7, U8, S8> StorageEntitiesExt<'a, (U1, U2, U3, U4, U5, U6, U7, U8)> for (S1, S2, S3, S4, S5, S6, S7, S8) where
    U8: UnorderedData<'a>,
    U1: UnorderedData<'a>,
    U2: UnorderedData<'a>,
    U3: UnorderedData<'a>,
    U4: UnorderedData<'a>,
    U5: UnorderedData<'a>,
    U6: UnorderedData<'a>,
    U7: UnorderedData<'a>,
    S2: StorageEntitiesExt<'a, U2>,
    S3: StorageEntitiesExt<'a, U3>,
    S4: StorageEntitiesExt<'a, U4>,
    S1: StorageEntitiesExt<'a, U1>,
    S5: StorageEntitiesExt<'a, U5>,
    S6: StorageEntitiesExt<'a, U6>,
    S7: StorageEntitiesExt<'a, U7>,
    S8: StorageEntitiesExt<'a, U8>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage: FastIndexExt,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage: FastIndexExt,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage: FastIndexExt,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage: FastIndexExt,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage: FastIndexExt,
    <U6 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S6 as StorageEntitiesExt<'a, U6>>::IntoStorage: FastIndexExt,
    <U7 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S7 as StorageEntitiesExt<'a, U7>>::IntoStorage: FastIndexExt,
    <U8 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S8 as StorageEntitiesExt<'a, U8>>::IntoStorage: FastIndexExt
[src]

type Component = (<S1 as StorageEntitiesExt<'a, U1>>::Component, <S2 as StorageEntitiesExt<'a, U2>>::Component, <S3 as StorageEntitiesExt<'a, U3>>::Component, <S4 as StorageEntitiesExt<'a, U4>>::Component, <S5 as StorageEntitiesExt<'a, U5>>::Component, <S6 as StorageEntitiesExt<'a, U6>>::Component, <S7 as StorageEntitiesExt<'a, U7>>::Component, <S8 as StorageEntitiesExt<'a, U8>>::Component)

type IntoStorage = StorageRef8<'a, <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage, <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage, <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage, <S4 as StorageEntitiesExt<'a, U4>>::IntoStorage, <S5 as StorageEntitiesExt<'a, U5>>::IntoStorage, <S6 as StorageEntitiesExt<'a, U6>>::IntoStorage, <S7 as StorageEntitiesExt<'a, U7>>::IntoStorage, <S8 as StorageEntitiesExt<'a, U8>>::IntoStorage>

impl<'a, U1, S1, U2, S2, U3, S3> StorageEntitiesExt<'a, (U1, U2, U3)> for (S1, S2, S3) where
    U1: UnorderedData<'a>,
    U2: UnorderedData<'a>,
    U3: UnorderedData<'a>,
    S2: StorageEntitiesExt<'a, U2>,
    S3: StorageEntitiesExt<'a, U3>,
    S1: StorageEntitiesExt<'a, U1>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage: FastIndexExt,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage: FastIndexExt,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage: FastIndexExt
[src]

type Component = (<S1 as StorageEntitiesExt<'a, U1>>::Component, <S2 as StorageEntitiesExt<'a, U2>>::Component, <S3 as StorageEntitiesExt<'a, U3>>::Component)

type IntoStorage = StorageRef3<'a, <S1 as StorageEntitiesExt<'a, U1>>::IntoStorage, <S2 as StorageEntitiesExt<'a, U2>>::IntoStorage, <S3 as StorageEntitiesExt<'a, U3>>::IntoStorage>

Loading content...

Implementors

impl<'a, 'r, S> StorageEntitiesExt<'a, S> for &'r Sto<'a, S> where
    S: UnorderedData<'a>,
    <S as UnorderedData<'a>>::Storage: StorageRef<'r>,
    <S as UnorderedData<'a>>::Storage: IntoSendStorage<'r>,
    <S as UnorderedData<'a>>::Storage: ReadOnlyStorage,
    <S as UnorderedData<'a>>::Storage: 'r, 
[src]

type Component = <<S as UnorderedData<'a>>::Storage as StorageRef<'r>>::Component

type IntoStorage = <<S as UnorderedData<'a>>::Storage as IntoSendStorage<'r>>::SendStorage

impl<'r, 'a, C> StorageEntitiesExt<'a, Read<'a, C>> for &'r CreationSto<'a, C> where
    C: Component,
    <C as Component>::Storage: for<'s> Storage<'s, C>, 
[src]

type Component = <<C as Component>::Storage as Storage<'r, C>>::Get

type IntoStorage = StorageRead<'a, C, &'r <C as Component>::Storage>

impl<'r, 'a, C> StorageEntitiesExt<'a, Write<'a, C>> for &'r mut CreationSto<'a, C> where
    C: Component,
    <C as Component>::Storage: for<'s> Storage<'s, C>, 
[src]

type Component = <<C as Component>::Storage as Storage<'r, C>>::GetMut

type IntoStorage = StorageWrite<'a, <C as Component>::Storage, C, &'r mut <C as Component>::Storage>

impl<'r, 'a, S> StorageEntitiesExt<'a, S> for &'r mut Sto<'a, S> where
    S: UnorderedData<'a>,
    <S as UnorderedData<'a>>::Storage: StorageRef<'r>,
    <S as UnorderedData<'a>>::Storage: IntoSendStorage<'r>, 
[src]

type Component = <<S as UnorderedData<'a>>::Storage as StorageRef<'r>>::Component

type IntoStorage = <<S as UnorderedData<'a>>::Storage as IntoSendStorage<'r>>::SendStorage

Loading content...