Trait rin::ecs::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, 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]
U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
U4: SafeIter<'a>,
U5: SafeIter<'a>,
U6: SafeIter<'a>,
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]
U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
U4: SafeIter<'a>,
U5: SafeIter<'a>,
impl<'a, U1, U2, U3, U4, U5, U6, U7, U8> SafeIter<'a> for (U1, U2, U3, U4, U5, U6, U7, U8) where
U8: SafeIter<'a>,
U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
U4: SafeIter<'a>,
U5: SafeIter<'a>,
U6: SafeIter<'a>,
U7: SafeIter<'a>,
[src]
U8: SafeIter<'a>,
U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
U4: SafeIter<'a>,
U5: SafeIter<'a>,
U6: SafeIter<'a>,
U7: SafeIter<'a>,
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]
U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
U4: SafeIter<'a>,
impl<'a, U1, U2> SafeIter<'a> for (U1, U2) where
U1: SafeIter<'a>,
U2: SafeIter<'a>,
[src]
U1: SafeIter<'a>,
U2: SafeIter<'a>,
impl<'a, U1, U2, U3> SafeIter<'a> for (U1, U2, U3) where
U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
[src]
U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
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]
Loading content...U1: SafeIter<'a>,
U2: SafeIter<'a>,
U3: SafeIter<'a>,
U4: SafeIter<'a>,
U5: SafeIter<'a>,
U6: SafeIter<'a>,
U7: SafeIter<'a>,
Implementors
impl<'_> SafeIter<'_> for Entity
[src]
impl<'_, '_, T> SafeIter<'_> for Not<'_, T>
[src]
impl<'_, '_, T> SafeIter<'_> for Read<'_, T> where
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
[src]
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
impl<'_, '_, T> SafeIter<'_> for ReadAndParent<'_, T>
[src]
impl<'_, '_, T> SafeIter<'_> for ReadHierarchical<'_, T> where
T: Component,
[src]
T: Component,
impl<'_, '_, T> SafeIter<'_> for ReadOption<'_, T> where
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
[src]
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
impl<'_, '_, T> SafeIter<'_> for Write<'_, T> where
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
[src]
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
impl<'_, '_, T> SafeIter<'_> for WriteAndParent<'_, T> where
T: Component,
[src]
T: Component,
impl<'_, '_, T> SafeIter<'_> for WriteHierarchical<'_, T> where
T: Component,
[src]
T: Component,
impl<'_, '_, T> SafeIter<'_> for WriteOption<'_, T>
[src]
impl<'_, '_, T, Not> SafeIter<'_> for ReadNot<'_, T, Not> where
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
[src]
T: Component,
<T as Component>::Storage: for<'s> Storage<'s, T>,
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<'a> SafeIter<'a> for EntityWithPath<'a> where
Write<'a, Node>: SafeIter<'a>,
Write<'a, Path>: SafeIter<'a>,
ReadOption<'a, Speed>: SafeIter<'a>,
ReadOption<'a, Delta>: SafeIter<'a>,
Write<'a, CurrentPosition>: SafeIter<'a>,
WriteOption<'a, SkinningUpToDate>: SafeIter<'a>,
Not<'a, ReynoldsPathInfo>: SafeIter<'a>,
[src]
Write<'a, Node>: SafeIter<'a>,
Write<'a, Path>: SafeIter<'a>,
ReadOption<'a, Speed>: SafeIter<'a>,
ReadOption<'a, Delta>: SafeIter<'a>,
Write<'a, CurrentPosition>: SafeIter<'a>,
WriteOption<'a, SkinningUpToDate>: SafeIter<'a>,
Not<'a, ReynoldsPathInfo>: SafeIter<'a>,
impl<'a> SafeIter<'a> for EntityWithPathMut<'a> where
Write<'a, Node>: SafeIter<'a>,
Write<'a, Path>: SafeIter<'a>,
WriteOption<'a, Speed>: SafeIter<'a>,
WriteOption<'a, Delta>: SafeIter<'a>,
Write<'a, CurrentPosition>: SafeIter<'a>,
WriteOption<'a, SkinningUpToDate>: SafeIter<'a>,
Not<'a, ReynoldsPathInfo>: SafeIter<'a>,
[src]
Write<'a, Node>: SafeIter<'a>,
Write<'a, Path>: SafeIter<'a>,
WriteOption<'a, Speed>: SafeIter<'a>,
WriteOption<'a, Delta>: SafeIter<'a>,
Write<'a, CurrentPosition>: SafeIter<'a>,
WriteOption<'a, SkinningUpToDate>: SafeIter<'a>,
Not<'a, ReynoldsPathInfo>: SafeIter<'a>,
impl<'a> SafeIter<'a> for EntityWithReynoldsPath<'a> where
Write<'a, Node>: SafeIter<'a>,
Write<'a, Path>: SafeIter<'a>,
ReadOption<'a, Speed>: SafeIter<'a>,
ReadOption<'a, Delta>: SafeIter<'a>,
Write<'a, Velocity>: SafeIter<'a>,
Write<'a, CurrentPosition>: SafeIter<'a>,
Read<'a, PathLookUpDistance>: SafeIter<'a>,
Read<'a, ReynoldsPathInfo>: SafeIter<'a>,
[src]
Write<'a, Node>: SafeIter<'a>,
Write<'a, Path>: SafeIter<'a>,
ReadOption<'a, Speed>: SafeIter<'a>,
ReadOption<'a, Delta>: SafeIter<'a>,
Write<'a, Velocity>: SafeIter<'a>,
Write<'a, CurrentPosition>: SafeIter<'a>,
Read<'a, PathLookUpDistance>: SafeIter<'a>,
Read<'a, ReynoldsPathInfo>: SafeIter<'a>,
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]
T2: Component,
T1: Component,
<T1 as Component>::Storage: Storage<'a, T1>,
<T2 as Component>::Storage: Storage<'a, T2>,
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]
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>,
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]
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>,
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]
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>,
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]
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>,
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]
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>,
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]
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>,
impl<'a, T, R> SafeIter<'a> for Ref<'a, T, R> where
T: NToOneComponent<'a>,
R: ReadOnlyOp<'a>,
[src]
T: NToOneComponent<'a>,
R: ReadOnlyOp<'a>,
impl<'a, T, R> SafeIter<'a> for RefN<'a, T, R> where
R: UnorderedData<'a> + ReadOnlyOp<'a>,
<R as UnorderedData<'a>>::Storage: IntoSendStorage<'a>,
[src]
R: UnorderedData<'a> + ReadOnlyOp<'a>,
<R as UnorderedData<'a>>::Storage: IntoSendStorage<'a>,
impl<'a, T, R> SafeIter<'a> for URef<'a, T, R> where
T: OneToOneComponent<'a>,
R: SafeIter<'a>,
[src]
T: OneToOneComponent<'a>,
R: SafeIter<'a>,