pub struct TLCellOwner<Q: 'static> { /* private fields */ }
Expand description
Borrowing-owner of zero or more TLCell
instances.
See crate documentation.
Implementations§
Source§impl<Q: 'static> TLCellOwner<Q>
impl<Q: 'static> TLCellOwner<Q>
Sourcepub fn new() -> Self
pub fn new() -> Self
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
.
Sourcepub fn cell<T>(&self, value: T) -> TLCell<Q, T>
pub fn cell<T>(&self, value: T) -> TLCell<Q, T>
Create a new cell owned by this owner instance. See also
TLCell::new
.
Sourcepub fn ro<'a, T: ?Sized>(&'a self, tc: &'a TLCell<Q, T>) -> &'a T
pub fn ro<'a, T: ?Sized>(&'a self, tc: &'a TLCell<Q, T>) -> &'a T
Borrow contents of a TLCell
immutably (read-only). Many
TLCell
instances can be borrowed immutably at the same time
from the same owner.
Sourcepub fn rw<'a, T: ?Sized>(&'a mut self, tc: &'a TLCell<Q, T>) -> &'a mut T
pub fn rw<'a, T: ?Sized>(&'a mut self, tc: &'a TLCell<Q, T>) -> &'a mut T
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.