pub struct OwnedMappedMutexGuard<T: ?Sized, U: ?Sized = T> { /* 私有字段 */ }展开描述
对持有 Mutex 的 owned 句柄,已通过 OwnedMutexGuard::map 对其应用了函数。
这可用于保存受保护数据的子字段。
实现§
源代码§impl<T: ?Sized, U: ?Sized> OwnedMappedMutexGuard<T, U>
impl<T: ?Sized, U: ?Sized> OwnedMappedMutexGuard<T, U>
源代码pub fn map<S, F>(this: Self, f: F) -> OwnedMappedMutexGuard<T, S>
pub fn map<S, F>(this: Self, f: F) -> OwnedMappedMutexGuard<T, S>
为已锁定数据的某个组件创建一个新的 OwnedMappedMutexGuard。
此操作不会失败,因为传入的 OwnedMappedMutexGuard 已经锁定了 mutex。
这是一个关联函数,需要用作 OwnedMappedMutexGuard::map(...)。方法会与锁定数据内容上的同名方法冲突。
源代码pub fn try_map<S, F>(
this: Self,
f: F,
) -> Result<OwnedMappedMutexGuard<T, S>, Self>
pub fn try_map<S, F>( this: Self, f: F, ) -> Result<OwnedMappedMutexGuard<T, S>, Self>
尝试为已锁定数据的某个组件创建一个新的 OwnedMappedMutexGuard。如果闭包返回 None,则返回原始守卫。
此操作不会失败,因为传入的 OwnedMutexGuard 已经锁定了互斥锁。
这是一个关联函数,需要以 OwnedMutexGuard::try_map(...) 的方式使用。如果使用方法,将与已锁定数据内容上同名的方法产生冲突。
trait 实现§
impl<T, U> Send for OwnedMappedMutexGuard<T, U>
impl<T, U> Sync for OwnedMappedMutexGuard<T, U>
自动 trait 实现§
impl<T, U> Freeze for OwnedMappedMutexGuard<T, U>
impl<T, U = T> !RefUnwindSafe for OwnedMappedMutexGuard<T, U>
impl<T, U> Unpin for OwnedMappedMutexGuard<T, U>
impl<T, U> UnsafeUnpin for OwnedMappedMutexGuard<T, U>
impl<T, U = T> !UnwindSafe for OwnedMappedMutexGuard<T, U>
blanket 实现§
源代码§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
源代码§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 更多信息