Trait rinecs::operators::SafeIter[][src]

pub unsafe trait SafeIter<'a> { }

Trait to implement by storages that can safely implment iterator. For example Ref and RefN can’t cause it could give simultaneous mutable access to the same entry twice

Implementations on Foreign Types

impl<'a, U1, U2> SafeIter<'a> for (U1, U2) where
    U1: SafeIter<'a>,
    U2: SafeIter<'a>, 
[src]

impl<'a, U1, U2, U3> SafeIter<'a> for (U1, U2, U3) where
    U1: SafeIter<'a>,
    U2: SafeIter<'a>,
    U3: SafeIter<'a>, 
[src]

impl<'a, U1, U2, U3, U4> SafeIter<'a> for (U1, U2, U3, U4) where
    U1: SafeIter<'a>,
    U2: SafeIter<'a>,
    U3: SafeIter<'a>,
    U4: SafeIter<'a>, 
[src]

impl<'a, U1, U2, U3, U4, U5> SafeIter<'a> for (U1, U2, U3, U4, U5) where
    U1: SafeIter<'a>,
    U2: SafeIter<'a>,
    U3: SafeIter<'a>,
    U4: SafeIter<'a>,
    U5: SafeIter<'a>, 
[src]

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

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

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

Loading content...

Implementors

impl SafeIter<'_> for Entity[src]

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

impl<'a, T1: Component, T2: Component, T3: Component> SafeIter<'a> for ReadOr<'a, (T1, T2, T3)> where
    <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: Component, T2: Component, T3: Component, T4: Component> SafeIter<'a> for ReadOr<'a, (T1, T2, T3, T4)> where
    <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: Component, T2: Component, T3: Component, T4: Component, T5: Component> SafeIter<'a> for ReadOr<'a, (T1, T2, T3, T4, T5)> where
    <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: Component, T2: Component, T3: Component, T4: Component, T5: Component, T6: Component> SafeIter<'a> for ReadOr<'a, (T1, T2, T3, T4, T5, T6)> where
    <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: Component, T2: Component, T3: Component, T4: Component, T5: Component, T6: Component, T7: Component> SafeIter<'a> for ReadOr<'a, (T1, T2, T3, T4, T5, T6, T7)> where
    <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: Component, T2: Component, T3: Component, T4: Component, T5: Component, T6: Component, T7: Component, T8: Component> SafeIter<'a> for ReadOr<'a, (T1, T2, T3, T4, T5, T6, T7, T8)> where
    <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, R> SafeIter<'a> for Ref<'a, T, R> where
    T: NToOneComponent<'a>,
    R: ReadOnlyOp<'a>, 
[src]

impl<'a, T, R> SafeIter<'a> for RefN<'a, T, R> where
    R: UnorderedData<'a> + ReadOnlyOp<'a>,
    R::Storage: IntoSendStorage<'a>, 
[src]

impl<'a, T, R> SafeIter<'a> for URef<'a, T, R> where
    T: OneToOneComponent<'a>,
    R: SafeIter<'a>, 
[src]

impl<T1, T2> SafeIter<'_> for HasOr<(T1, T2)>[src]

impl<T1, T2, T3> SafeIter<'_> for HasOr<(T1, T2, T3)>[src]

impl<T1, T2, T3, T4> SafeIter<'_> for HasOr<(T1, T2, T3, T4)>[src]

impl<T1, T2, T3, T4, T5> SafeIter<'_> for HasOr<(T1, T2, T3, T4, T5)>[src]

impl<T1, T2, T3, T4, T5, T6> SafeIter<'_> for HasOr<(T1, T2, T3, T4, T5, T6)>[src]

impl<T1, T2, T3, T4, T5, T6, T7> SafeIter<'_> for HasOr<(T1, T2, T3, T4, T5, T6, T7)>[src]

impl<T1, T2, T3, T4, T5, T6, T7, T8> SafeIter<'_> for HasOr<(T1, T2, T3, T4, T5, T6, T7, T8)>[src]

impl<T> SafeIter<'_> for Has<T>[src]

impl<T> SafeIter<'_> for HasOption<T>[src]

impl<T> SafeIter<'_> for Not<'_, T>[src]

impl<T> SafeIter<'_> for ReadAndParent<'_, T>[src]

impl<T> SafeIter<'_> for WriteOption<'_, T>[src]

impl<T: Component> SafeIter<'_> for Read<'_, T> where
    <T as Component>::Storage: Storage<'s, T>, 
[src]

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

impl<T: Component> SafeIter<'_> for Write<'_, T> where
    <T as Component>::Storage: Storage<'s, T>, 
[src]

impl<T: Component> SafeIter<'_> for WriteAndParent<'_, T>[src]

impl<T: Component, Not> SafeIter<'_> for ReadNot<'_, T, Not> where
    <T as Component>::Storage: Storage<'s, T>, 
[src]

Loading content...