OnixS C++ CME MDP Premium Market Data Handler 5.11.1
Users' manual and API documentation
Loading...
Searching...
No Matches
IncrementalRefreshTradeSummary.h File Reference

Go to the source code of this file.

Classes

struct  IsTradeSummaryAction< Action >
struct  TradeSummaryEntryOperation< Action >
struct  TradeEntryOperation
struct  EntryOperationSelector< IncrementalRefreshTradeSummary::MessageType >

Namespaces

namespace  OnixS
namespace  OnixS::CME
namespace  OnixS::CME::MDH
namespace  OnixS::CME::MDH::Test
namespace  OnixS::CME::MDH::Test::details

Macros

#define ONIXS_CMEMDH_TRADE_ENTRY(...)

Typedefs

using IncrementalRefreshTradeSummary = MessageHolder<Messaging::IncrementalRefreshTradeSummary48>
template<typename Holder>
using EnableIncrementalRefreshTradeSummary = EnableMutableMessageHolder<IncrementalRefreshTradeSummary, Holder>
template<Messaging::UpdateAction::Enum Action, typename Holder>
using EnableTradeSummaryEntry

Functions

template<Messaging::UpdateAction::Enum Action, typename Holder>
Messaging::IncrementalRefreshTradeSummary48::Entry appendTradeSummaryEntry (Holder &message, SecurityId securityId, Messaging::UInt32 rptSeq, Messaging::Decimal9 price, Messaging::Int32 quantity, Messaging::Int32 numberOfOrders)
template<typename Holder>
Messaging::IncrementalRefreshTradeSummary48::OrderIDEntry appendOrderIdEntry (Holder &message, OrderId orderId, Messaging::Int32 lastQuantity)
template<typename Holder, details::IncrementalRefreshTradeSummaryInitializationTag...>
auto initialize (Holder &message, EventFlags::Bits eventIndicator, Messaging::Timestamp transactTime=UtcWatch::now()) noexcept -> details::EnableIncrementalRefreshTradeSummary< Holder >
template<typename Holder, details::IncrementalRefreshTradeSummaryInitializationTag...>
auto initialize (EventFlags::Bits eventIndicator, Messaging::Timestamp transactTime=UtcWatch::now()) -> decltype(details::makeInitializationRecipe< Holder, IncrementalRefreshTradeSummary >(eventIndicator, transactTime))
template<Messaging::UpdateAction::Enum Action, typename Holder>
auto addEntry (Holder &message, SecurityId securityId, Messaging::UInt32 rptSeq, Messaging::Decimal9 price, Messaging::Int32 quantity, Messaging::Int32 numberOfOrders) -> details::EnableTradeSummaryEntry< Action, Holder >
template<typename Holder>
auto addOrderIdEntry (Holder &message, OrderId orderId, Messaging::Int32 lastQuantity) -> details::EnableIncrementalRefreshTradeSummary< Holder >
auto tradeEntry (OrderId orderId, Messaging::Int32 lastQuantity) -> decltype(details::makeMessageOperation< details::TradeEntryOperation >(orderId, lastQuantity))

Macro Definition Documentation

◆ ONIXS_CMEMDH_TRADE_ENTRY

#define ONIXS_CMEMDH_TRADE_ENTRY ( ...)
Value:
ONIXS_CME_MDH_TESTING_NAMESPACE::details::deferMessageOperation([&]() { \
return ONIXS_CME_MDH_TESTING_NAMESPACE::tradeEntry(__VA_ARGS__); \
})

Creates a deferred order-level fill entry pipeline stage.

Parameters
...Arguments forwarded to tradeEntry() when the stage is materialized.
Note
Stages are materialized in pipeline order. Argument evaluation within one tradeEntry() call follows the normal C++ function-argument rules.
Apply % callable to customize the entry created by this stage.
Warning
An entry view passed to a customization callable is valid only for that invocation. Do not retain it; growing any earlier repeating group can relocate and invalidate the view.
Note
This macro must be expanded within function scope because its stage factory captures referenced arguments by reference.
Warning
The returned stage may retain references or pointers to objects used by the argument expressions. Materialize it by piping it into a holder or appending it to a MessageRecipe before any such object's lifetime ends. Do not return or retain an unmaterialized stage beyond those lifetimes.
Note
Once appended, the MessageRecipe owns decay-copied argument values and may be retained and reused. Objects referenced indirectly by pointer-like or view-like argument values must still remain valid while the recipe is applied.
The returned deferred stage is single-use. Append it to a MessageRecipe once, then reuse the recipe when repeated materialization is required.

Definition at line 230 of file IncrementalRefreshTradeSummary.h.