[][src]Struct qcell::TCellOwner

pub struct TCellOwner<Q: 'static> { /* fields omitted */ }

Borrowing-owner of zero or more TCell instances.

See crate documentation.

Methods

impl<Q: 'static> TCellOwner<Q>[src]

pub fn new() -> Self[src]

Create the singleton owner instance. Each owner may be used to create many TCell instances. There may be only one instance of this type per process at any given time for each different marker type Q. This call panics if a second simultaneous instance is created.

pub fn cell<T>(&self, value: T) -> TCell<Q, T>[src]

Create a new cell owned by this owner instance. See also TCell::new.

pub fn ro<'a, T>(&'a self, tc: &'a TCell<Q, T>) -> &'a T[src]

Borrow contents of a TCell immutably (read-only). Many TCell instances can be borrowed immutably at the same time from the same owner.

pub fn rw<'a, T>(&'a mut self, tc: &'a TCell<Q, T>) -> &'a mut T[src]

Borrow contents of a TCell mutably (read-write). Only one TCell at a time can be borrowed from the owner using this call. The returned reference must go out of scope before another can be borrowed.

pub fn rw2<'a, T, U>(
    &'a mut self,
    tc1: &'a TCell<Q, T>,
    tc2: &'a TCell<Q, U>
) -> (&'a mut T, &'a mut U)
[src]

Borrow contents of two TCell instances mutably. Panics if the two TCell instances point to the same memory.

pub fn rw3<'a, T, U, V>(
    &'a mut self,
    tc1: &'a TCell<Q, T>,
    tc2: &'a TCell<Q, U>,
    tc3: &'a TCell<Q, V>
) -> (&'a mut T, &'a mut U, &'a mut V)
[src]

Borrow contents of three TCell instances mutably. Panics if any pair of TCell instances point to the same memory.

Trait Implementations

impl<Q: 'static> Default for TCellOwner<Q>[src]

impl<Q: 'static> Drop for TCellOwner<Q>[src]

Auto Trait Implementations

impl<Q> RefUnwindSafe for TCellOwner<Q> where
    Q: RefUnwindSafe

impl<Q> Send for TCellOwner<Q> where
    Q: Send

impl<Q> Sync for TCellOwner<Q> where
    Q: Sync

impl<Q> Unpin for TCellOwner<Q> where
    Q: Unpin

impl<Q> UnwindSafe for TCellOwner<Q> where
    Q: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.