Struct ethcore_util::trie::triedb::TrieDB [] [src]

pub struct TrieDB<'db> {
    pub hash_count: usize,
    // some fields omitted
}

A Trie implementation using a generic HashDB backing database.

Use it as a Trie trait object. You can use db() to get the backing database object. Use get and contains to query values associated with keys in the trie.

Example

extern crate ethcore_util as util;

use util::trie::*;
use util::hashdb::*;
use util::memorydb::*;
use util::hash::*;

fn main() {
  let mut memdb = MemoryDB::new();
  let mut root = H256::new();
  TrieDBMut::new(&mut memdb, &mut root).insert(b"foo", b"bar").unwrap();
  let t = TrieDB::new(&memdb, &root).unwrap();
  assert!(t.contains(b"foo").unwrap());
  assert_eq!(t.get(b"foo").unwrap().unwrap(), DBValue::from_slice(b"bar"));
}

Fields

The number of hashes performed so far in operations on this trie.

Methods

impl<'db> TrieDB<'db>
[src]

Create a new trie with the backing database db and root Returns an error if root does not exist

Get the backing database.

Trait Implementations

impl<'db> Trie for TrieDB<'db>
[src]

Returns a depth-first iterator over the elements of trie.

Return the root of the trie.

Search for the key with the given query parameter. See the docs of the Query trait for more details. Read more

Is the trie empty?

Does the trie contain a given key?

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

impl<'db> Debug for TrieDB<'db>
[src]

Formats the value using the given formatter.