Struct rinecs::operators::Write [−][src]
pub struct Write<'a, T: Component> where
<T as Component>::Storage: Storage<'s, T>, { /* fields omitted */ }
Operator that matches all entity’s that contain this component for read and write access
for pos in entities.iter_for_mut::<Write<Position>>(){ //... }
Will iterate over all position components
Trait Implementations
impl<'a, T: ComponentSend> ChangesData<'a> for Write<'a, T> where
<T as Component>::Storage: Storage<'b, T>,
WriteGuardRef<'b, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoIterMut,
WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoChangesIter<'a, T, ChangesItem = <<T as Component>::Storage as Storage<'a, T>>::GetMut>,
[src]
impl<'a, T: ComponentSend> ChangesData<'a> for Write<'a, T> where
<T as Component>::Storage: Storage<'b, T>,
WriteGuardRef<'b, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoIterMut,
WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard>: IntoChangesIter<'a, T, ChangesItem = <<T as Component>::Storage as Storage<'a, T>>::GetMut>,
[src]type SubStorage = StorageWrite<'a, <WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard> as IntoChangesIter<'a, T>>::RawSubStorage, Self::Components, <WriteGuardRef<'a, <T as Component>::Storage, <T as Component>::MutStorageCacheGuard> as IntoChangesIter<'a, T>>::SubStorage>
fn extend_changes<F>(entities: &'a Entities<'_>, f: F) where
F: FnMut(Self::ComponentsRef) -> bool,
[src]
F: FnMut(Self::ComponentsRef) -> bool,
unsafe fn storage_and_changes(
entities: &'a Entities<'_>
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
[src]
entities: &'a Entities<'_>
) -> Option<(Self::SubStorage, &'a mut HashSet<usize>)>
impl<'a, T: Component> DataAccesses for Write<'a, T> where
<T as Component>::Storage: Storage<'s, T>,
[src]
impl<'a, T: Component> DataAccesses for Write<'a, T> where
<T as Component>::Storage: Storage<'s, T>,
[src]impl<'a, T: Component> Deref for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Borrow<<<T as Component>::Storage as Storage<'a, T>>::DerefTarget>,
<T as Component>::Storage: Storage<'s, T>,
[src]
impl<'a, T: Component> Deref for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Borrow<<<T as Component>::Storage as Storage<'a, T>>::DerefTarget>,
<T as Component>::Storage: Storage<'s, T>,
[src]impl<'a, T: Component> DerefMut for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: BorrowMut<<<T as Component>::Storage as Storage<'a, T>>::DerefTarget>,
<T as Component>::Storage: Storage<'s, T>,
[src]
impl<'a, T: Component> DerefMut for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: BorrowMut<<<T as Component>::Storage as Storage<'a, T>>::DerefTarget>,
<T as Component>::Storage: Storage<'s, T>,
[src]impl<'a, T: Component> FromComponent<'a, <<T as Component>::Storage as Storage<'a, T>>::GetMut> for Write<'a, T> where
<T as Component>::Storage: Storage<'s, T>,
[src]
impl<'a, T: Component> FromComponent<'a, <<T as Component>::Storage as Storage<'a, T>>::GetMut> for Write<'a, T> where
<T as Component>::Storage: Storage<'s, T>,
[src]impl<'r, 'a, C> StorageEntitiesExt<'a, Write<'a, C>> for &'r mut CreationSto<'a, C> where
C: Component,
C::Storage: Storage<'s, C>,
[src]
impl<'r, 'a, C> StorageEntitiesExt<'a, Write<'a, C>> for &'r mut CreationSto<'a, C> where
C: Component,
C::Storage: Storage<'s, C>,
[src]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]
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>>
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::Iter
[src]
fn storage<E: EntitiesStorage>(entities: &'a E) -> Option<Self::Storage>
[src]
impl<T: Component> SafeIter<'_> for Write<'_, T> where
<T as Component>::Storage: Storage<'s, T>,
[src]
<T as Component>::Storage: Storage<'s, T>,
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: RefUnwindSafe,
<<T as Component>::Storage as Storage<'a, T>>::GetMut: RefUnwindSafe,
impl<'a, T> Send for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Send,
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Send,
impl<'a, T> Sync for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Sync,
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Sync,
impl<'a, T> Unpin for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Unpin,
<<T as Component>::Storage as Storage<'a, T>>::GetMut: Unpin,
impl<'a, T> UnwindSafe for Write<'a, T> where
<<T as Component>::Storage as Storage<'a, T>>::GetMut: UnwindSafe,
<<T as Component>::Storage as Storage<'a, T>>::GetMut: UnwindSafe,