20#ifndef RIPPLE_APP_BOOK_OFFERSTREAM_H_INCLUDED
21#define RIPPLE_APP_BOOK_OFFERSTREAM_H_INCLUDED
23#include <xrpld/app/tx/detail/BookTip.h>
24#include <xrpld/app/tx/detail/Offer.h>
25#include <xrpld/ledger/View.h>
27#include <xrpl/basics/Log.h>
28#include <xrpl/basics/chrono.h>
29#include <xrpl/beast/utility/Journal.h>
31#include <boost/container/flat_set.hpp>
35template <
class TIn,
class TOut>
88 template <
class TTakerPays,
class TTakerGets>
174template <
class TIn,
class TOut>
190 boost::container::flat_set<uint256>
const&
A generic endpoint for log messages.
Writeable view to a ledger, for applying a transaction.
Iterates and consumes raw offers in an order book.
Presents and consumes the offers in an order book.
boost::container::flat_set< uint256 > const & permToRemove() const
void permRmOffer(uint256 const &offerIndex) override
boost::container::flat_set< uint256 > permToRemove_
Presents and consumes the offers in an order book.
void permRmOffer(uint256 const &offerIndex) override
std::uint32_t const limit_
StepCounter(std::uint32_t limit, beast::Journal j)
std::uint32_t count() const
std::optional< TOut > ownerFunds_
void erase(ApplyView &view)
bool step()
Advance to the next valid offer.
virtual ~TOfferStreamBase()=default
TOffer< TIn, TOut > offer_
NetClock::time_point const expire_
bool shouldRmSmallIncreasedQOffer() const
TOffer< TIn, TOut > & tip() const
Returns the offer at the tip of the order book.
virtual void permRmOffer(uint256 const &offerIndex)=0
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.