Trait adana_db::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

Object Safety§

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>