Struct patricia_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 patricia_trie as trie;
extern crate hashdb;
extern crate memorydb;
extern crate ethcore_bigint as bigint;

use trie::*;
use hashdb::*;
use memorydb::*;
use bigint::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]

[src]

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

[src]

Get the backing database.

Trait Implementations

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

[src]

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

[src]

Return the root of the trie.

[src]

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

[src]

Is the trie empty?

[src]

Does the trie contain a given key?

[src]

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

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

[src]

Formats the value using the given formatter.