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

Public Member Functions

 Span ()
 
 Span (Ledger ledger)
 
 Span (Span const &s)=default
 
 Span (Span &&s)=default
 
Spanoperator= (Span const &)=default
 
Spanoperator= (Span &&)=default
 
Seq start () const
 
Seq end () const
 
std::optional< Spanfrom (Seq spot) const
 
std::optional< Spanbefore (Seq spot) const
 
ID startID () const
 
Seq diff (Ledger const &o) const
 
SpanTip< Ledgertip () const
 

Private Types

using Seq = typename Ledger::Seq
 
using ID = typename Ledger::ID
 

Private Member Functions

 Span (Seq start, Seq end, Ledger const &l)
 
Seq clamp (Seq val) const
 
std::optional< Spansub (Seq from, Seq to) const
 

Private Attributes

Seq start_ {0}
 
Seq end_ {1}
 
Ledger ledger_
 

Friends

std::ostreamoperator<< (std::ostream &o, Span const &s)
 
Span merge (Span const &a, Span const &b)
 

Detailed Description

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

Definition at line 76 of file LedgerTrie.h.

Member Typedef Documentation

◆ Seq

template<class Ledger >
using ripple::ledger_trie_detail::Span< Ledger >::Seq = typename Ledger::Seq
private

Definition at line 78 of file LedgerTrie.h.

◆ ID

template<class Ledger >
using ripple::ledger_trie_detail::Span< Ledger >::ID = typename Ledger::ID
private

Definition at line 79 of file LedgerTrie.h.

Constructor & Destructor Documentation

◆ Span() [1/5]

template<class Ledger >
ripple::ledger_trie_detail::Span< Ledger >::Span ( )

Definition at line 87 of file LedgerTrie.h.

◆ Span() [2/5]

template<class Ledger >
ripple::ledger_trie_detail::Span< Ledger >::Span ( Ledger  ledger)

Definition at line 93 of file LedgerTrie.h.

◆ Span() [3/5]

template<class Ledger >
ripple::ledger_trie_detail::Span< Ledger >::Span ( Span< Ledger > const &  s)
default

◆ Span() [4/5]

template<class Ledger >
ripple::ledger_trie_detail::Span< Ledger >::Span ( Span< Ledger > &&  s)
default

◆ Span() [5/5]

template<class Ledger >
ripple::ledger_trie_detail::Span< Ledger >::Span ( Seq  start,
Seq  end,
Ledger const &  l 
)
private

Definition at line 155 of file LedgerTrie.h.

Member Function Documentation

◆ operator=() [1/2]

template<class Ledger >
Span& ripple::ledger_trie_detail::Span< Ledger >::operator= ( Span< Ledger > const &  )
default

◆ operator=() [2/2]

template<class Ledger >
Span& ripple::ledger_trie_detail::Span< Ledger >::operator= ( Span< Ledger > &&  )
default

◆ start()

template<class Ledger >
Seq ripple::ledger_trie_detail::Span< Ledger >::start ( ) const

Definition at line 106 of file LedgerTrie.h.

◆ end()

template<class Ledger >
Seq ripple::ledger_trie_detail::Span< Ledger >::end ( ) const

Definition at line 112 of file LedgerTrie.h.

◆ from()

template<class Ledger >
std::optional<Span> ripple::ledger_trie_detail::Span< Ledger >::from ( Seq  spot) const

Definition at line 119 of file LedgerTrie.h.

◆ before()

template<class Ledger >
std::optional<Span> ripple::ledger_trie_detail::Span< Ledger >::before ( Seq  spot) const

Definition at line 126 of file LedgerTrie.h.

◆ startID()

template<class Ledger >
ID ripple::ledger_trie_detail::Span< Ledger >::startID ( ) const

Definition at line 133 of file LedgerTrie.h.

◆ diff()

template<class Ledger >
Seq ripple::ledger_trie_detail::Span< Ledger >::diff ( Ledger const &  o) const

Definition at line 141 of file LedgerTrie.h.

◆ tip()

template<class Ledger >
SpanTip<Ledger> ripple::ledger_trie_detail::Span< Ledger >::tip ( ) const

Definition at line 148 of file LedgerTrie.h.

◆ clamp()

template<class Ledger >
Seq ripple::ledger_trie_detail::Span< Ledger >::clamp ( Seq  val) const
private

Definition at line 163 of file LedgerTrie.h.

◆ sub()

template<class Ledger >
std::optional<Span> ripple::ledger_trie_detail::Span< Ledger >::sub ( Seq  from,
Seq  to 
) const
private

Definition at line 170 of file LedgerTrie.h.

Friends And Related Function Documentation

◆ operator<<

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

Definition at line 180 of file LedgerTrie.h.

◆ merge

template<class Ledger >
Span merge ( Span< Ledger > const &  a,
Span< Ledger > const &  b 
)
friend

Definition at line 186 of file LedgerTrie.h.

Member Data Documentation

◆ start_

template<class Ledger >
Seq ripple::ledger_trie_detail::Span< Ledger >::start_ {0}
private

Definition at line 82 of file LedgerTrie.h.

◆ end_

template<class Ledger >
Seq ripple::ledger_trie_detail::Span< Ledger >::end_ {1}
private

Definition at line 83 of file LedgerTrie.h.

◆ ledger_

template<class Ledger >
Ledger ripple::ledger_trie_detail::Span< Ledger >::ledger_
private

Definition at line 84 of file LedgerTrie.h.