28#include <OnixS/CME/MDH/Auxiliary/DeprecatedHeaderWarnings.Disable.h>
30#include <OnixS/CME/MDH/Auxiliary/DeprecatedHeaderWarnings.Restore.h>
51template <
class Order,
class Price>
54 static_assert(std::is_nothrow_copy_constructible<Order>::value,
"must be nothrow copy-constructible");
55 static_assert(std::is_nothrow_copy_assignable<Order>::value,
"must be nothrow copy-assignable");
56 static_assert(std::is_nothrow_destructible<Order>::value,
"must be nothrow destructible");
57 static_assert(std::is_nothrow_copy_constructible<Price>::value,
"must be nothrow copy-constructible");
58 static_assert(std::is_nothrow_copy_assignable<Price>::value,
"must be nothrow copy-assignable");
59 static_assert(std::is_nothrow_destructible<Price>::value,
"must be nothrow destructible");
61 static_assert(
noexcept(std::declval<OrderId&>() = std::declval<const Order&>().orderId()),
"must be noexcept");
62 static_assert(
noexcept(
static_cast<bool>(std::declval<const Order&>().orderPriority(std::declval<OrderPriority&>()))),
"must be noexcept");
63 static_assert(
noexcept(
static_cast<bool>(std::declval<const Order&>().displayQty(std::declval<DisplayQuantity&>()))),
"must be noexcept");
64 static_assert(
noexcept(
static_cast<SecurityId>(std::declval<const Price&>().securityId())),
"must be noexcept");
66 static_assert(
noexcept(
static_cast<bool>(std::declval<const Price&>().entryPx(std::declval<Messaging::Decimal&>()))),
"must be noexcept");
92 return price_.securityId();
100 return price_.entryType();
108 return order_.orderUpdateAction();
116 id = order_.orderId();
126 return order_.orderPriority(priority);
135 return price_.entryPx(price);
144 return order_.displayQty(quantity);
#define ONIXS_CMEMDH_NAMESPACE_BEGIN
#define ONIXS_CMEMDH_NAMESPACE_END
#define ONIXS_CMEMDH_NODISCARD
Combines the order and price components of an incremental Market By Order (MBO) book update.
bool displayQty(DisplayQuantity &quantity) const noexcept
Gets the displayed quantity of the affected order.
bool orderId(OrderId &id) const noexcept
Gets the identifier of the affected order.
bool orderPriority(OrderPriority &priority) const noexcept
Gets the matching priority of the affected order.
bool entryPx(Messaging::Decimal &price) const noexcept
Gets the price of the affected order.
Messaging::EntryTypeBook::Enum entryType() const noexcept
Gets the market data entry type.
Messaging::OrderUpdateAction::Enum updateAction() const noexcept
Gets the action to apply to the MBO book.
IncrementalRefreshBookCombinedEntry & operator=(const IncrementalRefreshBookCombinedEntry &other) noexcept=default
Replaces this entry with a copy of another combined entry.
IncrementalRefreshBookCombinedEntry(const Order &order, const Price &price) noexcept
Constructs a combined entry from its order and price components.
IncrementalRefreshBookCombinedEntry(const IncrementalRefreshBookCombinedEntry &other) noexcept=default
Constructs a copy of another combined entry.
SecurityId securityId() const noexcept
Gets the identifier of the security whose MBO book is updated.
Represents an order in a Market By Order (MBO) book.
FloatingPointDecimal< DecimalMantissa, DecimalExponent > Decimal
Universal decimal type.
Messaging::UInt64 OrderPriority
Represents an order's matching priority.
Messaging::Int32 SecurityId
Identifies a security in CME MDP 3.0 market data.
IncrementalRefreshBookCombinedEntry< Messaging::IncrementalRefreshBookLongQty64::OrderIDEntry, Messaging::IncrementalRefreshBookLongQty64::Entry > IncrementalRefreshBook64CombinedEntry
Combined MBO update entry from an IncrementalRefreshBookLongQty64 message.
Messaging::UInt64 OrderId
Identifies an order in a Market By Order book.
IncrementalRefreshBookCombinedEntry< Messaging::IncrementalRefreshBook46::OrderIDEntry, Messaging::IncrementalRefreshBook46::Entry > IncrementalRefreshBook46CombinedEntry
Combined MBO update entry from an IncrementalRefreshBook46 message.
Messaging::Int32 DisplayQuantity
Represents the displayed quantity of an order.