Trait trie_db::TrieMut

source ·
pub trait TrieMut<L: TrieLayout> {
    // Required methods
    fn root(&mut self) -> &TrieHash<L>;
    fn is_empty(&self) -> bool;
    fn get<'a, 'key>(
        &'a self,
        key: &'key [u8],
    ) -> Result<Option<DBValue>, TrieHash<L>, CError<L>>
       where 'a: 'key;
    fn insert(
        &mut self,
        key: &[u8],
        value: &[u8],
    ) -> Result<Option<Value<L>>, TrieHash<L>, CError<L>>;
    fn remove(
        &mut self,
        key: &[u8],
    ) -> Result<Option<Value<L>>, TrieHash<L>, CError<L>>;

    // Provided method
    fn contains(&self, key: &[u8]) -> Result<bool, TrieHash<L>, CError<L>> { ... }
}
Expand description

A key-value datastore implemented as a database-backed modified Merkle tree.

Required Methods§

source

fn root(&mut self) -> &TrieHash<L>

Return the root of the trie.

source

fn is_empty(&self) -> bool

Is the trie empty?

source

fn get<'a, 'key>( &'a self, key: &'key [u8], ) -> Result<Option<DBValue>, TrieHash<L>, CError<L>>
where 'a: 'key,

What is the value of the given key in this trie?

source

fn insert( &mut self, key: &[u8], value: &[u8], ) -> Result<Option<Value<L>>, TrieHash<L>, CError<L>>

Insert a key/value pair into the trie. An empty value is equivalent to removing key from the trie. Returns the old value associated with this key, if it existed.

source

fn remove( &mut self, key: &[u8], ) -> Result<Option<Value<L>>, TrieHash<L>, CError<L>>

Remove a key from the trie. Equivalent to making it equal to the empty value. Returns the old value associated with this key, if it existed.

Provided Methods§

source

fn contains(&self, key: &[u8]) -> Result<bool, TrieHash<L>, CError<L>>

Does the trie contain a given key?

Implementors§

source§

impl<'a, L> TrieMut<L> for TrieDBMut<'a, L>
where L: TrieLayout,

source§

impl<'db, L> TrieMut<L> for SecTrieDBMut<'db, L>
where L: TrieLayout,

source§

impl<'db, L> TrieMut<L> for FatDBMut<'db, L>
where L: TrieLayout,