![]() |
Fabcoin Core
0.16.2
P2P Digital Currency
|
Merkle Patricia Tree "Trie": a modifed base-16 Radix tree. More...
#include <TrieDB.h>
Classes | |
class | iterator |
Public Types | |
using | DB = _DB |
Public Member Functions | |
GenericTrieDB (DB *_db=nullptr) | |
GenericTrieDB (DB *_db, h256 const &_root, Verification _v=Verification::Normal) | |
~GenericTrieDB () | |
void | open (DB *_db) |
void | open (DB *_db, h256 const &_root, Verification _v=Verification::Normal) |
void | init () |
void | setRoot (h256 const &_root, Verification _v=Verification::Normal) |
bool | isNull () const |
True if the trie is uninitialised (i.e. that the DB doesn't contain the root node). More... | |
bool | isEmpty () const |
True if the trie is initialised but empty (i.e. that the DB contains the root node which is empty). More... | |
h256 const & | root () const |
std::string | at (bytes const &_key) const |
std::string | at (bytesConstRef _key) const |
void | insert (bytes const &_key, bytes const &_value) |
void | insert (bytesConstRef _key, bytes const &_value) |
void | insert (bytes const &_key, bytesConstRef _value) |
void | insert (bytesConstRef _key, bytesConstRef _value) |
void | remove (bytes const &_key) |
void | remove (bytesConstRef _key) |
bool | contains (bytes const &_key) |
bool | contains (bytesConstRef _key) |
iterator | begin () const |
iterator | end () const |
iterator | lower_bound (bytesConstRef _key) const |
void | descendKey (h256 const &_k, h256Hash &_keyMask, bool _wasExt, std::ostream *_out, int _indent=0) const |
Used for debugging, scans the whole trie. More... | |
void | descendEntry (RLP const &_r, h256Hash &_keyMask, bool _wasExt, std::ostream *_out, int _indent) const |
Used for debugging, scans the whole trie. More... | |
void | descendList (RLP const &_r, h256Hash &_keyMask, bool _wasExt, std::ostream *_out, int _indent) const |
Used for debugging, scans the whole trie. More... | |
h256Hash | leftOvers (std::ostream *_out=nullptr) const |
Used for debugging, scans the whole trie. More... | |
void | debugStructure (std::ostream &_out) const |
Used for debugging, scans the whole trie. More... | |
bool | check (bool _requireNoLeftOvers) const |
Used for debugging, scans the whole trie. More... | |
DB const * | db () const |
Get the underlying database. More... | |
DB * | db () |
Private Member Functions | |
RLPStream & | streamNode (RLPStream &_s, bytes const &_b) |
std::string | atAux (RLP const &_here, NibbleSlice _key) const |
void | mergeAtAux (RLPStream &_out, RLP const &_replace, NibbleSlice _key, bytesConstRef _value) |
bytes | mergeAt (RLP const &_replace, NibbleSlice _k, bytesConstRef _v, bool _inLine=false) |
bytes | mergeAt (RLP const &_replace, h256 const &_replaceHash, NibbleSlice _k, bytesConstRef _v, bool _inLine=false) |
bool | deleteAtAux (RLPStream &_out, RLP const &_replace, NibbleSlice _key) |
bytes | deleteAt (RLP const &_replace, NibbleSlice _k) |
bytes | place (RLP const &_orig, NibbleSlice _k, bytesConstRef _s) |
bytes | remove (RLP const &_orig) |
bytes | cleve (RLP const &_orig, unsigned _s) |
bytes | graft (RLP const &_orig) |
bytes | merge (RLP const &_orig, byte _i) |
bytes | branch (RLP const &_orig) |
bool | isTwoItemNode (RLP const &_n) const |
std::string | deref (RLP const &_n) const |
std::string | node (h256 const &_h) const |
h256 | forceInsertNode (bytesConstRef _v) |
void | forceInsertNode (h256 const &_h, bytesConstRef _v) |
void | forceKillNode (h256 const &_h) |
void | killNode (RLP const &_d) |
void | killNode (RLP const &_d, h256 const &_h) |
Private Attributes | |
h256 | m_root |
DB * | m_db = nullptr |
Merkle Patricia Tree "Trie": a modifed base-16 Radix tree.
This version uses a database backend. Usage:
using dev::GenericTrieDB< _DB >::DB = _DB |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
std::string dev::GenericTrieDB< DB >::at | ( | bytesConstRef | _key | ) | const |
|
private |
|
inline |
|
private |
|
inline |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
void dev::GenericTrieDB< DB >::insert | ( | bytesConstRef | _key, |
bytesConstRef | _value | ||
) |
|
inline |
|
inline |
|
private |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
|
inline |
|
inline |
|
private |
|
inline |
void dev::GenericTrieDB< DB >::remove | ( | bytesConstRef | _key | ) |
|
private |
|
inline |
|
inline |
|
private |
|
private |
|
private |