20 #ifndef RIPPLE_SHAMAP_SHAMAPLEAFNODE_H_INCLUDED
21 #define RIPPLE_SHAMAP_SHAMAPLEAFNODE_H_INCLUDED
23 #include <ripple/shamap/SHAMapItem.h>
24 #include <ripple/shamap/SHAMapNodeID.h>
25 #include <ripple/shamap/SHAMapTreeNode.h>
35 boost::intrusive_ptr<SHAMapItem const>
item_;
38 boost::intrusive_ptr<SHAMapItem const> item,
42 boost::intrusive_ptr<SHAMapItem const> item,
64 invariants(
bool is_root =
false) const final override;
std::uint32_t cowid() const
Returns the SHAMap that owns this node.
bool isLeaf() const final override
Determines if this is a leaf node.
boost::intrusive_ptr< SHAMapItem const > const & peekItem() const
std::string getString(SHAMapNodeID const &) const final override
SHAMapLeafNode(boost::intrusive_ptr< SHAMapItem const > item, std::uint32_t cowid)
Identifies a node inside a SHAMap.
void invariants(bool is_root=false) const final override
bool isInner() const final override
Determines if this is an inner node.
boost::intrusive_ptr< SHAMapItem const > item_
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
bool setItem(boost::intrusive_ptr< SHAMapItem const > i)
Set the item that this node points to and update the node's hash.
SHAMapLeafNode & operator=(const SHAMapLeafNode &)=delete