1#ifndef XRPL_APP_BOOK_OFFERSTREAM_H_INCLUDED
2#define XRPL_APP_BOOK_OFFERSTREAM_H_INCLUDED
4#include <xrpld/app/tx/detail/BookTip.h>
5#include <xrpld/app/tx/detail/Offer.h>
7#include <xrpl/basics/Log.h>
8#include <xrpl/basics/chrono.h>
9#include <xrpl/beast/utility/Journal.h>
10#include <xrpl/ledger/View.h>
12#include <boost/container/flat_set.hpp>
16template <
class TIn,
class TOut>
69 template <
class TTakerPays,
class TTakerGets>
155template <
class TIn,
class TOut>
171 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.