Trait rinecs::operators::ChangesOrderedData [−][src]
pub trait ChangesOrderedData<'a>: OrderedData<'a> { type SubStorage: StorageRef<'a>; fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, f: F)
where
F: FnMut(Self::ComponentsRef) -> bool; unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>; }
Associated Types
type SubStorage: StorageRef<'a>
[src]
Required methods
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, f: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
Implementations on Foreign Types
impl<'a, UO, U1> ChangesOrderedData<'a> for (UO, U1) where
UO: 'a + ChangesOrderedData<'a>,
<UO as OrderedData<'a>>::Storage: FastIndexExt,
<U1 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U1::ComponentsRef>,
U1: 'a + UnorderedData<'a>,
<UO as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = UO::ComponentsRef>,
[src]
impl<'a, UO, U1> ChangesOrderedData<'a> for (UO, U1) where
UO: 'a + ChangesOrderedData<'a>,
<UO as OrderedData<'a>>::Storage: FastIndexExt,
<U1 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U1::ComponentsRef>,
U1: 'a + UnorderedData<'a>,
<UO as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = UO::ComponentsRef>,
[src]type SubStorage = StorageRef2<'a, <UO as ChangesOrderedData<'a>>::SubStorage, <U1 as UnorderedData<'a>>::Storage>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, has_changed: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
impl<'a, UO, U1, U2> ChangesOrderedData<'a> for (UO, U1, U2) where
UO: 'a + ChangesOrderedData<'a>,
<UO as OrderedData<'a>>::Storage: FastIndexExt,
<U1 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U1::ComponentsRef>,
U1: 'a + UnorderedData<'a>,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<UO as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = UO::ComponentsRef>,
[src]
impl<'a, UO, U1, U2> ChangesOrderedData<'a> for (UO, U1, U2) where
UO: 'a + ChangesOrderedData<'a>,
<UO as OrderedData<'a>>::Storage: FastIndexExt,
<U1 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U1::ComponentsRef>,
U1: 'a + UnorderedData<'a>,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<UO as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = UO::ComponentsRef>,
[src]type SubStorage = StorageRef3<'a, <UO as ChangesOrderedData<'a>>::SubStorage, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, has_changed: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
impl<'a, UO, U1, U2, U3> ChangesOrderedData<'a> for (UO, U1, U2, U3) where
UO: 'a + ChangesOrderedData<'a>,
<UO as OrderedData<'a>>::Storage: FastIndexExt,
<U1 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U1::ComponentsRef>,
U1: 'a + UnorderedData<'a>,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<UO as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = UO::ComponentsRef>,
[src]
impl<'a, UO, U1, U2, U3> ChangesOrderedData<'a> for (UO, U1, U2, U3) where
UO: 'a + ChangesOrderedData<'a>,
<UO as OrderedData<'a>>::Storage: FastIndexExt,
<U1 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U1::ComponentsRef>,
U1: 'a + UnorderedData<'a>,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<UO as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = UO::ComponentsRef>,
[src]type SubStorage = StorageRef4<'a, <UO as ChangesOrderedData<'a>>::SubStorage, <U1 as UnorderedData<'a>>::Storage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, has_changed: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
impl<'a, U1, U2, U3, U4, U5> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]
impl<'a, U1, U2, U3, U4, U5> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]type SubStorage = StorageRef5<'a, <U1 as ChangesOrderedData<'a>>::SubStorage, <U2 as UnorderedData<'a>>::Storage, <U3 as UnorderedData<'a>>::Storage, <U4 as UnorderedData<'a>>::Storage, <U5 as UnorderedData<'a>>::Storage>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, has_changed: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
impl<'a, U1, U2, U3, U4, U5, U6> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5, U6) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U6 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U6::ComponentsRef>,
U6: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]
impl<'a, U1, U2, U3, U4, U5, U6> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5, U6) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U6 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U6::ComponentsRef>,
U6: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]type SubStorage = StorageRef6<'a, <U1 as ChangesOrderedData<'a>>::SubStorage, <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>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, has_changed: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
impl<'a, U1, U2, U3, U4, U5, U6, U7> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5, U6, U7) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U6 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U6::ComponentsRef>,
U6: 'a + UnorderedData<'a>,
<U7 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U7::ComponentsRef>,
U7: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]
impl<'a, U1, U2, U3, U4, U5, U6, U7> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5, U6, U7) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U6 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U6::ComponentsRef>,
U6: 'a + UnorderedData<'a>,
<U7 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U7::ComponentsRef>,
U7: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]type SubStorage = StorageRef7<'a, <U1 as ChangesOrderedData<'a>>::SubStorage, <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>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, has_changed: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
impl<'a, U1, U2, U3, U4, U5, U6, U7, U8> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5, U6, U7, U8) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U6 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U6::ComponentsRef>,
U6: 'a + UnorderedData<'a>,
<U7 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U7::ComponentsRef>,
U7: 'a + UnorderedData<'a>,
<U8 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U8::ComponentsRef>,
U8: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]
impl<'a, U1, U2, U3, U4, U5, U6, U7, U8> ChangesOrderedData<'a> for (U1, U2, U3, U4, U5, U6, U7, U8) where
U1: 'a + ChangesOrderedData<'a>,
<U1 as OrderedData<'a>>::Storage: FastIndexExt,
<U2 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U2::ComponentsRef>,
U2: 'a + UnorderedData<'a>,
<U3 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U3::ComponentsRef>,
U3: 'a + UnorderedData<'a>,
<U4 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U4::ComponentsRef>,
U4: 'a + UnorderedData<'a>,
<U5 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U5::ComponentsRef>,
U5: 'a + UnorderedData<'a>,
<U6 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U6::ComponentsRef>,
U6: 'a + UnorderedData<'a>,
<U7 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U7::ComponentsRef>,
U7: 'a + UnorderedData<'a>,
<U8 as UnorderedData<'a>>::Storage: StorageRef<'a, Component = U8::ComponentsRef>,
U8: 'a + UnorderedData<'a>,
<U1 as ChangesOrderedData<'a>>::SubStorage: StorageRef<'a, Component = U1::ComponentsRef>,
[src]type SubStorage = StorageRef8<'a, <U1 as ChangesOrderedData<'a>>::SubStorage, <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>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, has_changed: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
Implementors
impl<'a, T: ComponentSend> ChangesOrderedData<'a> for WriteAndParent<'a, T> where
<T as Component>::Storage: HierarchicalStorage<'b, T>,
WriteGuardRef<'b, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoOrderedIterMut,
WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoOrderedChangesIter<'a, T, OrderedChangesItem = NodeRefMut<'a, T>>,
[src]
impl<'a, T: ComponentSend> ChangesOrderedData<'a> for WriteAndParent<'a, T> where
<T as Component>::Storage: HierarchicalStorage<'b, T>,
WriteGuardRef<'b, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoOrderedIterMut,
WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoOrderedChangesIter<'a, T, OrderedChangesItem = NodeRefMut<'a, T>>,
[src]type SubStorage = ParentStorageWrite<'a, <WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard> as IntoOrderedChangesIter<'a, T>>::RawSubStorage, <WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard> as IntoOrderedChangesIter<'a, T>>::SubStorage, Self::Components>
fn extend_changes<F, E: EntitiesStorage>(entities: &'a E, f: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes<E: EntitiesStorage>(
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a E
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>