Trait CacheBacking

Source
pub trait CacheBacking<K, V>
where K: Eq + Hash + Sized + Clone + Send, V: Sized + Clone + Send,
{ type Meta: Clone + Send; // Required methods fn get_mut(&mut self, key: &K) -> Result<Option<&mut V>, BackingError>; fn get(&mut self, key: &K) -> Result<Option<&V>, BackingError>; fn set( &mut self, key: K, value: V, meta: Option<Self::Meta>, ) -> Result<Option<V>, BackingError>; fn remove(&mut self, key: &K) -> Result<Option<V>, BackingError>; fn contains_key(&mut self, key: &K) -> Result<bool, BackingError>; fn remove_if( &mut self, predicate: Box<dyn Fn((&K, &V)) -> bool + Send + Sync + 'static>, ) -> Result<Vec<(K, V)>, BackingError>; fn clear(&mut self) -> Result<(), BackingError>; }

Required Associated Types§

Required Methods§

Source

fn get_mut(&mut self, key: &K) -> Result<Option<&mut V>, BackingError>

Source

fn get(&mut self, key: &K) -> Result<Option<&V>, BackingError>

Source

fn set( &mut self, key: K, value: V, meta: Option<Self::Meta>, ) -> Result<Option<V>, BackingError>

Source

fn remove(&mut self, key: &K) -> Result<Option<V>, BackingError>

Source

fn contains_key(&mut self, key: &K) -> Result<bool, BackingError>

Source

fn remove_if( &mut self, predicate: Box<dyn Fn((&K, &V)) -> bool + Send + Sync + 'static>, ) -> Result<Vec<(K, V)>, BackingError>

Source

fn clear(&mut self) -> Result<(), BackingError>

Implementors§

Source§

impl<K: Eq + Hash + Sized + Clone + Send, V: Sized + Clone + Send> CacheBacking<K, V> for HashMapBacking<K, V>