Cache

Trait Cache 

Source
pub trait Cache<K, V, S, M>
where K: Eq + Hash, S: BuildHasher, M: Meter<K, V>,
{
Show 16 methods // Required methods fn with_meter_and_hasher(cap: u64, meter: M, hash_builder: S) -> Self; fn get<'a, Q>(&'a mut self, k: &Q) -> Option<&'a V> where K: Borrow<Q>, Q: Hash + Eq + ?Sized; fn get_mut<'a, Q>(&'a mut self, k: &Q) -> Option<&'a mut V> where K: Borrow<Q>, Q: Hash + Eq + ?Sized; fn peek<'a, Q>(&'a self, k: &Q) -> Option<&'a V> where K: Borrow<Q>, Q: Hash + Eq + ?Sized; fn peek_mut<'a, Q>(&'a mut self, k: &Q) -> Option<&'a mut V> where K: Borrow<Q>, Q: Hash + Eq + ?Sized; fn peek_by_policy(&self) -> Option<(&K, &V)>; fn put(&mut self, k: K, v: V) -> Option<V>; fn pop<Q>(&mut self, k: &Q) -> Option<V> where K: Borrow<Q>, Q: Hash + Eq + ?Sized; fn pop_by_policy(&mut self) -> Option<(K, V)>; fn contains<Q>(&self, k: &Q) -> bool where K: Borrow<Q>, Q: Hash + Eq + ?Sized; fn len(&self) -> usize; fn is_empty(&self) -> bool; fn capacity(&self) -> u64; fn set_capacity(&mut self, cap: u64); fn size(&self) -> u64; fn clear(&mut self);
}
Expand description

A trait for a cache.

Required Methods§

Source

fn with_meter_and_hasher(cap: u64, meter: M, hash_builder: S) -> Self

Source

fn get<'a, Q>(&'a mut self, k: &Q) -> Option<&'a V>
where K: Borrow<Q>, Q: Hash + Eq + ?Sized,

Source

fn get_mut<'a, Q>(&'a mut self, k: &Q) -> Option<&'a mut V>
where K: Borrow<Q>, Q: Hash + Eq + ?Sized,

Source

fn peek<'a, Q>(&'a self, k: &Q) -> Option<&'a V>
where K: Borrow<Q>, Q: Hash + Eq + ?Sized,

Source

fn peek_mut<'a, Q>(&'a mut self, k: &Q) -> Option<&'a mut V>
where K: Borrow<Q>, Q: Hash + Eq + ?Sized,

Source

fn peek_by_policy(&self) -> Option<(&K, &V)>

Source

fn put(&mut self, k: K, v: V) -> Option<V>

Source

fn pop<Q>(&mut self, k: &Q) -> Option<V>
where K: Borrow<Q>, Q: Hash + Eq + ?Sized,

Source

fn pop_by_policy(&mut self) -> Option<(K, V)>

Source

fn contains<Q>(&self, k: &Q) -> bool
where K: Borrow<Q>, Q: Hash + Eq + ?Sized,

Source

fn len(&self) -> usize

Source

fn is_empty(&self) -> bool

Source

fn capacity(&self) -> u64

Source

fn set_capacity(&mut self, cap: u64)

Source

fn size(&self) -> u64

Source

fn clear(&mut self)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<K: Eq + Hash, V, S: BuildHasher, M: CountableMeter<K, V>> Cache<K, V, S, M> for LruCache<K, V, S, M>