Struct rwlock2::RwLockReadGuard [] [src]

#[must_use]
pub struct RwLockReadGuard<'a, T: ?Sized + 'a> {
    // some fields omitted
}

RAII structure used to release the shared read access of a lock when dropped.

Methods

impl<'rwlock, T: ?Sized> RwLockReadGuard<'rwlock, T>
[src]

fn map<U: ?Sized, F>(self, cb: F) -> RwLockReadGuard<'rwlock, U> where F: FnOnce(&'rwlock T) -> &'rwlock U

Transform this guard to hold a sub-borrow of the original data.

Applies the supplied closure to the data, returning a new lock guard referencing the borrow returned by the closure.

let x = RwLock::new(vec![1, 2]);

let y = x.read().unwrap().map(|v| &v[0]);
assert_eq!(*y, 1);

Trait Implementations

impl<'rwlock, T: ?Sized> Deref for RwLockReadGuard<'rwlock, T>
[src]

type Target = T

The resulting type after dereferencing

fn deref(&self) -> &T

The method called to dereference a value

impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T>
[src]

fn drop(&mut self)

A method called when the value goes out of scope. Read more