Trait rinecs::operators::UnorderedData[][src]

pub trait UnorderedData<'a> {
    type Iter;
    type IterMut;
    type Components: 'static;
    type ComponentsRef;
    type Storage;
    fn query_mask<E: EntitiesStorage>(entities: &E) -> Bitmask;
fn into_iter<E: EntitiesStorage>(entities: &'a E) -> Self::Iter;
fn into_iter_mut<E: EntitiesStorage>(entities: &'a E) -> Self::IterMut;
fn storage<E: EntitiesStorage>(entities: &'a E) -> Option<Self::Storage>; }

Associated Types

type Iter[src]

type IterMut[src]

type Components: 'static[src]

type ComponentsRef[src]

type Storage[src]

Loading content...

Required methods

fn query_mask<E: EntitiesStorage>(entities: &E) -> Bitmask[src]

fn into_iter<E: EntitiesStorage>(entities: &'a E) -> Self::Iter[src]

fn into_iter_mut<E: EntitiesStorage>(entities: &'a E) -> Self::IterMut[src]

fn storage<E: EntitiesStorage>(entities: &'a E) -> Option<Self::Storage>[src]

Loading content...

Implementations on Foreign Types

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

type Iter = StorageIter<'a, Self::Storage>

type IterMut = StorageIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = (<U1 as UnorderedData<'a>>::Components, <U2 as UnorderedData<'a>>::Components)

type ComponentsRef = (<U1 as UnorderedData<'a>>::ComponentsRef, <U2 as UnorderedData<'a>>::ComponentsRef)

type Storage = StorageRef2<'a, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage>

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

type Iter = StorageIter<'a, Self::Storage>

type IterMut = StorageIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = (<U1 as UnorderedData<'a>>::Components, <U2 as UnorderedData<'a>>::Components, <U3 as UnorderedData<'a>>::Components)

type ComponentsRef = (<U1 as UnorderedData<'a>>::ComponentsRef, <U2 as UnorderedData<'a>>::ComponentsRef, <U3 as UnorderedData<'a>>::ComponentsRef)

type Storage = StorageRef3<'a, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage>

impl<'a, U1, U2, U3, U4> UnorderedData<'a> for (U1, U2, U3, U4) where
    U1: UnorderedData<'a>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    U2: UnorderedData<'a>,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    U3: UnorderedData<'a>,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    U4: UnorderedData<'a>,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt
[src]

type Iter = StorageIter<'a, Self::Storage>

type IterMut = StorageIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = (<U1 as UnorderedData<'a>>::Components, <U2 as UnorderedData<'a>>::Components, <U3 as UnorderedData<'a>>::Components, <U4 as UnorderedData<'a>>::Components)

type ComponentsRef = (<U1 as UnorderedData<'a>>::ComponentsRef, <U2 as UnorderedData<'a>>::ComponentsRef, <U3 as UnorderedData<'a>>::ComponentsRef, <U4 as UnorderedData<'a>>::ComponentsRef)

type Storage = StorageRef4<'a, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage, <U4 as UnorderedData<'a>>::Storage>

impl<'a, U1, U2, U3, U4, U5> UnorderedData<'a> for (U1, U2, U3, U4, U5) where
    U1: UnorderedData<'a>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    U2: UnorderedData<'a>,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    U3: UnorderedData<'a>,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    U4: UnorderedData<'a>,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    U5: UnorderedData<'a>,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt
[src]

type Iter = StorageIter<'a, Self::Storage>

type IterMut = StorageIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = (<U1 as UnorderedData<'a>>::Components, <U2 as UnorderedData<'a>>::Components, <U3 as UnorderedData<'a>>::Components, <U4 as UnorderedData<'a>>::Components, <U5 as UnorderedData<'a>>::Components)

type ComponentsRef = (<U1 as UnorderedData<'a>>::ComponentsRef, <U2 as UnorderedData<'a>>::ComponentsRef, <U3 as UnorderedData<'a>>::ComponentsRef, <U4 as UnorderedData<'a>>::ComponentsRef, <U5 as UnorderedData<'a>>::ComponentsRef)

type Storage = StorageRef5<'a, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage, <U4 as UnorderedData<'a>>::Storage, <U5 as UnorderedData<'a>>::Storage>

impl<'a, U1, U2, U3, U4, U5, U6> UnorderedData<'a> for (U1, U2, U3, U4, U5, U6) where
    U1: UnorderedData<'a>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    U2: UnorderedData<'a>,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    U3: UnorderedData<'a>,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    U4: UnorderedData<'a>,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    U5: UnorderedData<'a>,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt,
    U6: UnorderedData<'a>,
    <U6 as UnorderedData<'a>>::Storage: FastIndexExt
[src]

type Iter = StorageIter<'a, Self::Storage>

type IterMut = StorageIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = (<U1 as UnorderedData<'a>>::Components, <U2 as UnorderedData<'a>>::Components, <U3 as UnorderedData<'a>>::Components, <U4 as UnorderedData<'a>>::Components, <U5 as UnorderedData<'a>>::Components, <U6 as UnorderedData<'a>>::Components)

type ComponentsRef = (<U1 as UnorderedData<'a>>::ComponentsRef, <U2 as UnorderedData<'a>>::ComponentsRef, <U3 as UnorderedData<'a>>::ComponentsRef, <U4 as UnorderedData<'a>>::ComponentsRef, <U5 as UnorderedData<'a>>::ComponentsRef, <U6 as UnorderedData<'a>>::ComponentsRef)

type Storage = StorageRef6<'a, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage, <U4 as UnorderedData<'a>>::Storage, <U5 as UnorderedData<'a>>::Storage, <U6 as UnorderedData<'a>>::Storage>

impl<'a, U1, U2, U3, U4, U5, U6, U7> UnorderedData<'a> for (U1, U2, U3, U4, U5, U6, U7) where
    U1: UnorderedData<'a>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    U2: UnorderedData<'a>,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    U3: UnorderedData<'a>,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    U4: UnorderedData<'a>,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    U5: UnorderedData<'a>,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt,
    U6: UnorderedData<'a>,
    <U6 as UnorderedData<'a>>::Storage: FastIndexExt,
    U7: UnorderedData<'a>,
    <U7 as UnorderedData<'a>>::Storage: FastIndexExt
[src]

type Iter = StorageIter<'a, Self::Storage>

type IterMut = StorageIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = (<U1 as UnorderedData<'a>>::Components, <U2 as UnorderedData<'a>>::Components, <U3 as UnorderedData<'a>>::Components, <U4 as UnorderedData<'a>>::Components, <U5 as UnorderedData<'a>>::Components, <U6 as UnorderedData<'a>>::Components, <U7 as UnorderedData<'a>>::Components)

type ComponentsRef = (<U1 as UnorderedData<'a>>::ComponentsRef, <U2 as UnorderedData<'a>>::ComponentsRef, <U3 as UnorderedData<'a>>::ComponentsRef, <U4 as UnorderedData<'a>>::ComponentsRef, <U5 as UnorderedData<'a>>::ComponentsRef, <U6 as UnorderedData<'a>>::ComponentsRef, <U7 as UnorderedData<'a>>::ComponentsRef)

type Storage = StorageRef7<'a, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage, <U4 as UnorderedData<'a>>::Storage, <U5 as UnorderedData<'a>>::Storage, <U6 as UnorderedData<'a>>::Storage, <U7 as UnorderedData<'a>>::Storage>

impl<'a, U1, U2, U3, U4, U5, U6, U7, U8> UnorderedData<'a> for (U1, U2, U3, U4, U5, U6, U7, U8) where
    U1: UnorderedData<'a>,
    <U1 as UnorderedData<'a>>::Storage: FastIndexExt,
    U2: UnorderedData<'a>,
    <U2 as UnorderedData<'a>>::Storage: FastIndexExt,
    U3: UnorderedData<'a>,
    <U3 as UnorderedData<'a>>::Storage: FastIndexExt,
    U4: UnorderedData<'a>,
    <U4 as UnorderedData<'a>>::Storage: FastIndexExt,
    U5: UnorderedData<'a>,
    <U5 as UnorderedData<'a>>::Storage: FastIndexExt,
    U6: UnorderedData<'a>,
    <U6 as UnorderedData<'a>>::Storage: FastIndexExt,
    U7: UnorderedData<'a>,
    <U7 as UnorderedData<'a>>::Storage: FastIndexExt,
    U8: UnorderedData<'a>,
    <U8 as UnorderedData<'a>>::Storage: FastIndexExt
[src]

type Iter = StorageIter<'a, Self::Storage>

type IterMut = StorageIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = (<U1 as UnorderedData<'a>>::Components, <U2 as UnorderedData<'a>>::Components, <U3 as UnorderedData<'a>>::Components, <U4 as UnorderedData<'a>>::Components, <U5 as UnorderedData<'a>>::Components, <U6 as UnorderedData<'a>>::Components, <U7 as UnorderedData<'a>>::Components, <U8 as UnorderedData<'a>>::Components)

type ComponentsRef = (<U1 as UnorderedData<'a>>::ComponentsRef, <U2 as UnorderedData<'a>>::ComponentsRef, <U3 as UnorderedData<'a>>::ComponentsRef, <U4 as UnorderedData<'a>>::ComponentsRef, <U5 as UnorderedData<'a>>::ComponentsRef, <U6 as UnorderedData<'a>>::ComponentsRef, <U7 as UnorderedData<'a>>::ComponentsRef, <U8 as UnorderedData<'a>>::ComponentsRef)

type Storage = StorageRef8<'a, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage, <U4 as UnorderedData<'a>>::Storage, <U5 as UnorderedData<'a>>::Storage, <U6 as UnorderedData<'a>>::Storage, <U7 as UnorderedData<'a>>::Storage, <U8 as UnorderedData<'a>>::Storage>

Loading content...

Implementors

impl<'a> UnorderedData<'a> for Entity[src]

type Iter = EntitiesIter<'a>

type IterMut = EntitiesIter<'a>

type Components = Entity

type ComponentsRef = Entity

type Storage = &'a [(Entity, MaskType)]

impl<'a, T1: 'static, T2: 'static> UnorderedData<'a> for HasOr<(T1, T2)>[src]

type Iter = IntoIter2<'a, T1, T2>

type IterMut = IntoIter2<'a, T1, T2>

type Components = (T1, T2)

type ComponentsRef = (<T1 as Bools>::B, <T2 as Bools>::B)

type Storage = StorageRef2<'a, T1, T2, LazyIndexGuard<'a>>

impl<'a, T1: 'static, T2: 'static, T3: 'static> UnorderedData<'a> for HasOr<(T1, T2, T3)>[src]

type Iter = IntoIter3<'a, T1, T2, T3>

type IterMut = IntoIter3<'a, T1, T2, T3>

type Components = (T1, T2, T3)

type ComponentsRef = (<T1 as Bools>::B, <T2 as Bools>::B, <T3 as Bools>::B)

type Storage = StorageRef3<'a, T1, T2, T3, LazyIndexGuard<'a>>

impl<'a, T1: 'static, T2: 'static, T3: 'static, T4: 'static> UnorderedData<'a> for HasOr<(T1, T2, T3, T4)>[src]

type Iter = IntoIter4<'a, T1, T2, T3, T4>

type IterMut = IntoIter4<'a, T1, T2, T3, T4>

type Components = (T1, T2, T3, T4)

type ComponentsRef = (<T1 as Bools>::B, <T2 as Bools>::B, <T3 as Bools>::B, <T4 as Bools>::B)

type Storage = StorageRef4<'a, T1, T2, T3, T4, LazyIndexGuard<'a>>

impl<'a, T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static> UnorderedData<'a> for HasOr<(T1, T2, T3, T4, T5)>[src]

type Iter = IntoIter5<'a, T1, T2, T3, T4, T5>

type IterMut = IntoIter5<'a, T1, T2, T3, T4, T5>

type Components = (T1, T2, T3, T4, T5)

type ComponentsRef = (<T1 as Bools>::B, <T2 as Bools>::B, <T3 as Bools>::B, <T4 as Bools>::B, <T5 as Bools>::B)

type Storage = StorageRef5<'a, T1, T2, T3, T4, T5, LazyIndexGuard<'a>>

impl<'a, T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static> UnorderedData<'a> for HasOr<(T1, T2, T3, T4, T5, T6)>[src]

type Iter = IntoIter6<'a, T1, T2, T3, T4, T5, T6>

type IterMut = IntoIter6<'a, T1, T2, T3, T4, T5, T6>

type Components = (T1, T2, T3, T4, T5, T6)

type ComponentsRef = (<T1 as Bools>::B, <T2 as Bools>::B, <T3 as Bools>::B, <T4 as Bools>::B, <T5 as Bools>::B, <T6 as Bools>::B)

type Storage = StorageRef6<'a, T1, T2, T3, T4, T5, T6, LazyIndexGuard<'a>>

impl<'a, T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static> UnorderedData<'a> for HasOr<(T1, T2, T3, T4, T5, T6, T7)>[src]

type Iter = IntoIter7<'a, T1, T2, T3, T4, T5, T6, T7>

type IterMut = IntoIter7<'a, T1, T2, T3, T4, T5, T6, T7>

type Components = (T1, T2, T3, T4, T5, T6, T7)

type ComponentsRef = (<T1 as Bools>::B, <T2 as Bools>::B, <T3 as Bools>::B, <T4 as Bools>::B, <T5 as Bools>::B, <T6 as Bools>::B, <T7 as Bools>::B)

type Storage = StorageRef7<'a, T1, T2, T3, T4, T5, T6, T7, LazyIndexGuard<'a>>

impl<'a, T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static, T8: 'static> UnorderedData<'a> for HasOr<(T1, T2, T3, T4, T5, T6, T7, T8)>[src]

type Iter = IntoIter8<'a, T1, T2, T3, T4, T5, T6, T7, T8>

type IterMut = IntoIter8<'a, T1, T2, T3, T4, T5, T6, T7, T8>

type Components = (T1, T2, T3, T4, T5, T6, T7, T8)

type ComponentsRef = (<T1 as Bools>::B, <T2 as Bools>::B, <T3 as Bools>::B, <T4 as Bools>::B, <T5 as Bools>::B, <T6 as Bools>::B, <T7 as Bools>::B, <T8 as Bools>::B)

type Storage = StorageRef8<'a, T1, T2, T3, T4, T5, T6, T7, T8, LazyIndexGuard<'a>>

impl<'a, T1: Component + Send, T2: Component + Send> UnorderedData<'a> for ReadOr<'a, (T1, T2)> where
    <T1 as Component>::Storage: Storage<'s, T1>,
    <T2 as Component>::Storage: Storage<'s, T2>, 
[src]

type Iter = Iter2<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter2<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, LazyIndexGuard<'a>>

type Components = (T1, T2)

type ComponentsRef = (Option<<<T1 as Component>::Storage as Storage<'a, T1>>::Get>, Option<<<T2 as Component>::Storage as Storage<'a, T2>>::Get>)

type Storage = StorageRef2<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, LazyIndexGuard<'a>>

impl<'a, T1: Component + Send, T2: Component + Send, T3: Component + Send> UnorderedData<'a> for ReadOr<'a, (T1, T2, T3)> where
    <T1 as Component>::Storage: Storage<'s, T1>,
    <T2 as Component>::Storage: Storage<'s, T2>,
    <T3 as Component>::Storage: Storage<'s, T3>, 
[src]

type Iter = Iter3<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter3<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, LazyIndexGuard<'a>>

type Components = (T1, T2, T3)

type ComponentsRef = (Option<<<T1 as Component>::Storage as Storage<'a, T1>>::Get>, Option<<<T2 as Component>::Storage as Storage<'a, T2>>::Get>, Option<<<T3 as Component>::Storage as Storage<'a, T3>>::Get>)

type Storage = StorageRef3<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, LazyIndexGuard<'a>>

impl<'a, T1: Component + Send, T2: Component + Send, T3: Component + Send, T4: Component + Send> UnorderedData<'a> for ReadOr<'a, (T1, T2, T3, T4)> where
    <T1 as Component>::Storage: Storage<'s, T1>,
    <T2 as Component>::Storage: Storage<'s, T2>,
    <T3 as Component>::Storage: Storage<'s, T3>,
    <T4 as Component>::Storage: Storage<'s, T4>, 
[src]

type Iter = Iter4<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter4<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, LazyIndexGuard<'a>>

type Components = (T1, T2, T3, T4)

type ComponentsRef = (Option<<<T1 as Component>::Storage as Storage<'a, T1>>::Get>, Option<<<T2 as Component>::Storage as Storage<'a, T2>>::Get>, Option<<<T3 as Component>::Storage as Storage<'a, T3>>::Get>, Option<<<T4 as Component>::Storage as Storage<'a, T4>>::Get>)

type Storage = StorageRef4<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, LazyIndexGuard<'a>>

impl<'a, T1: Component + Send, T2: Component + Send, T3: Component + Send, T4: Component + Send, T5: Component + Send> UnorderedData<'a> for ReadOr<'a, (T1, T2, T3, T4, T5)> where
    <T1 as Component>::Storage: Storage<'s, T1>,
    <T2 as Component>::Storage: Storage<'s, T2>,
    <T3 as Component>::Storage: Storage<'s, T3>,
    <T4 as Component>::Storage: Storage<'s, T4>,
    <T5 as Component>::Storage: Storage<'s, T5>, 
[src]

type Iter = Iter5<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter5<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, LazyIndexGuard<'a>>

type Components = (T1, T2, T3, T4, T5)

type ComponentsRef = (Option<<<T1 as Component>::Storage as Storage<'a, T1>>::Get>, Option<<<T2 as Component>::Storage as Storage<'a, T2>>::Get>, Option<<<T3 as Component>::Storage as Storage<'a, T3>>::Get>, Option<<<T4 as Component>::Storage as Storage<'a, T4>>::Get>, Option<<<T5 as Component>::Storage as Storage<'a, T5>>::Get>)

type Storage = StorageRef5<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, LazyIndexGuard<'a>>

impl<'a, T1: Component + Send, T2: Component + Send, T3: Component + Send, T4: Component + Send, T5: Component + Send, T6: Component + Send> UnorderedData<'a> for ReadOr<'a, (T1, T2, T3, T4, T5, T6)> where
    <T1 as Component>::Storage: Storage<'s, T1>,
    <T2 as Component>::Storage: Storage<'s, T2>,
    <T3 as Component>::Storage: Storage<'s, T3>,
    <T4 as Component>::Storage: Storage<'s, T4>,
    <T5 as Component>::Storage: Storage<'s, T5>,
    <T6 as Component>::Storage: Storage<'s, T6>, 
[src]

type Iter = Iter6<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter6<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, LazyIndexGuard<'a>>

type Components = (T1, T2, T3, T4, T5, T6)

type ComponentsRef = (Option<<<T1 as Component>::Storage as Storage<'a, T1>>::Get>, Option<<<T2 as Component>::Storage as Storage<'a, T2>>::Get>, Option<<<T3 as Component>::Storage as Storage<'a, T3>>::Get>, Option<<<T4 as Component>::Storage as Storage<'a, T4>>::Get>, Option<<<T5 as Component>::Storage as Storage<'a, T5>>::Get>, Option<<<T6 as Component>::Storage as Storage<'a, T6>>::Get>)

type Storage = StorageRef6<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, LazyIndexGuard<'a>>

impl<'a, T1: Component + Send, T2: Component + Send, T3: Component + Send, T4: Component + Send, T5: Component + Send, T6: Component + Send, T7: Component + Send> UnorderedData<'a> for ReadOr<'a, (T1, T2, T3, T4, T5, T6, T7)> where
    <T1 as Component>::Storage: Storage<'s, T1>,
    <T2 as Component>::Storage: Storage<'s, T2>,
    <T3 as Component>::Storage: Storage<'s, T3>,
    <T4 as Component>::Storage: Storage<'s, T4>,
    <T5 as Component>::Storage: Storage<'s, T5>,
    <T6 as Component>::Storage: Storage<'s, T6>,
    <T7 as Component>::Storage: Storage<'s, T7>, 
[src]

type Iter = Iter7<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, T7, ReadGuardRef<'a, <T7 as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter7<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, T7, ReadGuardRef<'a, <T7 as Component>::Storage>, LazyIndexGuard<'a>>

type Components = (T1, T2, T3, T4, T5, T6, T7)

type ComponentsRef = (Option<<<T1 as Component>::Storage as Storage<'a, T1>>::Get>, Option<<<T2 as Component>::Storage as Storage<'a, T2>>::Get>, Option<<<T3 as Component>::Storage as Storage<'a, T3>>::Get>, Option<<<T4 as Component>::Storage as Storage<'a, T4>>::Get>, Option<<<T5 as Component>::Storage as Storage<'a, T5>>::Get>, Option<<<T6 as Component>::Storage as Storage<'a, T6>>::Get>, Option<<<T7 as Component>::Storage as Storage<'a, T7>>::Get>)

type Storage = StorageRef7<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, T7, ReadGuardRef<'a, <T7 as Component>::Storage>, LazyIndexGuard<'a>>

impl<'a, T1: Component + Send, T2: Component + Send, T3: Component + Send, T4: Component + Send, T5: Component + Send, T6: Component + Send, T7: Component + Send, T8: Component + Send> UnorderedData<'a> for ReadOr<'a, (T1, T2, T3, T4, T5, T6, T7, T8)> where
    <T1 as Component>::Storage: Storage<'s, T1>,
    <T2 as Component>::Storage: Storage<'s, T2>,
    <T3 as Component>::Storage: Storage<'s, T3>,
    <T4 as Component>::Storage: Storage<'s, T4>,
    <T5 as Component>::Storage: Storage<'s, T5>,
    <T6 as Component>::Storage: Storage<'s, T6>,
    <T7 as Component>::Storage: Storage<'s, T7>,
    <T8 as Component>::Storage: Storage<'s, T8>, 
[src]

type Iter = Iter8<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, T7, ReadGuardRef<'a, <T7 as Component>::Storage>, T8, ReadGuardRef<'a, <T8 as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter8<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, T7, ReadGuardRef<'a, <T7 as Component>::Storage>, T8, ReadGuardRef<'a, <T8 as Component>::Storage>, LazyIndexGuard<'a>>

type Components = (T1, T2, T3, T4, T5, T6, T7, T8)

type ComponentsRef = (Option<<<T1 as Component>::Storage as Storage<'a, T1>>::Get>, Option<<<T2 as Component>::Storage as Storage<'a, T2>>::Get>, Option<<<T3 as Component>::Storage as Storage<'a, T3>>::Get>, Option<<<T4 as Component>::Storage as Storage<'a, T4>>::Get>, Option<<<T5 as Component>::Storage as Storage<'a, T5>>::Get>, Option<<<T6 as Component>::Storage as Storage<'a, T6>>::Get>, Option<<<T7 as Component>::Storage as Storage<'a, T7>>::Get>, Option<<<T8 as Component>::Storage as Storage<'a, T8>>::Get>)

type Storage = StorageRef8<'a, T1, ReadGuardRef<'a, <T1 as Component>::Storage>, T2, ReadGuardRef<'a, <T2 as Component>::Storage>, T3, ReadGuardRef<'a, <T3 as Component>::Storage>, T4, ReadGuardRef<'a, <T4 as Component>::Storage>, T5, ReadGuardRef<'a, <T5 as Component>::Storage>, T6, ReadGuardRef<'a, <T6 as Component>::Storage>, T7, ReadGuardRef<'a, <T7 as Component>::Storage>, T8, ReadGuardRef<'a, <T8 as Component>::Storage>, LazyIndexGuard<'a>>

impl<'a, T, R> UnorderedData<'a> for Ref<'a, T, R> where
    <T as Component>::Storage: Storage<'s, T>,
    R: UnorderedData<'a>,
    T: Deref<Target = Entity> + NToOneComponent<'a>,
    <<T as Component>::Storage as Storage<'a, T>>::Get: Borrow<T>, 
[src]

type Iter = RefIter<'a, Self::Storage>

type IterMut = RefIterMut<'a, Self::Storage, Self::ComponentsRef>

type Components = <R as UnorderedData<'a>>::Components

type ComponentsRef = <R as UnorderedData<'a>>::ComponentsRef

type Storage = RefStorage<'a, ReadGuardRef<'a, <T as Component>::Storage>, T, <R as UnorderedData<'a>>::Storage, <R as UnorderedData<'a>>::Components, RefData, LazyIndexGuard<'a>>

impl<'a, T, R> UnorderedData<'a> for RefN<'a, T, R> where
    T: OneToNComponent,
    R: UnorderedData<'a> + 'a,
    R::Storage: StorageRef<'a>,
    <T as Component>::Storage: OneToNStorage<'b, T>, 
[src]

type Iter = RefIntoIter<'a, T, R>

type IterMut = RefIntoIterMut<'a, T, R>

type Components = <R as UnorderedData<'a>>::Components

type ComponentsRef = RefCollection<'a, T, <R::Storage as StorageRef<'a>>::Component>

type Storage = RefNStorage<'a, T, ReadGuardRef<'a, <T as Component>::Storage>, R, <R as UnorderedData<'a>>::Storage, LazyIndexGuard<'a>>

impl<'a, T, R> UnorderedData<'a> for URef<'a, T, R> where
    <T as Component>::Storage: Storage<'s, T>,
    R: UnorderedData<'a>,
    T: OneToOneComponent<'a> + Component,
    <<T as Component>::Storage as Storage<'a, T>>::Get: Borrow<T>, 
[src]

type Iter = RefIter<'a, Self::Storage>

type IterMut = RefIter<'a, Self::Storage>

type Components = <R as UnorderedData<'a>>::Components

type ComponentsRef = <R as UnorderedData<'a>>::ComponentsRef

type Storage = RefStorage<'a, ReadGuardRef<'a, <T as Component>::Storage>, T, <R as UnorderedData<'a>>::Storage, <R as UnorderedData<'a>>::Components, URefData, LazyIndexGuard<'a>>

impl<'a, T: 'static> UnorderedData<'a> for Has<T>[src]

type Iter = Repeat<()>

type IterMut = Repeat<()>

type Components = T

type ComponentsRef = ()

type Storage = StorageHas<'a, T>

impl<'a, T: 'static> UnorderedData<'a> for HasOption<T>[src]

type Iter = IterHasOption<'a, T>

type IterMut = IterHasOption<'a, T>

type Components = T

type ComponentsRef = bool

type Storage = StorageHasOption<'a, T>

impl<'a, T: 'static> UnorderedData<'a> for Not<'a, T>[src]

type Iter = Repeat<()>

type IterMut = Repeat<()>

type Components = T

type ComponentsRef = ()

type Storage = StorageNot<'a, T>

impl<'a, T: Component> UnorderedData<'a> for Read<'a, T> where
    ReadGuardRef<'a, <T as Component>::Storage>: IntoIter,
    <T as Component>::Storage: Storage<'s, T>, 
[src]

type Iter = IterOptionWrapper<<ReadGuardRef<'a, <T as Component>::Storage> as IntoIter>::Iter>

type IterMut = IterOptionWrapper<<ReadGuardRef<'a, <T as Component>::Storage> as IntoIter>::Iter>

type Components = T

type ComponentsRef = <<T as Component>::Storage as Storage<'a, T>>::Get

type Storage = StorageRead<'a, T, ReadGuardRef<'a, <T as Component>::Storage>>

impl<'a, T: Component> UnorderedData<'a> for ReadOption<'a, T> where
    <T as Component>::Storage: Storage<'s, T>, 
[src]

type Iter = IterOption<'a, T, <T as Component>::Storage, ReadGuardRef<'a, <T as Component>::Storage>>

type IterMut = IterOption<'a, T, <T as Component>::Storage, ReadGuardRef<'a, <T as Component>::Storage>>

type Components = T

type ComponentsRef = Option<<<T as Component>::Storage as Storage<'a, T>>::Get>

type Storage = StorageOption<'a, T, <T as Component>::Storage, ReadGuardRef<'a, <T as Component>::Storage>>

impl<'a, T: Component> UnorderedData<'a> for Write<'a, T> where
    WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoIterMut,
    <T as Component>::Storage: Storage<'s, T>, 
[src]

type Iter = IterOptionWrapper<<WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard> as IntoIterMut>::IterMut>

type IterMut = IterOptionWrapper<<WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard> as IntoIterMut>::IterMut>

type Components = T

type ComponentsRef = <<T as Component>::Storage as Storage<'a, T>>::GetMut

type Storage = StorageWrite<'a, <T as Component>::Storage, Self::Components, WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>>

impl<'a, T: Component> UnorderedData<'a> for WriteOption<'a, T> where
    <T as Component>::Storage: Storage<'s, T>, 
[src]

type Iter = IterOptionMut<'a, T, WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>>

type IterMut = IterOptionMut<'a, T, WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>>

type Components = T

type ComponentsRef = Option<<<T as Component>::Storage as Storage<'a, T>>::GetMut>

type Storage = StorageOptionMut<'a, T, WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>>

impl<'a, T: Component, Not: 'static> UnorderedData<'a> for ReadNot<'a, T, Not> where
    <T as Component>::Storage: Storage<'s, T>, 
[src]

type Iter = Iter<'a, T, Not, ReadGuardRef<'a, <T as Component>::Storage>, LazyIndexGuard<'a>>

type IterMut = Iter<'a, T, Not, ReadGuardRef<'a, <T as Component>::Storage>, LazyIndexGuard<'a>>

type Components = T

type ComponentsRef = <<T as Component>::Storage as Storage<'a, T>>::Get

type Storage = StorageReadNot<'a, T, ReadGuardRef<'a, <T as Component>::Storage>, Not, LazyIndexGuard<'a>>

Loading content...