pub struct HashCache<'f, I, O, S = RandomState>{ /* private fields */ }
Expand description
A cache for a function which uses a HashMap
.
The cache takes ownership of all inputs, but only passes a reference to the function, allowing it to store the input in the cache without any copies or clones.
The requirements for a HashMap
must be met,
specifically the keys must implement Eq
and
Hash
, and the following propery must hold:
k1 == k2 -> hash(k1) == hash(k2)
Implementations§
Source§impl<'f, I, O> HashCache<'f, I, O, RandomState>
impl<'f, I, O> HashCache<'f, I, O, RandomState>
Methods from Deref<Target = GenericCache<'f, HashMap<I, O, S>>>§
Sourcepub fn cache(&self) -> &C
pub fn cache(&self) -> &C
Get a reference to the underlying cache object, letting you use functions exclusive to the
cache type (as long they only need &self
of course).
Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clears the cache, removing all key-value pairs. Keeps the allocated memory for reuse.
Trait Implementations§
Auto Trait Implementations§
impl<'f, I, O, S> Freeze for HashCache<'f, I, O, S>where
S: Freeze,
impl<'f, I, O, S = RandomState> !RefUnwindSafe for HashCache<'f, I, O, S>
impl<'f, I, O, S> Send for HashCache<'f, I, O, S>
impl<'f, I, O, S = RandomState> !Sync for HashCache<'f, I, O, S>
impl<'f, I, O, S> Unpin for HashCache<'f, I, O, S>
impl<'f, I, O, S = RandomState> !UnwindSafe for HashCache<'f, I, O, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more