# Struct ethcore_util::trie::FatDBMut [−] [src]

    pub struct FatDBMut<'db> { /* fields omitted */ }

A mutable `Trie` implementation which hashes keys and uses a generic `HashDB` backing database. Additionaly it stores inserted hash-key mappings for later retrieval.

Use it as a `Trie` or `TrieMut` trait object.

## Methods

### `impl<'db> FatDBMut<'db>`
[src]

#### `fn new(db: &'db mut HashDB, root: &'db mut H256) -> Self`

Create a new trie with the backing database `db` and empty `root` Initialise to the state entailed by the genesis block. This guarantees the trie is built correctly.

#### `fn from_existing(db: &'db mut HashDB, root: &'db mut H256) -> Result<Self>`

Create a new trie with the backing database `db` and `root`.

Returns an error if root does not exist.

#### `fn db(&self) -> &HashDB`

Get the backing database.

#### `fn db_mut(&mut self) -> &mut HashDB`

Get the backing database.

## Trait Implementations

### `impl<'db> TrieMut for FatDBMut<'db>`
[src]

#### `fn root(&mut self) -> &H256`

Return the root of the trie.

#### `fn is_empty(&self) -> bool`

Is the trie empty?

#### `fn contains(&self, key: &[u8]) -> Result<bool>`

Does the trie contain a given key?

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

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

#### `fn insert(&mut self, key: &[u8], value: &[u8]) -> Result<Option<DBValue>>`

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. Read more

#### `fn remove(&mut self, key: &[u8]) -> Result<Option<DBValue>>`

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. Read more

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)