Struct RwLockMappedWriteGuard
struct RwLockMappedWriteGuard<'a, T: ?Sized> { ... }
RAII structure used to release the exclusive write access of a lock when dropped.
This structure is created by mapping an RwLockWriteGuard. It is a
separate type from RwLockWriteGuard to disallow downgrading a mapped
guard, since doing so can cause undefined behavior.
Implementations
impl<'a, T: ?Sized> RwLockMappedWriteGuard<'a, T>
fn map<F, U: ?Sized>(this: Self, f: F) -> RwLockMappedWriteGuard<'a, U> where F: FnOnce(&mut T) -> &mut UMakes a new
RwLockMappedWriteGuardfor a component of the locked data.This operation cannot fail as the
RwLockMappedWriteGuardpassed in already locked the data.This is an associated function that needs to be used as
RwLockMappedWriteGuard::map(..). A method would interfere with methods of the same name on the contents of the locked data.This is an asynchronous version of
RwLockWriteGuard::mapfrom theparking_lotcrate.Examples
use ; ; # # asyncfn try_map<F, U: ?Sized>(this: Self, f: F) -> Result<RwLockMappedWriteGuard<'a, U>, Self> where F: FnOnce(&mut T) -> Option<&mut U>Attempts to make a new
RwLockMappedWriteGuardfor a component of the locked data. The original guard is returned if the closure returnsNone.This operation cannot fail as the
RwLockMappedWriteGuardpassed in already locked the data.This is an associated function that needs to be used as
RwLockMappedWriteGuard::try_map(...). A method would interfere with methods of the same name on the contents of the locked data.This is an asynchronous version of
RwLockWriteGuard::try_mapfrom theparking_lotcrate.Examples
use ; ; # # async
impl<'a, T> Debug for RwLockMappedWriteGuard<'a, T>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<'a, T> Display for RwLockMappedWriteGuard<'a, T>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<'a, T> Freeze for RwLockMappedWriteGuard<'a, T>
impl<'a, T> RefUnwindSafe for RwLockMappedWriteGuard<'a, T>
impl<'a, T> Unpin for RwLockMappedWriteGuard<'a, T>
impl<'a, T> UnsafeUnpin for RwLockMappedWriteGuard<'a, T>
impl<'a, T> UnwindSafe for RwLockMappedWriteGuard<'a, T>
impl<'a, T: ?Sized> Drop for RwLockMappedWriteGuard<'a, T>
fn drop(self: &mut Self)
impl<P, T> Receiver for RwLockMappedWriteGuard<'a, T>
impl<T> Any for RwLockMappedWriteGuard<'a, T>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for RwLockMappedWriteGuard<'a, T>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for RwLockMappedWriteGuard<'a, T>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> From for RwLockMappedWriteGuard<'a, T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Send for RwLockMappedWriteGuard<'_, T>
impl<T> Sync for RwLockMappedWriteGuard<'_, T>
impl<T> ToString for RwLockMappedWriteGuard<'a, T>
fn to_string(self: &Self) -> String
impl<T, U> Into for RwLockMappedWriteGuard<'a, T>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for RwLockMappedWriteGuard<'a, T>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for RwLockMappedWriteGuard<'a, T>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T: ?Sized> Deref for RwLockMappedWriteGuard<'_, T>
fn deref(self: &Self) -> &T
impl<T: ?Sized> DerefMut for RwLockMappedWriteGuard<'_, T>
fn deref_mut(self: &mut Self) -> &mut T