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

Public Member Functions

 TrieBranchNode (std::string const &_value)
 
 TrieBranchNode (byte _i1, MemTrieNode *_n1, std::string const &_value=std::string())
 
 TrieBranchNode (byte _i1, MemTrieNode *_n1, byte _i2, MemTrieNode *_n2)
 
virtual ~TrieBranchNode ()
 
virtual std::string const & at (bytesConstRef _key) const override
 
virtual MemTrieNodeinsert (bytesConstRef _key, std::string const &_value) override
 
virtual MemTrieNoderemove (bytesConstRef _key) override
 
virtual void makeRLP (RLPStream &_parentStream) const override
 
- Public Member Functions inherited from dev::MemTrieNode
 MemTrieNode ()
 
virtual ~MemTrieNode ()
 
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 ()
 

Private Member Functions

byte activeBranch () const
 
MemTrieNoderejig ()
 

Private Attributes

std::array< MemTrieNode *, 16 > m_nodes
 
std::string m_value
 

Additional Inherited Members

- Static Protected Member Functions inherited from dev::MemTrieNode
static MemTrieNodenewBranch (bytesConstRef _k1, std::string const &_v1, bytesConstRef _k2, std::string const &_v2)
 

Detailed Description

Definition at line 83 of file MemTrie.cpp.

Constructor & Destructor Documentation

dev::TrieBranchNode::TrieBranchNode ( std::string const &  _value)
inline

Definition at line 86 of file MemTrie.cpp.

dev::TrieBranchNode::TrieBranchNode ( byte  _i1,
MemTrieNode _n1,
std::string const &  _value = std::string() 
)
inline

Definition at line 91 of file MemTrie.cpp.

dev::TrieBranchNode::TrieBranchNode ( byte  _i1,
MemTrieNode _n1,
byte  _i2,
MemTrieNode _n2 
)
inline

Definition at line 97 of file MemTrie.cpp.

virtual dev::TrieBranchNode::~TrieBranchNode ( )
inlinevirtual

Definition at line 104 of file MemTrie.cpp.

Member Function Documentation

byte dev::TrieBranchNode::activeBranch ( ) const
private
Returns
(byte)-1 when no active branches, 16 when multiple active and the index of the active branch otherwise.

Definition at line 324 of file MemTrie.cpp.

std::string const & dev::TrieBranchNode::at ( bytesConstRef  _key) const
overridevirtual

Implements dev::MemTrieNode.

Definition at line 247 of file MemTrie.cpp.

Here is the call graph for this function:

MemTrieNode * dev::TrieBranchNode::insert ( bytesConstRef  _key,
std::string const &  _value 
)
overridevirtual

Implements dev::MemTrieNode.

Definition at line 256 of file MemTrie.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void dev::TrieBranchNode::makeRLP ( RLPStream _parentStream) const
overridevirtual

Implements dev::MemTrieNode.

Definition at line 204 of file MemTrie.cpp.

Here is the call graph for this function:

MemTrieNode * dev::TrieBranchNode::rejig ( )
private

Definition at line 287 of file MemTrie.cpp.

Here is the call graph for this function:

MemTrieNode * dev::TrieBranchNode::remove ( bytesConstRef  _key)
overridevirtual

Implements dev::MemTrieNode.

Definition at line 270 of file MemTrie.cpp.

Here is the call graph for this function:

Member Data Documentation

std::array<MemTrieNode*, 16> dev::TrieBranchNode::m_nodes
private

Definition at line 136 of file MemTrie.cpp.

std::string dev::TrieBranchNode::m_value
private

Definition at line 137 of file MemTrie.cpp.


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