rippled
Public Member Functions | Public Attributes | Friends | List of all members
ripple::ledger_trie_detail::Node< Ledger > Struct Template Reference
Collaboration diagram for ripple::ledger_trie_detail::Node< Ledger >:
Collaboration graph
[legend]

Public Member Functions

 Node ()=default
 
 Node (Ledger const &l)
 
 Node (Span< Ledger > s)
 
void erase (Node const *child)
 Remove the given node from this Node's children. More...
 
Json::Value getJson () const
 

Public Attributes

Span< Ledgerspan
 
std::uint32_t tipSupport = 0
 
std::uint32_t branchSupport = 0
 
std::vector< std::unique_ptr< Node > > children
 
Nodeparent = nullptr
 

Friends

std::ostreamoperator<< (std::ostream &o, Node const &s)
 

Detailed Description

template<class Ledger>
struct ripple::ledger_trie_detail::Node< Ledger >

Definition at line 198 of file LedgerTrie.h.

Constructor & Destructor Documentation

◆ Node() [1/3]

template<class Ledger >
ripple::ledger_trie_detail::Node< Ledger >::Node ( )
default

◆ Node() [2/3]

template<class Ledger >
ripple::ledger_trie_detail::Node< Ledger >::Node ( Ledger const &  l)
explicit

Definition at line 202 of file LedgerTrie.h.

◆ Node() [3/3]

template<class Ledger >
ripple::ledger_trie_detail::Node< Ledger >::Node ( Span< Ledger s)
explicit

Definition at line 206 of file LedgerTrie.h.

Member Function Documentation

◆ erase()

template<class Ledger >
void ripple::ledger_trie_detail::Node< Ledger >::erase ( Node< Ledger > const *  child)

Remove the given node from this Node's children.

Parameters
childThe address of the child node to remove
Note
The child must be a member of the vector. The passed pointer will be dangling as a result of this call

Definition at line 224 of file LedgerTrie.h.

◆ getJson()

template<class Ledger >
Json::Value ripple::ledger_trie_detail::Node< Ledger >::getJson ( ) const

Definition at line 245 of file LedgerTrie.h.

Friends And Related Function Documentation

◆ operator<<

template<class Ledger >
std::ostream& operator<< ( std::ostream o,
Node< Ledger > const &  s 
)
friend

Definition at line 238 of file LedgerTrie.h.

Member Data Documentation

◆ span

template<class Ledger >
Span<Ledger> ripple::ledger_trie_detail::Node< Ledger >::span

Definition at line 210 of file LedgerTrie.h.

◆ tipSupport

template<class Ledger >
std::uint32_t ripple::ledger_trie_detail::Node< Ledger >::tipSupport = 0

Definition at line 211 of file LedgerTrie.h.

◆ branchSupport

template<class Ledger >
std::uint32_t ripple::ledger_trie_detail::Node< Ledger >::branchSupport = 0

Definition at line 212 of file LedgerTrie.h.

◆ children

template<class Ledger >
std::vector<std::unique_ptr<Node> > ripple::ledger_trie_detail::Node< Ledger >::children

Definition at line 214 of file LedgerTrie.h.

◆ parent

template<class Ledger >
Node* ripple::ledger_trie_detail::Node< Ledger >::parent = nullptr

Definition at line 215 of file LedgerTrie.h.