Struct core::cell::RefCell[src]

pub struct RefCell<T> {
    // some fields omitted
}

A mutable memory location with dynamically checked borrow rules

Methods

impl<T> RefCell<T>

fn new(value: T) -> RefCell<T>

Create a new RefCell containing value

fn unwrap(self) -> T

Consumes the RefCell, returning the wrapped value.

fn try_borrow<'a>(&'a self) -> Option<Ref<'a, T>>

Attempts to immutably borrow the wrapped value.

The borrow lasts until the returned Ref exits scope. Multiple immutable borrows can be taken out at the same time.

Returns None if the value is currently mutably borrowed.

fn borrow<'a>(&'a self) -> Ref<'a, T>

Immutably borrows the wrapped value.

The borrow lasts until the returned Ref exits scope. Multiple immutable borrows can be taken out at the same time.

Failure

Fails if the value is currently mutably borrowed.

fn try_borrow_mut<'a>(&'a self) -> Option<RefMut<'a, T>>

Mutably borrows the wrapped value.

The borrow lasts until the returned RefMut exits scope. The value cannot be borrowed while this borrow is active.

Returns None if the value is currently borrowed.

fn borrow_mut<'a>(&'a self) -> RefMut<'a, T>

Mutably borrows the wrapped value.

The borrow lasts until the returned RefMut exits scope. The value cannot be borrowed while this borrow is active.

Failure

Fails if the value is currently borrowed.

Trait Implementations

impl<T: Clone> Clone for RefCell<T>

fn clone(&self) -> RefCell<T>

fn clone_from(&mut self, source: &Self)

impl<T: PartialEq> PartialEq for RefCell<T>

fn eq(&self, other: &RefCell<T>) -> bool

fn ne(&self, other: &Self) -> bool