pub struct ThreadLocalMut<T: Send>(/* private fields */);Expand description
Creates a “scratch space” within each thread with mutable access.
This is mainly meant to be used as an optimization to avoid unnecessary allocs/frees within rayon code. You only pay for allocation of this scratch space once per thread.
Since the space is local to each thread you also don’t have to worry about atomicity.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<T> !Freeze for ThreadLocalMut<T>
impl<T> RefUnwindSafe for ThreadLocalMut<T>
impl<T> Send for ThreadLocalMut<T>
impl<T> Sync for ThreadLocalMut<T>
impl<T> Unpin for ThreadLocalMut<T>
impl<T> UnwindSafe for ThreadLocalMut<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more
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