Struct OwnedRwLockMappedWriteGuard
struct OwnedRwLockMappedWriteGuard<T: ?Sized, U: ?Sized = T> { ... }
Owned RAII structure used to release the exclusive write access of a lock when dropped.
This structure is created by mapping an OwnedRwLockWriteGuard. It is a
separate type from OwnedRwLockWriteGuard to disallow downgrading a mapped
guard, since doing so can cause undefined behavior.
Implementations
impl<T: ?Sized, U: ?Sized> OwnedRwLockMappedWriteGuard<T, U>
fn map<F, V: ?Sized>(this: Self, f: F) -> OwnedRwLockMappedWriteGuard<T, V> where F: FnOnce(&mut U) -> &mut VMakes a new
OwnedRwLockMappedWriteGuardfor a component of the locked data.This operation cannot fail as the
OwnedRwLockMappedWriteGuardpassed in already locked the data.This is an associated function that needs to be used as
OwnedRwLockWriteGuard::map(..). A method would interfere with methods of the same name on the contents of the locked data.Examples
use Arc; use ; ; # # asyncfn try_map<F, V: ?Sized>(this: Self, f: F) -> Result<OwnedRwLockMappedWriteGuard<T, V>, Self> where F: FnOnce(&mut U) -> Option<&mut V>Attempts to make a new
OwnedRwLockMappedWriteGuardfor a component of the locked data. The original guard is returned if the closure returnsNone.This operation cannot fail as the
OwnedRwLockMappedWriteGuardpassed in already locked the data.This is an associated function that needs to be used as
OwnedRwLockMappedWriteGuard::try_map(...). A method would interfere with methods of the same name on the contents of the locked data.Examples
use Arc; use ; ; # # asyncfn rwlock(this: &Self) -> &Arc<RwLock<T>>Returns a reference to the original
Arc<RwLock>.Examples
use Arc; use ; # # async
impl<P, T> Receiver for OwnedRwLockMappedWriteGuard<T, U>
impl<T> Any for OwnedRwLockMappedWriteGuard<T, U>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for OwnedRwLockMappedWriteGuard<T, U>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for OwnedRwLockMappedWriteGuard<T, U>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> From for OwnedRwLockMappedWriteGuard<T, U>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToString for OwnedRwLockMappedWriteGuard<T, U>
fn to_string(self: &Self) -> String
impl<T, U = T> RefUnwindSafe for OwnedRwLockMappedWriteGuard<T, U>
impl<T, U = T> UnwindSafe for OwnedRwLockMappedWriteGuard<T, U>
impl<T, U> Freeze for OwnedRwLockMappedWriteGuard<T, U>
impl<T, U> Into for OwnedRwLockMappedWriteGuard<T, U>
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> Send for OwnedRwLockMappedWriteGuard<T, U>
impl<T, U> Sync for OwnedRwLockMappedWriteGuard<T, U>
impl<T, U> TryFrom for OwnedRwLockMappedWriteGuard<T, U>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for OwnedRwLockMappedWriteGuard<T, U>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T, U> Unpin for OwnedRwLockMappedWriteGuard<T, U>
impl<T, U> UnsafeUnpin for OwnedRwLockMappedWriteGuard<T, U>
impl<T: ?Sized, U> Debug for OwnedRwLockMappedWriteGuard<T, U>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<T: ?Sized, U> Display for OwnedRwLockMappedWriteGuard<T, U>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<T: ?Sized, U: ?Sized> Deref for OwnedRwLockMappedWriteGuard<T, U>
fn deref(self: &Self) -> &U
impl<T: ?Sized, U: ?Sized> DerefMut for OwnedRwLockMappedWriteGuard<T, U>
fn deref_mut(self: &mut Self) -> &mut U
impl<T: ?Sized, U: ?Sized> Drop for OwnedRwLockMappedWriteGuard<T, U>
fn drop(self: &mut Self)