pub trait TokenCellTrait<T: ?Sized, Token: TokenTrait>: Sync {
    fn new(inner: T, token: &Token) -> Self
    where
        T: Sized
; fn try_guard<'l>(
        &'l self,
        token: &'l Token
    ) -> Result<TokenGuard<'l, T, Token>, Token::ComparisonError>; fn try_borrow<'l>(
        &'l self,
        token: &'l Token
    ) -> Result<&'l T, Token::ComparisonError>; fn try_guard_mut<'l>(
        &'l self,
        token: &'l mut Token
    ) -> Result<TokenGuardMut<'l, T, Token>, Token::ComparisonError>; fn try_borrow_mut<'l>(
        &'l self,
        token: &'l mut Token
    ) -> Result<&'l mut T, Token::ComparisonError>; fn borrow<'l>(&'l self, token: &'l Token) -> &'l T
    where
        Token::ComparisonError: Debug
, { ... } fn borrow_mut<'l>(&'l self, token: &'l mut Token) -> &'l mut T
    where
        Token::ComparisonError: Debug
, { ... } fn map<'a, U, F: FnOnce(TokenGuard<'a, T, Token>) -> U>(
        &'a self,
        f: F
    ) -> TokenMap<'a, T, U, F, Self, Token> { ... } fn map_mut<'a, U, F: FnOnce(TokenGuardMut<'a, T, Token>) -> U>(
        &'a self,
        f: F
    ) -> TokenMapMut<'a, T, U, F, Self, Token> { ... } }

Required Methods§

Constructs a new cell using token as its key.

Attempts to construct a guard which Derefs to the inner data, but also allows recovering the Token.

Attempts to borrow the inner data.

This only fails if the wrong token was used as a key, provided that Token has a runtime comparison.

Attempts to construct a guard which DerefMuts to the inner data, but also allows recovering the Token.

Attempts to borrow the inner data mutably.

This only fails if the wrong token was used as a key, provided that Token has a runtime comparison.

Provided Methods§

Borrows the inner data, panicking if the wrong token was used as key.

Borrows the inner data mutably, panicking if the wrong token was used as key.

Constructs a lazy computation that can then be applied using the token.

Constructs a lazy computation that can then be applied using the token.

Implementors§