pub struct Write<'a, T, F = DefaultProvider>where
T: 'a,{ /* private fields */ }
Expand description
Allows to fetch a resource in a system mutably.
If the resource isn’t strictly required, you should use Option<Write<T>>
.
§Type parameters
T
: The type of the resourceF
: The setup handler (default:DefaultProvider
)
Trait Implementations§
Source§impl<'a, 'b, T> Join for &'a mut Write<'b, T>
impl<'a, 'b, T> Join for &'a mut Write<'b, T>
Source§unsafe fn open(self) -> (Self::Mask, Self::Value)
unsafe fn open(self) -> (Self::Mask, Self::Value)
Open this join by returning the mask and the storages. Read more
Source§unsafe fn get(v: &mut Self::Value, i: Index) -> Self::Type
unsafe fn get(v: &mut Self::Value, i: Index) -> Self::Type
Get a joined component value by a given index. Read more
Source§fn is_unconstrained() -> bool
fn is_unconstrained() -> bool
If this
Join
typically returns all indices in the mask, then iterating
over only it or combined with other joins that are also dangerous will
cause the JoinIter
to go through all indices which is usually not what
is wanted and will kill performance.Source§impl<'a, 'b, T> LendJoin for &'a mut Write<'b, T>
impl<'a, 'b, T> LendJoin for &'a mut Write<'b, T>
Source§unsafe fn open(self) -> (Self::Mask, Self::Value)
unsafe fn open(self) -> (Self::Mask, Self::Value)
Open this join by returning the mask and the storages. Read more
Source§unsafe fn get<'next>(
v: &'next mut Self::Value,
i: Index,
) -> <Self as LendJoinඞType<'next>>::T
unsafe fn get<'next>( v: &'next mut Self::Value, i: Index, ) -> <Self as LendJoinඞType<'next>>::T
Get a joined component value by a given index. Read more
Source§fn is_unconstrained() -> bool
fn is_unconstrained() -> bool
If this
LendJoin
typically returns all indices in the mask, then
iterating over only it or combined with other joins that are also
dangerous will cause the JoinLendIter
to go through all indices which
is usually not what is wanted and will kill performance.Source§fn lend_join(self) -> JoinLendIter<Self>where
Self: Sized,
fn lend_join(self) -> JoinLendIter<Self>where
Self: Sized,
Create a joined lending iterator over the contents.
Source§impl<'a, 'b, T> ParJoin for &'a mut Write<'b, T>
impl<'a, 'b, T> ParJoin for &'a mut Write<'b, T>
Source§unsafe fn open(self) -> (Self::Mask, Self::Value)
unsafe fn open(self) -> (Self::Mask, Self::Value)
Open this join by returning the mask and the storages. Read more
Source§unsafe fn get(v: &Self::Value, i: Index) -> Self::Type
unsafe fn get(v: &Self::Value, i: Index) -> Self::Type
Get a joined component value by a given index. Read more
Source§fn is_unconstrained() -> bool
fn is_unconstrained() -> bool
If this
LendJoin
typically returns all indices in the mask, then
iterating over only it or combined with other joins that are also
dangerous will cause the JoinLendIter
to go through all indices which
is usually not what is wanted and will kill performance.Source§fn par_join(self) -> JoinParIter<Self>where
Self: Sized,
fn par_join(self) -> JoinParIter<Self>where
Self: Sized,
Create a joined parallel iterator over the contents.
Source§impl<'a, T, F> SystemData<'a> for Write<'a, T, F>where
T: Resource,
F: SetupHandler<T>,
impl<'a, T, F> SystemData<'a> for Write<'a, T, F>where
T: Resource,
F: SetupHandler<T>,
Source§fn fetch(world: &'a World) -> Write<'a, T, F>
fn fetch(world: &'a World) -> Write<'a, T, F>
Fetches the system data from
World
. Note that this is only specified
for one concrete lifetime 'a
, you need to implement the
SystemData
trait for every possible lifetime.impl<'a, 'b, T> RepeatableLendGet for &'a mut Write<'b, T>
Auto Trait Implementations§
impl<'a, T, F> Freeze for Write<'a, T, F>
impl<'a, T, F = DefaultProvider> !RefUnwindSafe for Write<'a, T, F>
impl<'a, T, F> Send for Write<'a, T, F>
impl<'a, T, F> Sync for Write<'a, T, F>
impl<'a, T, F> Unpin for Write<'a, T, F>where
F: Unpin,
impl<'a, T, F = DefaultProvider> !UnwindSafe for Write<'a, T, F>
Blanket Implementations§
Source§impl<T> AccessMut for T
impl<T> AccessMut for T
Source§fn access_mut(&mut self) -> &mut <T as Deref>::Target
fn access_mut(&mut self) -> &mut <T as Deref>::Target
This may generate a mutation event for certain flagged storages.
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
Mutably borrows from an owned value. Read more
Source§impl<'a, T> DynamicSystemData<'a> for Twhere
T: SystemData<'a>,
impl<'a, T> DynamicSystemData<'a> for Twhere
T: SystemData<'a>,
Source§type Accessor = StaticAccessor<T>
type Accessor = StaticAccessor<T>
The accessor of the
SystemData
, which specifies the read and write
dependencies and does the fetching.Source§fn setup(_: &StaticAccessor<T>, world: &mut World)
fn setup(_: &StaticAccessor<T>, world: &mut World)
Sets up
World
for fetching this system data.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more