Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes | List of all members
dev::MemTrieNode Class Referenceabstract
Inheritance diagram for dev::MemTrieNode:
[legend]
Collaboration diagram for dev::MemTrieNode:
[legend]

Public Member Functions

 MemTrieNode ()
 
virtual ~MemTrieNode ()
 
virtual std::string const & at (bytesConstRef _key) const =0
 
virtual MemTrieNodeinsert (bytesConstRef _key, std::string const &_value)=0
 
virtual MemTrieNoderemove (bytesConstRef _key)=0
 
void putRLP (RLPStream &_parentStream) const
 
h256 hash256 () const
 256-bit hash of the node - this is a SHA-3/256 hash of the RLP of the node. More...
 
bytes rlp () const
 
void mark ()
 

Protected Member Functions

virtual void makeRLP (RLPStream &_intoStream) const =0
 

Static Protected Member Functions

static MemTrieNodenewBranch (bytesConstRef _k1, std::string const &_v1, bytesConstRef _k2, std::string const &_v2)
 

Private Attributes

h256 m_hash256
 

Detailed Description

Definition at line 40 of file MemTrie.cpp.

Constructor & Destructor Documentation

dev::MemTrieNode::MemTrieNode ( )
inline

Definition at line 43 of file MemTrie.cpp.

virtual dev::MemTrieNode::~MemTrieNode ( )
inlinevirtual

Definition at line 44 of file MemTrie.cpp.

Here is the call graph for this function:

Member Function Documentation

virtual std::string const& dev::MemTrieNode::at ( bytesConstRef  _key) const
pure virtual

Implemented in dev::TrieInfixNode, dev::TrieLeafNode, and dev::TrieBranchNode.

Here is the caller graph for this function:

h256 dev::MemTrieNode::hash256 ( ) const
inline

256-bit hash of the node - this is a SHA-3/256 hash of the RLP of the node.

Definition at line 56 of file MemTrie.cpp.

Here is the call graph for this function:

virtual MemTrieNode* dev::MemTrieNode::insert ( bytesConstRef  _key,
std::string const &  _value 
)
pure virtual
virtual void dev::MemTrieNode::makeRLP ( RLPStream _intoStream) const
protectedpure virtual
void dev::MemTrieNode::mark ( )
inline

Definition at line 58 of file MemTrie.cpp.

MemTrieNode * dev::MemTrieNode::newBranch ( bytesConstRef  _k1,
std::string const &  _v1,
bytesConstRef  _k2,
std::string const &  _v2 
)
staticprotected

Definition at line 228 of file MemTrie.cpp.

Here is the call graph for this function:

void dev::MemTrieNode::putRLP ( RLPStream _parentStream) const

Definition at line 194 of file MemTrie.cpp.

Here is the call graph for this function:

virtual MemTrieNode* dev::MemTrieNode::remove ( bytesConstRef  _key)
pure virtual
bytes dev::MemTrieNode::rlp ( ) const
inline

Definition at line 57 of file MemTrie.cpp.

Here is the call graph for this function:

Member Data Documentation

h256 dev::MemTrieNode::m_hash256
mutableprivate

Definition at line 70 of file MemTrie.cpp.


The documentation for this class was generated from the following file: