55 PriceLevel (
const Price& price,
61 #if defined(ONIXS_FENICSUST_BIMP_COMPILER_CXX_RVALUE_REFERENCES) && ONIXS_FENICSUST_BIMP_COMPILER_CXX_RVALUE_REFERENCES 63 PriceLevel(PriceLevel&&)
67 operator=(PriceLevel&& other)
71 #if defined(ONIXS_FENICSUST_BIMP_COMPILER_CXX_DEFAULTED_FUNCTIONS) && ONIXS_FENICSUST_BIMP_COMPILER_CXX_DEFAULTED_FUNCTIONS 72 PriceLevel(
const PriceLevel&) =
default;
74 PriceLevel(
const PriceLevel&);
78 operator=(
const PriceLevel& other);
85 void setPrice (
const Price& value)
101 void numberOfOrders (
Quantity value)
113 std::string toString()
const;
116 void toString (std::string&)
const;
119 void swap (PriceLevel&)
123 const OrderInfos& orders()
const 130 void removeOrderId (
OrderId id);
155 ONIXS_FENICSUST_BIMP_API
163 typedef std::vector<PriceLevel>
Array;
206 std::string toString()
const;
209 void toString (std::string&)
const;
212 std::string toShortString()
const;
215 void toShortString (std::string&)
const;
218 std::string toFormattedString()
const;
221 void toFormattedString (std::string&)
const;
224 const PriceLevels& asks()
const;
227 const PriceLevels& bids()
const;
230 UInt64 lastMessageSeqNumApplied()
const;
234 virtual const PriceLevels& doAsks()
const = 0;
235 virtual const PriceLevels& doBids()
const = 0;
236 virtual bool doBestAsk (
Price& price,
Quantity& quantity)
const = 0;
237 virtual bool doBestBid (
Price& price,
Quantity& quantity)
const = 0;
239 virtual UInt64 doLastMessageSeqNumApplied()
const = 0;
243 ONIXS_FENICSUST_BIMP_NOTHROW
249 ONIXS_FENICSUST_BIMP_NOTHROW
255 ONIXS_FENICSUST_BIMP_NOTHROW
261 ONIXS_FENICSUST_BIMP_NOTHROW
267 ONIXS_FENICSUST_BIMP_NOTHROW
273 ONIXS_FENICSUST_BIMP_NOTHROW
279 ONIXS_FENICSUST_BIMP_NOTHROW
285 ONIXS_FENICSUST_BIMP_NOTHROW
291 ONIXS_FENICSUST_BIMP_NOTHROW
297 ONIXS_FENICSUST_BIMP_NOTHROW
299 timestamp_ = timestamp;
303 ONIXS_FENICSUST_BIMP_NOTHROW
320 return doBestAsk (price, quantity);
325 return doBestBid (price, quantity);
330 return doInstrumentID();
334 ONIXS_FENICSUST_BIMP_NOTHROW
336 return bids().empty() && asks().empty();
341 return doLastMessageSeqNumApplied();
Quantity numberOfOrders() const ONIXS_FENICSUST_BIMP_NOTHROW
Total number of orders of given price.
bool bestBid(Price &price, Quantity &quantity) const
InstrumentId instrumentId() const
Instrument Id.
ONIXS_FENICSUST_BIMP_API std::ostream & operator<<(std::ostream &stream, const ServiceDescriptor &descriptor)
Quantity quantity() const ONIXS_FENICSUST_BIMP_NOTHROW
Quantify for the given price.
bool operator==(const PriceLevel &l, const PriceLevel &r) ONIXS_FENICSUST_BIMP_NOTHROW
compare
PriceLevelCollections::ArrayEntry PriceLevelsEntry
Iterator to access price levels with write permissions.
PriceLevelCollections::Array PriceLevels
Sequence of price levels.
virtual ~OrderBook()
Destruction interface.
const Price & getPrice() const ONIXS_FENICSUST_BIMP_NOTHROW
Price8 value.
UInt64 lastMessageSeqNumApplied() const
Returns Last Message Seq Num Applied to the Book.
bool bestAsk(Price &price, Quantity &quantity) const
PriceLevelCollections::ArrayConstEntry PriceLevelsConstEntry
Iterator over read-only collection of price levels.
const Price & getPrice(const PriceLevel &level) ONIXS_FENICSUST_BIMP_NOTHROW
Returns value of Price8.
Integer8 timestamp() const ONIXS_FENICSUST_BIMP_NOTHROW
Timestamp.
Encapsulates price level concept.
const PriceLevels & bids() const
Returns a set of ascending ask prices for the given security.
Integer8 InstrumentId
Alias for Instrument Id type.
void setPrice(const Price &value) ONIXS_FENICSUST_BIMP_NOTHROW
Updates price value.
Integer8 Quantity
Alias for Quantity type.
Array::const_iterator ArrayConstEntry
Iterator for read-only access.
#define ONIXS_FENICSUST_BIMP_NOTHROW
std::vector< OrderInfo > OrderInfos
Miscellaneous traits for PriceLevel class.
std::vector< PriceLevel > Array
Sequential collection of price levels.
const PriceLevels & asks() const
Returns a set of descending bid prices for the given security.
SignedInteger8 Price
Alias for Order Id type.
bool empty() const ONIXS_FENICSUST_BIMP_NOTHROW
Indicates whether book has no bids & asks.
Array::iterator ArrayEntry
Mutable entry iterator.
Integer8 OrderId
Alias for Order Id type.
bool isValid(const PriceLevel &level) ONIXS_FENICSUST_BIMP_NOTHROW
Indicates whether the instance of PriceLevel is valid.