[−][src]Struct qcell::TLCellOwner
Borrowing-owner of zero or more TLCell
instances.
See crate documentation.
Implementations
impl<Q: 'static> TLCellOwner<Q>
[src]
pub fn new() -> Self
[src]
Create the singleton owner instance. Each owner may be used
to create many TLCell
instances. There may be only one
instance of this type per thread at any given time for each
different marker type Q
. This call panics if a second
simultaneous instance is created. Since the owner is only
valid to use in the thread it is created in, it does not
support Send
or Sync
.
pub fn cell<T>(&self, value: T) -> TLCell<Q, T>
[src]
Create a new cell owned by this owner instance. See also
TLCell::new
.
pub fn ro<'a, T>(&'a self, tc: &'a TLCell<Q, T>) -> &'a T
[src]
Borrow contents of a TLCell
immutably (read-only). Many
TLCell
instances can be borrowed immutably at the same time
from the same owner.
pub fn rw<'a, T>(&'a mut self, tc: &'a TLCell<Q, T>) -> &'a mut T
[src]
Borrow contents of a TLCell
mutably (read-write). Only one
TLCell
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 TLCell<Q, T>,
tc2: &'a TLCell<Q, U>
) -> (&'a mut T, &'a mut U)
[src]
&'a mut self,
tc1: &'a TLCell<Q, T>,
tc2: &'a TLCell<Q, U>
) -> (&'a mut T, &'a mut U)
Borrow contents of two TLCell
instances mutably. Panics if
the two TLCell
instances point to the same memory.
pub fn rw3<'a, T, U, V>(
&'a mut self,
tc1: &'a TLCell<Q, T>,
tc2: &'a TLCell<Q, U>,
tc3: &'a TLCell<Q, V>
) -> (&'a mut T, &'a mut U, &'a mut V)
[src]
&'a mut self,
tc1: &'a TLCell<Q, T>,
tc2: &'a TLCell<Q, U>,
tc3: &'a TLCell<Q, V>
) -> (&'a mut T, &'a mut U, &'a mut V)
Borrow contents of three TLCell
instances mutably. Panics if
any pair of TLCell
instances point to the same memory.
Trait Implementations
impl<Q: 'static> Default for TLCellOwner<Q>
[src]
impl<Q: 'static> Drop for TLCellOwner<Q>
[src]
Auto Trait Implementations
impl<Q> RefUnwindSafe for TLCellOwner<Q> where
Q: RefUnwindSafe,
Q: RefUnwindSafe,
impl<Q> !Send for TLCellOwner<Q>
impl<Q> !Sync for TLCellOwner<Q>
impl<Q> Unpin for TLCellOwner<Q>
impl<Q> UnwindSafe for TLCellOwner<Q> where
Q: RefUnwindSafe,
Q: RefUnwindSafe,
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>,