20 #ifndef RIPPLE_LEDGER_APPLYVIEWBASE_H_INCLUDED
21 #define RIPPLE_LEDGER_APPLYVIEWBASE_H_INCLUDED
23 #include <ripple/basics/XRPAmount.h>
24 #include <ripple/ledger/ApplyView.h>
25 #include <ripple/ledger/OpenView.h>
26 #include <ripple/ledger/ReadView.h>
27 #include <ripple/ledger/detail/ApplyStateTable.h>
48 open()
const override;
51 info()
const override;
54 fees()
const override;
57 rules()
const override;
94 flags()
const override;
std::optional< key_type > succ(key_type const &key, std::optional< key_type > const &last=std::nullopt) const override
Return the key of the next state item.
A pair of SHAMap key and LedgerEntryType.
void rawReplace(std::shared_ptr< SLE > const &sle) override
Unconditionally replace a state item.
std::unique_ptr< txs_type::iter_base > txsBegin() const override
tx_type txRead(key_type const &key) const override
Read a transaction from the tx map.
bool exists(Keylet const &k) const override
Determine if a state item exists.
void update(std::shared_ptr< SLE > const &sle) override
Indicate changes to a peeked SLE.
ApplyViewBase & operator=(ApplyViewBase &&)=delete
Fees const & fees() const override
Returns the fees for the base ledger.
detail::ApplyStateTable items_
Writeable view to a ledger, for applying a transaction.
std::unique_ptr< txs_type::iter_base > txsEnd() const override
bool open() const override
Returns true if this reflects an open ledger.
Interface for ledger entry changes.
Reflects the fee settings for a particular ledger.
LedgerInfo const & info() const override
Returns information about the ledger.
std::unique_ptr< sles_type::iter_base > slesEnd() const override
std::unique_ptr< sles_type::iter_base > slesBegin() const override
void rawErase(std::shared_ptr< SLE > const &sle) override
Delete an existing state item.
void insert(std::shared_ptr< SLE > const &sle) override
Insert a new state SLE.
void erase(std::shared_ptr< SLE > const &sle) override
Remove a peeked SLE.
ApplyFlags flags() const override
Returns the tx apply flags.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Rules controlling protocol behavior.
std::shared_ptr< SLE const > read(Keylet const &k) const override
Return the state item associated with a key.
std::shared_ptr< SLE > peek(Keylet const &k) override
Prepare to modify the SLE associated with key.
Information about the notional ledger backing the view.
Rules const & rules() const override
Returns the tx processing rules.
bool txExists(key_type const &key) const override
Returns true if a tx exists in the tx map.
void rawInsert(std::shared_ptr< SLE > const &sle) override
Unconditionally insert a state item.
std::unique_ptr< sles_type::iter_base > slesUpperBound(uint256 const &key) const override
void rawDestroyXRP(XRPAmount const &feeDrops) override
Destroy XRP.