pub struct WriteTraits<'a, Trait: ?Sized + TraitQuery> { /* private fields */ }
Expand description
Write-access to all components implementing a trait for a given entity.
This supports change detection and detection for added objects via
Implementations§
Source§impl<Trait: ?Sized + TraitQuery> WriteTraits<'_, Trait>
impl<Trait: ?Sized + TraitQuery> WriteTraits<'_, Trait>
Sourcepub fn iter(&self) -> CombinedReadTraitsIter<'_, Trait>
pub fn iter(&self) -> CombinedReadTraitsIter<'_, Trait>
Returns an iterator over the components implementing Trait
for the current entity.
Sourcepub fn iter_mut(&mut self) -> CombinedWriteTraitsIter<'_, Trait>
pub fn iter_mut(&mut self) -> CombinedWriteTraitsIter<'_, Trait>
Returns a mutable iterator over the components implementing Trait
for the current entity.
Sourcepub fn iter_added(&self) -> impl Iterator<Item = Ref<'_, Trait>>
pub fn iter_added(&self) -> impl Iterator<Item = Ref<'_, Trait>>
Returns an iterator over the components implementing Trait
for the current entity
that were added since the last time the system was run.
Sourcepub fn iter_changed(&self) -> impl Iterator<Item = Ref<'_, Trait>>
pub fn iter_changed(&self) -> impl Iterator<Item = Ref<'_, Trait>>
Returns an iterator over the components implementing Trait
for the current entity
whose values were changed since the last time the system was run.
Sourcepub fn iter_added_mut(&mut self) -> impl Iterator<Item = Mut<'_, Trait>>
pub fn iter_added_mut(&mut self) -> impl Iterator<Item = Mut<'_, Trait>>
Returns a mutable iterator over the components implementing Trait
for the current entity
that were added since the last time the system was run.
Sourcepub fn iter_changed_mut(&mut self) -> impl Iterator<Item = Mut<'_, Trait>>
pub fn iter_changed_mut(&mut self) -> impl Iterator<Item = Mut<'_, Trait>>
Returns a mutable iterator over the components implementing Trait
for the current entity
whose values were changed since the last time the system was run.
Trait Implementations§
Source§impl<'local, Trait: ?Sized + TraitQuery> IntoIterator for &'local WriteTraits<'_, Trait>
impl<'local, Trait: ?Sized + TraitQuery> IntoIterator for &'local WriteTraits<'_, Trait>
Source§impl<'local, Trait: ?Sized + TraitQuery> IntoIterator for &'local mut WriteTraits<'_, Trait>
impl<'local, Trait: ?Sized + TraitQuery> IntoIterator for &'local mut WriteTraits<'_, Trait>
Source§impl<'w, Trait: ?Sized + TraitQuery> IntoIterator for WriteTraits<'w, Trait>
impl<'w, Trait: ?Sized + TraitQuery> IntoIterator for WriteTraits<'w, Trait>
Auto Trait Implementations§
impl<'a, Trait> Freeze for WriteTraits<'a, Trait>where
Trait: ?Sized,
impl<'a, Trait> !RefUnwindSafe for WriteTraits<'a, Trait>
impl<'a, Trait> !Send for WriteTraits<'a, Trait>
impl<'a, Trait> !Sync for WriteTraits<'a, Trait>
impl<'a, Trait> Unpin for WriteTraits<'a, Trait>where
Trait: ?Sized,
impl<'a, Trait> !UnwindSafe for WriteTraits<'a, Trait>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.