12 template <
class TOutputStream>
15 stream <<
"SystemEventMessage(Type=" << CppCommon::WriteChar(message.
Type)
19 <<
"; EventCode=" << CppCommon::WriteChar(message.
EventCode)
24 template <
class TOutputStream>
27 stream <<
"StockDirectoryMessage(Type=" << CppCommon::WriteChar(message.
Type)
31 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
32 <<
"; MarketCategory=" << CppCommon::WriteChar(message.
MarketCategory)
35 <<
"; RoundLotsOnly=" << CppCommon::WriteChar(message.
RoundLotsOnly)
37 <<
"; IssueSubType=" << CppCommon::WriteString(message.
IssueSubType)
38 <<
"; Authenticity=" << CppCommon::WriteChar(message.
Authenticity)
40 <<
"; IPOFlag=" << CppCommon::WriteChar(message.
IPOFlag)
42 <<
"; ETPFlag=" << CppCommon::WriteChar(message.
ETPFlag)
49 template <
class TOutputStream>
52 stream <<
"StockTradingActionMessage(Type=" << CppCommon::WriteChar(message.
Type)
56 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
57 <<
"; TradingState=" << CppCommon::WriteChar(message.
TradingState)
58 <<
"; Reserved=" << CppCommon::WriteChar(message.
Reserved)
59 <<
"; Reason=" << CppCommon::WriteChar(message.
Reason)
64 template <
class TOutputStream>
67 stream <<
"RegSHOMessage(Type=" << CppCommon::WriteChar(message.
Type)
71 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
72 <<
"; RegSHOAction=" << CppCommon::WriteChar(message.
RegSHOAction)
77 template <
class TOutputStream>
80 stream <<
"MarketParticipantPositionMessage(Type=" << CppCommon::WriteChar(message.
Type)
84 <<
"; MPID=" << CppCommon::WriteString(message.
MPID)
85 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
87 <<
"; MarketMakerMode=" << CppCommon::WriteChar(message.
MarketMakerMode)
93 template <
class TOutputStream>
96 stream <<
"MWCBDeclineMessage(Type=" << CppCommon::WriteChar(message.
Type)
100 <<
"; Level1=" << message.
Level1
101 <<
"; Level2=" << message.
Level2
102 <<
"; Level3=" << message.
Level3
107 template <
class TOutputStream>
110 stream <<
"MWCBStatusMessage(Type=" << CppCommon::WriteChar(message.
Type)
119 template <
class TOutputStream>
122 stream <<
"IPOQuotingMessage(Type=" << CppCommon::WriteChar(message.
Type)
126 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
129 <<
"; IPOPrice=" << message.
IPOPrice
134 template <
class TOutputStream>
137 stream <<
"AddOrderMessage(Type=" << CppCommon::WriteChar(message.
Type)
143 <<
"; Shares=" << message.
Shares
144 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
145 <<
"; Price=" << message.
Price
150 template <
class TOutputStream>
153 stream <<
"AddOrderMPIDMessage(Type=" << CppCommon::WriteChar(message.
Type)
159 <<
"; Shares=" << message.
Shares
160 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
161 <<
"; Price=" << message.
Price
162 <<
"; Attribution=" << CppCommon::WriteChar(message.
Attribution)
167 template <
class TOutputStream>
170 stream <<
"OrderExecutedMessage(Type=" << CppCommon::WriteChar(message.
Type)
181 template <
class TOutputStream>
184 stream <<
"OrderExecutedWithPriceMessage(Type=" << CppCommon::WriteChar(message.
Type)
191 <<
"; Printable=" << CppCommon::WriteChar(message.
Printable)
197 template <
class TOutputStream>
200 stream <<
"OrderCancelMessage(Type=" << CppCommon::WriteChar(message.
Type)
210 template <
class TOutputStream>
213 stream <<
"OrderDeleteMessage(Type=" << CppCommon::WriteChar(message.
Type)
222 template <
class TOutputStream>
225 stream <<
"OrderReplaceMessage(Type=" << CppCommon::WriteChar(message.
Type)
231 <<
"; Shares=" << message.
Shares
232 <<
"; Price=" << message.
Price
237 template <
class TOutputStream>
240 stream <<
"TradeMessage(Type=" << CppCommon::WriteChar(message.
Type)
246 <<
"; Shares=" << message.
Shares
247 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
248 <<
"; Price=" << message.
Price
254 template <
class TOutputStream>
257 stream <<
"CrossTradeMessage(Type=" << CppCommon::WriteChar(message.
Type)
261 <<
"; Shares=" << message.
Shares
262 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
265 <<
"; CrossType=" << CppCommon::WriteChar(message.
CrossType)
270 template <
class TOutputStream>
273 stream <<
"BrokenTradeMessage(Type=" << CppCommon::WriteChar(message.
Type)
282 template <
class TOutputStream>
285 stream <<
"NOIIMessage(Type=" << CppCommon::WriteChar(message.
Type)
292 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
293 <<
"; FarPrice=" << message.
FarPrice
296 <<
"; CrossType=" << CppCommon::WriteChar(message.
CrossType)
302 template <
class TOutputStream>
305 stream <<
"RPIIMessage(Type=" << CppCommon::WriteChar(message.
Type)
309 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
310 <<
"; InterestFlag=" << CppCommon::WriteChar(message.
InterestFlag)
315 template <
class TOutputStream>
318 stream <<
"LULDAuctionCollarMessage(Type=" << CppCommon::WriteChar(message.
Type)
322 <<
"; Stock=" << CppCommon::WriteString(message.
Stock)
331 template <
class TOutputStream>
334 stream <<
"UnknownMessage(Type=" << CppCommon::WriteChar(message.
Type) <<
")";
339 inline size_t ITCHHandler::ReadString(
const void* buffer,
char (&str)[N])
341 std::memcpy(str, buffer, N);
346 inline size_t ITCHHandler::ReadTimestamp(
const void* buffer, uint64_t& value)
348 if (CppCommon::Endian::IsBigEndian())
350 ((uint8_t*)&value)[0] = 0;
351 ((uint8_t*)&value)[1] = 0;
352 ((uint8_t*)&value)[2] = 0;
353 ((uint8_t*)&value)[3] = 0;
354 ((uint8_t*)&value)[4] = 0;
355 ((uint8_t*)&value)[5] = ((
const uint8_t*)buffer)[0];
356 ((uint8_t*)&value)[6] = ((
const uint8_t*)buffer)[1];
357 ((uint8_t*)&value)[7] = ((
const uint8_t*)buffer)[2];
361 ((uint8_t*)&value)[0] = ((
const uint8_t*)buffer)[2];
362 ((uint8_t*)&value)[1] = ((
const uint8_t*)buffer)[1];
363 ((uint8_t*)&value)[2] = ((
const uint8_t*)buffer)[0];
364 ((uint8_t*)&value)[3] = 0;
365 ((uint8_t*)&value)[4] = 0;
366 ((uint8_t*)&value)[5] = 0;
367 ((uint8_t*)&value)[6] = 0;
368 ((uint8_t*)&value)[7] = 0;
TOutputStream & operator<<(TOutputStream &stream, const SystemEventMessage &message)
C++ Trader project definitions.
Add Order with MPID Attribution Message.
uint64_t OrderReferenceNumber
uint64_t OrderReferenceNumber
IPO Quoting Period Update Message.
Limit Up – Limit Down (LULD) Auction Collar Message.
uint32_t UpperAuctionCollarPrice
uint32_t AuctionCollarExtension
uint32_t LowerAuctionCollarPrice
uint32_t AuctionCollarReferencePrice
MWCB Decline Level Message.
Market Participant Position Message.
char MarketParticipantState
Net Order Imbalance Indicator (NOII) Message.
char PriceVariationIndicator
uint32_t CurrentReferencePrice
uint64_t OrderReferenceNumber
uint64_t OrderReferenceNumber
uint64_t OrderReferenceNumber
Order Executed With Price Message.
uint64_t OrderReferenceNumber
uint64_t OriginalOrderReferenceNumber
uint64_t NewOrderReferenceNumber
Retail Price Improvement Indicator (RPII) Message.
Reg SHO Short Sale Price Test Restricted Indicator Message.
uint32_t ETPLeverageFactor
char LULDReferencePriceTier
char ShortSaleThresholdIndicator
char FinancialStatusIndicator
Stock Trading Action Message.
uint64_t OrderReferenceNumber