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 try_new() -> Option<Self>
pub fn try_new() -> Option<Self>
Same as TLCellOwner::new, except if another TLCellOwner
of this type Q already exists in this thread, this returns
None instead of panicking.
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.