Op

Trait Op 

Source
pub trait Op<K: Key, V: Value> {
    // Required methods
    fn read(&self, k: impl Into<K>, r: impl Fn(&V) -> Option<V>) -> Option<V>;
    fn list_all(&self) -> BTreeMap<K, V>;
    fn keys(&self) -> Vec<K>;
    fn insert(&mut self, k: impl Into<K>, v: impl Into<V>) -> Option<V>;
    fn remove(&mut self, k: impl Into<K>) -> Option<V>;
    fn clear(&mut self);
    fn contains(&self, k: &K) -> Option<bool>;
    fn len(&self) -> Option<usize>;

    // Provided methods
    fn get_value(&self, k: impl Into<K>) -> Option<V> { ... }
    fn read_no_op(
        &self,
        k: impl Into<K>,
        r: impl Fn(&V) -> Option<V>,
    ) -> Option<V> { ... }
    fn is_empty(&self) -> bool { ... }
}

Required Methods§

Source

fn read(&self, k: impl Into<K>, r: impl Fn(&V) -> Option<V>) -> Option<V>

Source

fn list_all(&self) -> BTreeMap<K, V>

Source

fn keys(&self) -> Vec<K>

Source

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

Source

fn remove(&mut self, k: impl Into<K>) -> Option<V>

Source

fn clear(&mut self)

Source

fn contains(&self, k: &K) -> Option<bool>

Source

fn len(&self) -> Option<usize>

Provided Methods§

Source

fn get_value(&self, k: impl Into<K>) -> Option<V>

Source

fn read_no_op(&self, k: impl Into<K>, r: impl Fn(&V) -> Option<V>) -> Option<V>

Source

fn is_empty(&self) -> bool

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: Key + Clone, V: Value> Op<K, V> for InMemoryDb<K, V>

Source§

impl<K: Key + Clone, V: Value> Op<K, V> for Tree<K, V>

Source§

impl<K: Key, V: Value> Op<K, V> for FileDb<K, V>