xrpld
Loading...
Searching...
No Matches
xrpl::ledger_trie_detail::Span< Ledger > Class Template Reference

#include <LedgerTrie.h>

Collaboration diagram for xrpl::ledger_trie_detail::Span< Ledger >:

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 = Ledger::Seq
using ID = Ledger::ID

Private Member Functions

 Span (Seq start, Seq end, Ledger 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 xrpl::ledger_trie_detail::Span< Ledger >

Definition at line 59 of file LedgerTrie.h.

Member Typedef Documentation

◆ Seq

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

Definition at line 61 of file LedgerTrie.h.

◆ ID

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

Definition at line 62 of file LedgerTrie.h.

Constructor & Destructor Documentation

◆ Span() [1/5]

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

Definition at line 70 of file LedgerTrie.h.

◆ Span() [2/5]

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

Definition at line 76 of file LedgerTrie.h.

◆ Span() [3/5]

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

◆ Span() [4/5]

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

◆ Span() [5/5]

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

Definition at line 137 of file LedgerTrie.h.

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ start()

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

Definition at line 88 of file LedgerTrie.h.

◆ end()

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

Definition at line 94 of file LedgerTrie.h.

◆ from()

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

Definition at line 101 of file LedgerTrie.h.

◆ before()

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

Definition at line 108 of file LedgerTrie.h.

◆ startID()

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

Definition at line 115 of file LedgerTrie.h.

◆ diff()

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

Definition at line 123 of file LedgerTrie.h.

◆ tip()

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

Definition at line 130 of file LedgerTrie.h.

◆ clamp()

template<class Ledger>
Seq xrpl::ledger_trie_detail::Span< Ledger >::clamp ( Seq val) const
nodiscardprivate

Definition at line 144 of file LedgerTrie.h.

◆ sub()

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

Definition at line 151 of file LedgerTrie.h.

◆ operator<<

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

Definition at line 160 of file LedgerTrie.h.

◆ merge

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

Definition at line 167 of file LedgerTrie.h.

Member Data Documentation

◆ start_

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

Definition at line 65 of file LedgerTrie.h.

◆ end_

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

Definition at line 66 of file LedgerTrie.h.

◆ ledger_

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

Definition at line 67 of file LedgerTrie.h.