Skip to main content

RwLockBellWriteGuard

Struct RwLockBellWriteGuard 

Source
pub struct RwLockBellWriteGuard<'a, T> { /* private fields */ }
Expand description

RAII write guard for RwLockBell.

Provides exclusive write access to the protected value via Deref and DerefMut. When dropped, releases the lock and calls all callbacks that were registered via try_write_or while this guard was held.

Obtained via RwLockBell::write, RwLockBell::try_write, or RwLockBell::try_write_or.

Implementations§

Source§

impl<'a, T> RwLockBellWriteGuard<'a, T>

Source

pub fn map<U, F>(self, f: F) -> MappedRwLockBellWriteGuard<'a, U>
where F: FnOnce(&mut T) -> &mut U,

Transforms this guard into a MappedRwLockBellWriteGuard that dereferences to a subfield of the protected value.

Source

pub fn try_map<U, F>( self, f: F, ) -> Result<MappedRwLockBellWriteGuard<'a, U>, Self>
where F: FnOnce(&mut T) -> Option<&mut U>,

Attempts to transform this guard into a MappedRwLockBellWriteGuard.

Returns Err(self) if f returns None, giving the original guard back.

Source

pub fn try_map_err<U, F, E>( self, f: F, ) -> Result<MappedRwLockBellWriteGuard<'a, U>, (Self, E)>
where F: FnOnce(&mut T) -> Result<&mut U, E>,

Attempts to transform this guard into a MappedRwLockBellWriteGuard.

Returns Err((self, error)) if f returns Err, giving the original guard and the error back.

Trait Implementations§

Source§

impl<'a, T: Debug> Debug for RwLockBellWriteGuard<'a, T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a, T> Deref for RwLockBellWriteGuard<'a, T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<'a, T> DerefMut for RwLockBellWriteGuard<'a, T>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<'a, T> Drop for RwLockBellWriteGuard<'a, T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for RwLockBellWriteGuard<'a, T>

§

impl<'a, T> !RefUnwindSafe for RwLockBellWriteGuard<'a, T>

§

impl<'a, T> !Send for RwLockBellWriteGuard<'a, T>

§

impl<'a, T> Sync for RwLockBellWriteGuard<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for RwLockBellWriteGuard<'a, T>

§

impl<'a, T> UnsafeUnpin for RwLockBellWriteGuard<'a, T>

§

impl<'a, T> !UnwindSafe for RwLockBellWriteGuard<'a, T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.