[−][src]Struct qcell::TCellOwner
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]
&'a mut self,
tc1: &'a TCell<Q, T>,
tc2: &'a TCell<Q, U>
) -> (&'a mut T, &'a mut U)
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]
&'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)
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,
Q: RefUnwindSafe,
impl<Q> Send for TCellOwner<Q> where
Q: Send,
Q: Send,
impl<Q> Sync for TCellOwner<Q> where
Q: Sync,
Q: Sync,
impl<Q> Unpin for TCellOwner<Q> where
Q: Unpin,
Q: Unpin,
impl<Q> UnwindSafe for TCellOwner<Q> where
Q: UnwindSafe,
Q: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,