Struct rin::ecs::operators::ReadOr[][src]

pub struct ReadOr<'a, T> where
    T: TupleAny<'a>, 
{ /* fields omitted */ }

Matches entities that have any of the passed components with read only access to those components

It returns an element per component being None those that don’t exist for that entity

for (pos, vel) in entities.iter_for::<ReadOr<(Position, Velocity)>>(){
    if let Some(pos) = pos {
    }

    if let Some(vel) = vel {
    }
}

Matches all entities that have a Position a Velocity or both. pos and vel will be None for entities that don’t have Position or Velocity respectively

Trait Implementations

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

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

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

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

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

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

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

impl<'a, T> Deref for ReadOr<'a, T> where
    T: TupleAny<'a>, 
[src]

type Target = <T as TupleAny<'a>>::AnyTarget

The resulting type after dereferencing.

impl<'a, T> FromComponent<'a, <T as TupleAny<'a>>::AnyTarget> for ReadOr<'a, T> where
    T: TupleAny<'a>, 
[src]

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

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

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

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

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

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

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

Auto Trait Implementations

impl<'a, T> RefUnwindSafe for ReadOr<'a, T> where
    <T as TupleAny<'a>>::AnyTarget: RefUnwindSafe

impl<'a, T> Send for ReadOr<'a, T> where
    <T as TupleAny<'a>>::AnyTarget: Send

impl<'a, T> Sync for ReadOr<'a, T> where
    <T as TupleAny<'a>>::AnyTarget: Sync

impl<'a, T> Unpin for ReadOr<'a, T> where
    <T as TupleAny<'a>>::AnyTarget: Unpin

impl<'a, T> UnwindSafe for ReadOr<'a, T> where
    <T as TupleAny<'a>>::AnyTarget: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<U, T> AsUniform<dyn Deref<Target = [[f32; 3]; 3]> + 'static> for U where
    T: AsUniform<[[f32; 3]; 3]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [[f32; 4]; 4]> + 'static> for U where
    T: AsUniform<[[f32; 4]; 4]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [f32; 2]> + 'static> for U where
    T: AsUniform<[f32; 2]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [f32; 3]> + 'static> for U where
    T: AsUniform<[f32; 3]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [f32; 4]> + 'static> for U where
    T: AsUniform<dyn AsRef<[f32; 4]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [i32; 2]> + 'static> for U where
    T: AsUniform<[i32; 2]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [i32; 3]> + 'static> for U where
    T: AsUniform<[i32; 3]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [i32; 4]> + 'static> for U where
    T: AsUniform<dyn AsRef<[i32; 4]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [u32; 2]> + 'static> for U where
    T: AsUniform<[u32; 2]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [u32; 3]> + 'static> for U where
    T: AsUniform<[u32; 3]>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = [u32; 4]> + 'static> for U where
    T: AsUniform<dyn AsRef<[u32; 4]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[[f32; 3]; 3]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[[f32; 3]; 3]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[[f32; 4]; 4]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[[f32; 4]; 4]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[f32; 2]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[f32; 2]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[f32; 3]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[f32; 3]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[i32; 2]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[i32; 2]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[i32; 3]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[i32; 3]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[u32; 2]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[u32; 2]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<[u32; 3]> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<[u32; 3]> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<f32> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<f32> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<i32> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<i32> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = dyn AsRef<u32> + 'static> + 'static> for U where
    T: AsUniform<dyn AsRef<u32> + 'static>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = i32> + 'static> for U where
    T: AsUniform<i32>,
    U: Deref<Target = T>, 
[src]

impl<U, T> AsUniform<dyn Deref<Target = u32> + 'static> for U where
    T: AsUniform<u32>,
    U: Deref<Target = T>, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]