OnixS Eurex ETI Handler C++ library  9.23.0
API documentation
Enumerations.h
Go to the documentation of this file.
1 /*
2  * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3  *
4  * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5  * and international copyright treaties.
6  *
7  * Access to and use of the software is governed by the terms of the applicable ONIXS Software
8  * Services Agreement (the Agreement) and Customer end user license agreements granting
9  * a non-assignable, non-transferable and non-exclusive license to use the software
10  * for it's own data processing purposes under the terms defined in the Agreement.
11  *
12  * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any
13  * part of this source code or associated reference material to any other location for further
14  * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15  * prohibited.
16  *
17  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18  * the terms of the Agreement is a violation of copyright law.
19  */
20 
21 #pragma once
22 
23 #include "OnixS/Eurex/Trading/Export.h"
24 
25 #include <string>
26 
27 namespace OnixS { namespace Eurex { namespace Trading {
28 
29 /// Identifier for subscription and retransmission of an ETI data stream.
30 struct ONIXS_EUREX_ETI_EXPORT ApplId
31 {
32  /// \copydoc ApplId
33  enum Enum
34  {
35  NoValue = 0xFF, ///< No value.
36  Trade = 1, ///< Trade.
37  News = 2, ///< News.
38  ServiceAvailability = 3, ///< Service Availability.
39  SessionData = 4, ///< Session Data.
40  ListenerData = 5, ///< Listener Data.
41  RiskControl = 6, ///< Risk Control.
42  TESMaintenance = 7, ///< TES Maintenance.
43  TESTrade = 8, ///< TES Trade.
44  SRQSMaintenance = 9, ///< SRQS Maintenance.
45  ServiceAvailabilityMarket = 10, ///< Service Availability Market.
46  };
47 };
48 
49 /// Returns string representation.
50 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ApplId::Enum);
51 
52 /// Make it printable using C++ I/O streams.
53 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ApplId::Enum);
54 
55 /// Subscription status.
56 struct ONIXS_EUREX_ETI_EXPORT ApplIdStatus
57 {
58  /// \copydoc ApplIdStatus
59  enum Enum
60  {
61  NoValue = 0xFF, ///< No value.
62  OutboundConversionError = 105, ///< Error converting response or broadcast.
63  };
64 };
65 
66 /// Returns string representation.
67 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ApplIdStatus::Enum);
68 
69 /// Make it printable using C++ I/O streams.
70 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ApplIdStatus::Enum);
71 
72 /// Indicates a retransmission message.
73 struct ONIXS_EUREX_ETI_EXPORT ApplResendFlag
74 {
75  /// \copydoc ApplResendFlag
76  enum Enum
77  {
78  NoValue = 0xFF, ///< No value.
79  False = 0, ///< False.
80  True = 1, ///< True.
81  };
82 };
83 
84 /// Returns string representation.
85 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ApplResendFlag::Enum);
86 
87 /// Make it printable using C++ I/O streams.
88 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ApplResendFlag::Enum);
89 
90 /// Indicates if the order is a Lean Order or a Standard (non lean) Order.
91 struct ONIXS_EUREX_ETI_EXPORT ApplSeqIndicator
92 {
93  /// \copydoc ApplSeqIndicator
94  enum Enum
95  {
96  NoValue = 0xFF, ///< No value.
97  NoRecoveryRequired = 0, ///< No Recovery Required.
98  RecoveryRequired = 1, ///< Recovery Required.
99  };
100 };
101 
102 /// Returns string representation.
103 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ApplSeqIndicator::Enum);
104 
105 /// Make it printable using C++ I/O streams.
106 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ApplSeqIndicator::Enum);
107 
108 /// Informs about the availability of the retransmission services for order and quote events (session data and listener
109 /// data).
110 struct ONIXS_EUREX_ETI_EXPORT ApplSeqStatus
111 {
112  /// \copydoc ApplSeqStatus
113  enum Enum
114  {
115  NoValue = 0xFF, ///< No value.
116  Unavailable = 0, ///< Unavailable.
117  Available = 1, ///< Available.
118  };
119 };
120 
121 /// Returns string representation.
122 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ApplSeqStatus::Enum);
123 
124 /// Make it printable using C++ I/O streams.
125 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ApplSeqStatus::Enum);
126 
127 /// Type of order processing.
128 struct ONIXS_EUREX_ETI_EXPORT ApplUsageOrders
129 {
130  /// \copydoc ApplUsageOrders
131  enum Enum
132  {
133  NoValue = 0x00, ///< No value.
134  Automated = 'A', ///< Automated.
135  Manual = 'M', ///< Manual.
136  AutoSelect = 'B', ///< Both (Automated and Manual).
137  None = 'N', ///< None.
138  };
139 };
140 
141 /// Returns string representation.
142 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ApplUsageOrders::Enum);
143 
144 /// Make it printable using C++ I/O streams.
145 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ApplUsageOrders::Enum);
146 
147 /// Type of quote processing.
148 struct ONIXS_EUREX_ETI_EXPORT ApplUsageQuotes
149 {
150  /// \copydoc ApplUsageQuotes
151  enum Enum
152  {
153  NoValue = 0x00, ///< No value.
154  Automated = 'A', ///< Automated.
155  Manual = 'M', ///< Manual.
156  AutoSelect = 'B', ///< Both (Automated and Manual).
157  None = 'N', ///< None.
158  };
159 };
160 
161 /// Returns string representation.
162 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ApplUsageQuotes::Enum);
163 
164 /// Make it printable using C++ I/O streams.
165 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ApplUsageQuotes::Enum);
166 
167 /// Used to indicate anonymized trades in baskets.
168 struct ONIXS_EUREX_ETI_EXPORT BasketAnonymity
169 {
170  /// \copydoc BasketAnonymity
171  enum Enum
172  {
173  NoValue = 0xFF, ///< No value.
174  No = 0, ///< No.
175  Yes = 1, ///< Yes.
176  };
177 };
178 
179 /// Returns string representation.
180 ONIXS_EUREX_ETI_EXPORT std::string enumToString(BasketAnonymity::Enum);
181 
182 /// Make it printable using C++ I/O streams.
183 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, BasketAnonymity::Enum);
184 
185 /// Basket operation.
186 struct ONIXS_EUREX_ETI_EXPORT BasketTradeReportType
187 {
188  /// \copydoc BasketTradeReportType
189  enum Enum
190  {
191  NoValue = 0xFF, ///< No value.
192  Submit = 0, ///< Submit.
193  Addendum = 4, ///< Addendum.
194  NoWasSubstitue = 5, ///< No/Was (Substitute).
195  Terminate = 19, ///< Terminate.
196  };
197 };
198 
199 /// Returns string representation.
200 ONIXS_EUREX_ETI_EXPORT std::string enumToString(BasketTradeReportType::Enum);
201 
202 /// Make it printable using C++ I/O streams.
203 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, BasketTradeReportType::Enum);
204 
205 /// BidPx is locked.
206 struct ONIXS_EUREX_ETI_EXPORT BidPxIsLocked
207 {
208  /// \copydoc BidPxIsLocked
209  enum Enum
210  {
211  NoValue = 0xFF, ///< No value.
212  No = 0, ///< No.
213  Yes = 1, ///< Yes.
214  };
215 };
216 
217 /// Returns string representation.
218 ONIXS_EUREX_ETI_EXPORT std::string enumToString(BidPxIsLocked::Enum);
219 
220 /// Make it printable using C++ I/O streams.
221 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, BidPxIsLocked::Enum);
222 
223 /// Instruction to show Charge ID.
224 struct ONIXS_EUREX_ETI_EXPORT ChargeIdDisclosureInstruction
225 {
226  /// \copydoc ChargeIdDisclosureInstruction
227  enum Enum
228  {
229  NoValue = 0xFF, ///< No value.
230  No = 0, ///< No.
231  Yes = 1, ///< Yes.
232  };
233 };
234 
235 /// Returns string representation.
236 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ChargeIdDisclosureInstruction::Enum);
237 
238 /// Make it printable using C++ I/O streams.
239 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ChargeIdDisclosureInstruction::Enum);
240 
241 /// Prioritization of a cross order.
242 struct ONIXS_EUREX_ETI_EXPORT CrossPrioritization
243 {
244  /// \copydoc CrossPrioritization
245  enum Enum
246  {
247  NoValue = 0xFF, ///< No value.
248  BuySide = 1, ///< Buy side is prioritized.
249  SellSide = 2, ///< Sell side is prioritized.
250  };
251 };
252 
253 /// Returns string representation.
254 ONIXS_EUREX_ETI_EXPORT std::string enumToString(CrossPrioritization::Enum);
255 
256 /// Make it printable using C++ I/O streams.
257 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, CrossPrioritization::Enum);
258 
259 /// Type of the Cross Request.
260 struct ONIXS_EUREX_ETI_EXPORT CrossRequestType
261 {
262  /// \copydoc CrossRequestType
263  enum Enum
264  {
265  NoValue = 0xFF, ///< No value.
266  Cross = 1, ///< Cross Announcement.
267  Clip = 2, ///< Liquidity Improvement Cross.
268  };
269 };
270 
271 /// Returns string representation.
272 ONIXS_EUREX_ETI_EXPORT std::string enumToString(CrossRequestType::Enum);
273 
274 /// Make it printable using C++ I/O streams.
275 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, CrossRequestType::Enum);
276 
277 /// Type of cross being submitted to a market.
278 struct ONIXS_EUREX_ETI_EXPORT CrossType
279 {
280  /// \copydoc CrossType
281  enum Enum
282  {
283  NoValue = 0xFF, ///< No value.
284  CrossIOC = 2, ///< Immediate-or-cancel-cross.
285  CrossOneSide = 3, ///< One sided cross - unfilled quantity remains active after crossing. Only applicable for
286  ///< CrossRequestType(28771) = 1(Cross Announcement).
287  };
288 };
289 
290 /// Returns string representation.
291 ONIXS_EUREX_ETI_EXPORT std::string enumToString(CrossType::Enum);
292 
293 /// Make it printable using C++ I/O streams.
294 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, CrossType::Enum);
295 
296 /// Indicates SMP involvement.
297 struct ONIXS_EUREX_ETI_EXPORT CrossedIndicator
298 {
299  /// \copydoc CrossedIndicator
300  enum Enum
301  {
302  NoValue = 0xFF, ///< No value.
303  NoCrossing = 0, ///< No crossing (Order not subject to crossing).
304  CrossRejected = 1, ///< Cross rejected (Order subject to crossing and match prevented).
305  };
306 };
307 
308 /// Returns string representation.
309 ONIXS_EUREX_ETI_EXPORT std::string enumToString(CrossedIndicator::Enum);
310 
311 /// Make it printable using C++ I/O streams.
312 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, CrossedIndicator::Enum);
313 
314 /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
315 /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
316 struct ONIXS_EUREX_ETI_EXPORT CustOrderHandlingInst
317 {
318  /// \copydoc CustOrderHandlingInst
319  enum Enum
320  {
321  NoValue = 0x00, ///< No value.
322  W = 'W', ///< Desk.
323  Y = 'Y', ///< Electronic.
324  C = 'C', ///< Vendor-provided Platform billed by Executing Broker.
325  G = 'G', ///< Sponsored Access via Exchange API or FIX provided by Executing Broker.
326  H = 'H', ///< Premium Algorithmic Trading Provider billed by Executing Broker.
327  D = 'D', ///< Other, including Other-provided Screen.
328  };
329 };
330 
331 /// Returns string representation.
332 ONIXS_EUREX_ETI_EXPORT std::string enumToString(CustOrderHandlingInst::Enum);
333 
334 /// Make it printable using C++ I/O streams.
335 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, CustOrderHandlingInst::Enum);
336 
337 /// Reason for deletion.
338 struct ONIXS_EUREX_ETI_EXPORT DeleteReason
339 {
340  /// \copydoc DeleteReason
341  enum Enum
342  {
343  NoValue = 0xFF, ///< No value.
344  NoSpecialReason = 100, ///< Deletion via the TES Delete Request.
345  TASChange = 101, ///< Automatic deletion due to TES Activity State Change.
346  IntradayExpiration = 102, ///< Automatic deletion due to instrument expiration.
347  RiskEvent = 103, ///< Deletion caused by Clearing/Risk stop.
348  StopTrading = 104, ///< Deletion caused by Trading stop.
349  InstrumentDeletion = 105, ///< Deletion of Instrument.
350  InstrumentSuspension = 106, ///< Suspension of Instrument.
351  PreTradeRiskEvent = 107, ///< Deletion caused by a pre-trade risk event.
352  AmendmentReset = 108, ///< Basket amendment cancelled.
353  AmendmentUserCancelled = 109, ///< Amendment cancelled by user action.
354  };
355 };
356 
357 /// Returns string representation.
358 ONIXS_EUREX_ETI_EXPORT std::string enumToString(DeleteReason::Enum);
359 
360 /// Make it printable using C++ I/O streams.
361 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, DeleteReason::Enum);
362 
363 /// Transaction effect on a basket.
364 struct ONIXS_EUREX_ETI_EXPORT EffectOnBasket
365 {
366  /// \copydoc EffectOnBasket
367  enum Enum
368  {
369  NoValue = 0xFF, ///< No value.
370  AddVolume = 1, ///< Add volume.
371  RemoveVolume = 2, ///< Remove volume.
372  };
373 };
374 
375 /// Returns string representation.
376 ONIXS_EUREX_ETI_EXPORT std::string enumToString(EffectOnBasket::Enum);
377 
378 /// Make it printable using C++ I/O streams.
379 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, EffectOnBasket::Enum);
380 
381 /// Enlight RFQ Average Response Rate Ranking.
382 struct ONIXS_EUREX_ETI_EXPORT EnlightRFQAvgRespRateRanking
383 {
384  /// \copydoc EnlightRFQAvgRespRateRanking
385  enum Enum
386  {
387  NoValue = 0xFF, ///< No value.
388  Low = 1, ///< Low.
389  Medium = 2, ///< Medium.
390  High = 3, ///< High.
391  };
392 };
393 
394 /// Returns string representation.
395 ONIXS_EUREX_ETI_EXPORT std::string enumToString(EnlightRFQAvgRespRateRanking::Enum);
396 
397 /// Make it printable using C++ I/O streams.
398 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, EnlightRFQAvgRespRateRanking::Enum);
399 
400 /// Enlight RFQ Average Response Time Ranking.
401 struct ONIXS_EUREX_ETI_EXPORT EnlightRFQAvgRespTimeRanking
402 {
403  /// \copydoc EnlightRFQAvgRespTimeRanking
404  enum Enum
405  {
406  NoValue = 0xFF, ///< No value.
407  Low = 1, ///< Low.
408  Medium = 2, ///< Medium.
409  High = 3, ///< High.
410  };
411 };
412 
413 /// Returns string representation.
414 ONIXS_EUREX_ETI_EXPORT std::string enumToString(EnlightRFQAvgRespTimeRanking::Enum);
415 
416 /// Make it printable using C++ I/O streams.
417 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, EnlightRFQAvgRespTimeRanking::Enum);
418 
419 /// Eurex Volume Ranking.
420 struct ONIXS_EUREX_ETI_EXPORT EurexVolumeRanking
421 {
422  /// \copydoc EurexVolumeRanking
423  enum Enum
424  {
425  NoValue = 0xFF, ///< No value.
426  Low = 1, ///< Low.
427  Medium = 2, ///< Medium.
428  High = 3, ///< High.
429  };
430 };
431 
432 /// Returns string representation.
433 ONIXS_EUREX_ETI_EXPORT std::string enumToString(EurexVolumeRanking::Enum);
434 
435 /// Make it printable using C++ I/O streams.
436 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, EurexVolumeRanking::Enum);
437 
438 /// Code to represent the type of event.
439 struct ONIXS_EUREX_ETI_EXPORT EventType
440 {
441  /// \copydoc EventType
442  enum Enum
443  {
444  NoValue = 0xFF, ///< No value.
445  SwapStartDate = 8, ///< Swap Start Date.
446  SwapEndDate = 9, ///< Swap End Date.
447  };
448 };
449 
450 /// Returns string representation.
451 ONIXS_EUREX_ETI_EXPORT std::string enumToString(EventType::Enum);
452 
453 /// Make it printable using C++ I/O streams.
454 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, EventType::Enum);
455 
456 /// Instructions for order handling, represented as a bit map.
457 struct ONIXS_EUREX_ETI_EXPORT ExecInst
458 {
459  /// \copydoc ExecInst
460  enum Enum
461  {
462  NoValue = 0xFF, ///< No value.
463  H = 1, ///< Persistent Order (FIX value 'H').
464  Q = 2, ///< Non-persistent Order (FIX value 'Q').
465  HQ = 3, ///< Persistent and non-persistent orders affected (FIX value 'H Q').
466  H6 = 5, ///< Persistent and Book or Cancel order (FIX value 'H 6').
467  Q6 = 6, ///< Non-persistent and Book or Cancel order (FIX value 'Q 6').
468  };
469 };
470 
471 /// Returns string representation.
472 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ExecInst::Enum);
473 
474 /// Make it printable using C++ I/O streams.
475 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ExecInst::Enum);
476 
477 /// Code to further qualify the field ExecType (150) of the Execution Report (8) message.
478 struct ONIXS_EUREX_ETI_EXPORT ExecRestatementReason
479 {
480  /// \copydoc ExecRestatementReason
481  enum Enum
482  {
483  NoValue = 0xFF, ///< No value.
484  OrderBookRestatement = 1, ///< Order book restatement.
485  OrderAdded = 101, ///< Order add accepted.
486  OrderModified = 102, ///< Order modify accepted.
487  OrderCancelled = 103, ///< Order delete accepted.
488  IOCOrderCancelled = 105, ///< IOC Order accepted.
489  FOKOrderCancelled = 107, ///< FOK Order accepted.
490  BookOrderExecuted = 108, ///< Book Order executed.
491  ChangedToIOC = 114, ///< Order has been changed to IOC.
492  MemberDisable = 117, ///< Member has been disabled.
493  InstrumentStateChange = 122, ///< Instrument State Change.
494  MarketOrderTriggered = 135, ///< Market Order triggered and executed.
495  CAOOrderActivated = 149, ///< Closing Auction Order has been activated.
496  CAOOrderInactivated = 150, ///< Closing Auction Order has been inactivated.
497  OAOOrderActivated = 151, ///< Opening Auction Order has been activated.
498  OAOOrderInactivated = 152, ///< Opening Auction Order has been inactivated.
499  AAOOrderActivated = 153, ///< Any Auction Order has been activated.
500  AAOOrderInactivated = 154, ///< Any Auction Order has been inactivated.
501  OCOOrderTriggered = 164, ///< One-cancels-the-other Order has been triggered.
502  StopOrderTriggered = 172, ///< Stop Order has been triggered.
503  OwnershipChanged = 181, ///< Ownership Changed.
504  OrderCancellationPending = 197, ///< Pending order deletion.
505  PendingCancellationExecuted = 199, ///< Pending order cancellation processed (end of FREEZE state).
506  BOCOrderCancelled = 212, ///< Book or Cancel Order accepted.
507  PanicCancel = 261, ///< Panic Cancel.
508  MarketOrderUncrossing = 302, ///< Market Order uncrossing.
509  CLIPExecution = 340, ///< CLIP execution after improvement period.
510  CLIPArrangementTimeOut = 343, ///< CLIP Request deleted by arrangement time out.
511  CLIPArrangementValidation = 344, ///< CLIP Request deleted by arrangement validation.
512  CrossOrderAdded = 346, ///< Cross order added.
513  CrossOrderCancelled = 347, ///< Cross order cancelled.
514  };
515 };
516 
517 /// Returns string representation.
518 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ExecRestatementReason::Enum);
519 
520 /// Make it printable using C++ I/O streams.
521 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ExecRestatementReason::Enum);
522 
523 /// The reason why this message was generated.
524 struct ONIXS_EUREX_ETI_EXPORT ExecType
525 {
526  /// \copydoc ExecType
527  enum Enum
528  {
529  NoValue = 0x00, ///< No value.
530  New = '0', ///< New.
531  Canceled = '4', ///< Cancelled.
532  Replaced = '5', ///< Replaced.
533  PendingCancelE = '6', ///< Pending Cancel (e.g. result of Order Cancel Request).
534  Suspended = '9', ///< Suspended.
535  Restated = 'D', ///< Restated.
536  Triggered = 'L', ///< Triggered.
537  Trade = 'F', ///< Trade.
538  };
539 };
540 
541 /// Returns string representation.
542 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ExecType::Enum);
543 
544 /// Make it printable using C++ I/O streams.
545 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ExecType::Enum);
546 
547 /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
548 struct ONIXS_EUREX_ETI_EXPORT ExecutingTraderQualifier
549 {
550  /// \copydoc ExecutingTraderQualifier
551  enum Enum
552  {
553  NoValue = 0xFF, ///< No value.
554  Algo = 22, ///< Algo.
555  Human = 24, ///< Human/Natural person.
556  };
557 };
558 
559 /// Returns string representation.
560 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ExecutingTraderQualifier::Enum);
561 
562 /// Make it printable using C++ I/O streams.
563 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ExecutingTraderQualifier::Enum);
564 
565 /// Type of exercise of an instrument.
566 struct ONIXS_EUREX_ETI_EXPORT ExerciseStyle
567 {
568  /// \copydoc ExerciseStyle
569  enum Enum
570  {
571  NoValue = 0xFF, ///< No value.
572  European = 0, ///< European.
573  American = 1, ///< American.
574  };
575 };
576 
577 /// Returns string representation.
578 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ExerciseStyle::Enum);
579 
580 /// Make it printable using C++ I/O streams.
581 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ExerciseStyle::Enum);
582 
583 /// Indicates whether the order added or removed liquidity.
584 struct ONIXS_EUREX_ETI_EXPORT FillLiquidityInd
585 {
586  /// \copydoc FillLiquidityInd
587  enum Enum
588  {
589  NoValue = 0xFF, ///< No value.
590  AddedLiquidity = 1, ///< Added Liquidity.
591  RemovedLiquidity = 2, ///< Removed Liquidity.
592  Auction = 4, ///< Auction.
593  TriggeredStopOrder = 5, ///< Triggered Stop Order.
594  TriggeredOCOOrder = 6, ///< Triggered OCO Order.
595  TriggeredMarketOrder = 7, ///< Triggered Market Order.
596  };
597 };
598 
599 /// Returns string representation.
600 ONIXS_EUREX_ETI_EXPORT std::string enumToString(FillLiquidityInd::Enum);
601 
602 /// Make it printable using C++ I/O streams.
603 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, FillLiquidityInd::Enum);
604 
605 /// Instruction to show FreeText5.
606 struct ONIXS_EUREX_ETI_EXPORT FreeText5DisclosureInstruction
607 {
608  /// \copydoc FreeText5DisclosureInstruction
609  enum Enum
610  {
611  NoValue = 0xFF, ///< No value.
612  No = 0, ///< No.
613  Yes = 1, ///< Yes.
614  };
615 };
616 
617 /// Returns string representation.
618 ONIXS_EUREX_ETI_EXPORT std::string enumToString(FreeText5DisclosureInstruction::Enum);
619 
620 /// Make it printable using C++ I/O streams.
621 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, FreeText5DisclosureInstruction::Enum);
622 
623 /// Status of ETI Gateway.
624 struct ONIXS_EUREX_ETI_EXPORT GatewayStatus
625 {
626  /// \copydoc GatewayStatus
627  enum Enum
628  {
629  NoValue = 0xFF, ///< No value.
630  Standby = 0, ///< Standby.
631  Active = 1, ///< Active.
632  };
633 };
634 
635 /// Returns string representation.
636 ONIXS_EUREX_ETI_EXPORT std::string enumToString(GatewayStatus::Enum);
637 
638 /// Make it printable using C++ I/O streams.
639 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, GatewayStatus::Enum);
640 
641 /// Hedging method.
642 struct ONIXS_EUREX_ETI_EXPORT HedgeType
643 {
644  /// \copydoc HedgeType
645  enum Enum
646  {
647  NoValue = 0xFF, ///< No value.
648  DurationHedge = 0, ///< Duration Hedge.
649  NominalHedge = 1, ///< Nominal Hedge.
650  PriceFactorHedge = 2, ///< Price Factor Hedge.
651  };
652 };
653 
654 /// Returns string representation.
655 ONIXS_EUREX_ETI_EXPORT std::string enumToString(HedgeType::Enum);
656 
657 /// Make it printable using C++ I/O streams.
658 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, HedgeType::Enum);
659 
660 /// Indication for the hedge transaction.
661 struct ONIXS_EUREX_ETI_EXPORT HedgingInstruction
662 {
663  /// \copydoc HedgingInstruction
664  enum Enum
665  {
666  NoValue = 0xFF, ///< No value.
667  OnClose = 1, ///< Execute hedge transaction in the closing auction of the underlying.
668  };
669 };
670 
671 /// Returns string representation.
672 ONIXS_EUREX_ETI_EXPORT std::string enumToString(HedgingInstruction::Enum);
673 
674 /// Make it printable using C++ I/O streams.
675 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, HedgingInstruction::Enum);
676 
677 /// Indicates whether a option strategy synthetic BBO is used for the price improvement check.
678 struct ONIXS_EUREX_ETI_EXPORT ImpliedCheckPriceIndicator
679 {
680  /// \copydoc ImpliedCheckPriceIndicator
681  enum Enum
682  {
683  NoValue = 0xFF, ///< No value.
684  No = 0, ///< No.
685  Yes = 1, ///< Yes.
686  };
687 };
688 
689 /// Returns string representation.
690 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ImpliedCheckPriceIndicator::Enum);
691 
692 /// Make it printable using C++ I/O streams.
693 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ImpliedCheckPriceIndicator::Enum);
694 
695 /// Indicates that an implied market to be created for either the legs of a multi-leg instrument (Implied-in) or for the
696 /// multi-leg instrument based on the existence of the legs (Implied-out).
697 struct ONIXS_EUREX_ETI_EXPORT ImpliedMarketIndicator
698 {
699  /// \copydoc ImpliedMarketIndicator
700  enum Enum
701  {
702  NoValue = 0xFF, ///< No value.
703  NotImplied = 0, ///< Not implied.
704  ImpliedInOut = 3, ///< Both Implied-in and Implied-out.
705  };
706 };
707 
708 /// Returns string representation.
709 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ImpliedMarketIndicator::Enum);
710 
711 /// Make it printable using C++ I/O streams.
712 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ImpliedMarketIndicator::Enum);
713 
714 /// Role on/for a message.
715 struct ONIXS_EUREX_ETI_EXPORT InputSource
716 {
717  /// \copydoc InputSource
718  enum Enum
719  {
720  NoValue = 0xFF, ///< No value.
721  ClientBroker = 1, ///< Client Broker.
722  ProprietaryBroker = 2, ///< Proprietary Broker.
723  };
724 };
725 
726 /// Returns string representation.
727 ONIXS_EUREX_ETI_EXPORT std::string enumToString(InputSource::Enum);
728 
729 /// Make it printable using C++ I/O streams.
730 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, InputSource::Enum);
731 
732 /// Code to represent the type of instrument attribute.
733 struct ONIXS_EUREX_ETI_EXPORT InstrAttribType
734 {
735  /// \copydoc InstrAttribType
736  enum Enum
737  {
738  NoValue = 0xFF, ///< No value.
739  VariableRate = 5, ///< Variable rate.
740  CouponRate = 100, ///< Coupon rate.
741  OffsetToTheVariableCouponRate = 101, ///< Offset to the variable coupon rate.
742  SwapCustomer1 = 102, ///< Swap Customer 1.
743  SwapCustomer2 = 103, ///< Swap Customer 2.
744  CashBasketReference = 104, ///< Cash Basket Reference.
745  };
746 };
747 
748 /// Returns string representation.
749 ONIXS_EUREX_ETI_EXPORT std::string enumToString(InstrAttribType::Enum);
750 
751 /// Make it printable using C++ I/O streams.
752 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, InstrAttribType::Enum);
753 
754 /// Indicator for checking open orders and quotes.
755 struct ONIXS_EUREX_ETI_EXPORT InventoryCheckType
756 {
757  /// \copydoc InventoryCheckType
758  enum Enum
759  {
760  NoValue = 0xFF, ///< No value.
761  DoNotCheck = 0, ///< Do not check.
762  Check = 1, ///< Check.
763  };
764 };
765 
766 /// Returns string representation.
767 ONIXS_EUREX_ETI_EXPORT std::string enumToString(InventoryCheckType::Enum);
768 
769 /// Make it printable using C++ I/O streams.
770 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, InventoryCheckType::Enum);
771 
772 /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated
773 /// transaction.
774 struct ONIXS_EUREX_ETI_EXPORT LastFragment
775 {
776  /// \copydoc LastFragment
777  enum Enum
778  {
779  NoValue = 0xFF, ///< No value.
780  NotLastMessage = 0, ///< Not Last Message.
781  LastMessage = 1, ///< Last Message.
782  };
783 };
784 
785 /// Returns string representation.
786 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LastFragment::Enum);
787 
788 /// Make it printable using C++ I/O streams.
789 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LastFragment::Enum);
790 
791 /// Last market.
792 struct ONIXS_EUREX_ETI_EXPORT LastMkt
793 {
794  /// \copydoc LastMkt
795  enum Enum
796  {
797  NoValue = 0xFF, ///< No value.
798  XEUR = 1, ///< XEUR.
799  XEEE = 2, ///< XEEE.
800  NODX = 12, ///< NODX.
801  };
802 };
803 
804 /// Returns string representation.
805 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LastMkt::Enum);
806 
807 /// Make it printable using C++ I/O streams.
808 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LastMkt::Enum);
809 
810 /// Instruction to show last deal price.
811 struct ONIXS_EUREX_ETI_EXPORT LastPxDisclosureInstruction
812 {
813  /// \copydoc LastPxDisclosureInstruction
814  enum Enum
815  {
816  NoValue = 0xFF, ///< No value.
817  No = 0, ///< No.
818  Yes = 1, ///< Yes.
819  };
820 };
821 
822 /// Returns string representation.
823 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LastPxDisclosureInstruction::Enum);
824 
825 /// Make it printable using C++ I/O streams.
826 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LastPxDisclosureInstruction::Enum);
827 
828 /// Instruction to show last deal quantity. Can only be set to 1 (Yes) if LastQtyDisclosureInstruction = 1 (Yes).
829 struct ONIXS_EUREX_ETI_EXPORT LastQtyDisclosureInstruction
830 {
831  /// \copydoc LastQtyDisclosureInstruction
832  enum Enum
833  {
834  NoValue = 0xFF, ///< No value.
835  No = 0, ///< No.
836  Yes = 1, ///< Yes.
837  };
838 };
839 
840 /// Returns string representation.
841 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LastQtyDisclosureInstruction::Enum);
842 
843 /// Make it printable using C++ I/O streams.
844 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LastQtyDisclosureInstruction::Enum);
845 
846 /// Leaves quantity disclosure instruction.
847 struct ONIXS_EUREX_ETI_EXPORT LeavesQtyDisclosureInstruction
848 {
849  /// \copydoc LeavesQtyDisclosureInstruction
850  enum Enum
851  {
852  NoValue = 0xFF, ///< No value.
853  No = 0, ///< No.
854  Yes = 1, ///< Yes.
855  };
856 };
857 
858 /// Returns string representation.
859 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LeavesQtyDisclosureInstruction::Enum);
860 
861 /// Make it printable using C++ I/O streams.
862 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LeavesQtyDisclosureInstruction::Enum);
863 
864 /// Role on/for a message.
865 struct ONIXS_EUREX_ETI_EXPORT LegInputSource
866 {
867  /// \copydoc LegInputSource
868  enum Enum
869  {
870  NoValue = 0xFF, ///< No value.
871  ClientBroker = 1, ///< Client Broker.
872  ProprietaryBroker = 2, ///< Proprietary Broker.
873  BuySide = 3, ///< Buy side.
874  SellSide = 4, ///< Sell side.
875  };
876 };
877 
878 /// Returns string representation.
879 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LegInputSource::Enum);
880 
881 /// Make it printable using C++ I/O streams.
882 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LegInputSource::Enum);
883 
884 /// Leg-specific field used for Eurex position management purposes and indicates whether the leg is submitted to open or
885 /// close a position.
886 struct ONIXS_EUREX_ETI_EXPORT LegPositionEffect
887 {
888  /// \copydoc LegPositionEffect
889  enum Enum
890  {
891  NoValue = 0x00, ///< No value.
892  Close = 'C', ///< Close.
893  Open = 'O', ///< Open.
894  };
895 };
896 
897 /// Returns string representation.
898 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LegPositionEffect::Enum);
899 
900 /// Make it printable using C++ I/O streams.
901 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LegPositionEffect::Enum);
902 
903 /// Indicates type of leg.
904 struct ONIXS_EUREX_ETI_EXPORT LegSecurityType
905 {
906  /// \copydoc LegSecurityType
907  enum Enum
908  {
909  NoValue = 0xFF, ///< No value.
910  MultilegInstrument = 1, ///< Multileg Instrument.
911  UnderlyingLeg = 2, ///< Underlying Leg.
912  };
913 };
914 
915 /// Returns string representation.
916 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LegSecurityType::Enum);
917 
918 /// Make it printable using C++ I/O streams.
919 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LegSecurityType::Enum);
920 
921 /// The side of the individual leg of a strategy.
922 struct ONIXS_EUREX_ETI_EXPORT LegSide
923 {
924  /// \copydoc LegSide
925  enum Enum
926  {
927  NoValue = 0xFF, ///< No value.
928  Buy = 1, ///< Buy.
929  Sell = 2, ///< Sell.
930  };
931 };
932 
933 /// Returns string representation.
934 ONIXS_EUREX_ETI_EXPORT std::string enumToString(LegSide::Enum);
935 
936 /// Make it printable using C++ I/O streams.
937 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, LegSide::Enum);
938 
939 /// List update action.
940 struct ONIXS_EUREX_ETI_EXPORT ListUpdateAction
941 {
942  /// \copydoc ListUpdateAction
943  enum Enum
944  {
945  NoValue = 0x00, ///< No value.
946  Add = 'A', ///< Add (Invocation).
947  Delete = 'D', ///< Delete (Release).
948  };
949 };
950 
951 /// Returns string representation.
952 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ListUpdateAction::Enum);
953 
954 /// Make it printable using C++ I/O streams.
955 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ListUpdateAction::Enum);
956 
957 /// Type of market data.
958 struct ONIXS_EUREX_ETI_EXPORT MDBookType
959 {
960  /// \copydoc MDBookType
961  enum Enum
962  {
963  NoValue = 0xFF, ///< No value.
964  TopOfBook = 1, ///< Top of book.
965  PriceDepth = 2, ///< Price depth (aggregated).
966  };
967 };
968 
969 /// Returns string representation.
970 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MDBookType::Enum);
971 
972 /// Make it printable using C++ I/O streams.
973 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MDBookType::Enum);
974 
975 /// Sub-type (qualifier) of market data.
976 struct ONIXS_EUREX_ETI_EXPORT MDSubBookType
977 {
978  /// \copydoc MDSubBookType
979  enum Enum
980  {
981  NoValue = 0xFF, ///< No value.
982  Implied = 1, ///< Implied.
983  VolumeWeightedAverage = 2, ///< Volume Weighted Average.
984  };
985 };
986 
987 /// Returns string representation.
988 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MDSubBookType::Enum);
989 
990 /// Make it printable using C++ I/O streams.
991 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MDSubBookType::Enum);
992 
993 /// Action for reaching risk limit.
994 struct ONIXS_EUREX_ETI_EXPORT MMRiskLimitActionType
995 {
996  /// \copydoc MMRiskLimitActionType
997  enum Enum
998  {
999  NoValue = 0xFF, ///< No value.
1000  QuoteInactivate = 1, ///< Quote inactivate.
1001  QuoteInactivateAndDelete = 2, ///< Quote inactivate and delete.
1002  };
1003 };
1004 
1005 /// Returns string representation.
1006 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MMRiskLimitActionType::Enum);
1007 
1008 /// Make it printable using C++ I/O streams.
1009 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MMRiskLimitActionType::Enum);
1010 
1011 /// Market ID.
1012 struct ONIXS_EUREX_ETI_EXPORT MarketId
1013 {
1014  /// \copydoc MarketId
1015  enum Enum
1016  {
1017  NoValue = 0xFF, ///< No value.
1018  XEUR = 1, ///< XEUR.
1019  XEEE = 2, ///< XEEE.
1020  NODX = 12, ///< NODX.
1021  };
1022 };
1023 
1024 /// Returns string representation.
1025 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MarketId::Enum);
1026 
1027 /// Make it printable using C++ I/O streams.
1028 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MarketId::Enum);
1029 
1030 /// Reason for mass cancellation.
1031 struct ONIXS_EUREX_ETI_EXPORT MassActionReason
1032 {
1033  /// \copydoc MassActionReason
1034  enum Enum
1035  {
1036  NoValue = 0xFF, ///< No value.
1037  NoSpecialReason = 0, ///< No special reason.
1038  StopTrading = 1, ///< Trading was stopped.
1039  Emergency = 2, ///< Emergency.
1040  MarketMakerProtection = 3, ///< Market Maker Protection.
1041  SessionLoss = 6, ///< Session loss or logout.
1042  DuplicateSessionLogin = 7, ///< Duplicate Session Login.
1043  ClearingRiskControl = 8, ///< Clearing Risk Control.
1044  InternalConnectionLoss = 100, ///< Internal connection loss.
1045  ProductStateHalt = 105, ///< Product State Halt.
1046  ProductStateHoliday = 106, ///< Product State Holiday.
1047  InstrumentSuspended = 107, ///< Instrument Suspended.
1048  ComplexInstrumentDeletion = 109, ///< Complex Instrument Deletion.
1049  VolatilityInterruption = 110, ///< Volatility Interruption.
1050  ProductTemporarilyNotTradeable = 111, ///< Product temporarily not tradeable.
1051  MemberDisable = 117, ///< Member has been disabled.
1052  ScaledSimpleInstrumentDeletion = 121, ///< Scaled Simple Instrument Deletion.
1053  };
1054 };
1055 
1056 /// Returns string representation.
1057 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MassActionReason::Enum);
1058 
1059 /// Make it printable using C++ I/O streams.
1060 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MassActionReason::Enum);
1061 
1062 /// Restriction for MassActionType (1373) = Release_quotes (2).
1063 struct ONIXS_EUREX_ETI_EXPORT MassActionSubType
1064 {
1065  /// \copydoc MassActionSubType
1066  enum Enum
1067  {
1068  NoValue = 0xFF, ///< No value.
1069  BookOrCancel = 1, ///< Book or cancel.
1070  };
1071 };
1072 
1073 /// Returns string representation.
1074 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MassActionSubType::Enum);
1075 
1076 /// Make it printable using C++ I/O streams.
1077 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MassActionSubType::Enum);
1078 
1079 /// Specifies the type of action requested.
1080 struct ONIXS_EUREX_ETI_EXPORT MassActionType
1081 {
1082  /// \copydoc MassActionType
1083  enum Enum
1084  {
1085  NoValue = 0xFF, ///< No value.
1086  SuspendQuotes = 1, ///< Suspend quotes.
1087  ReleaseQuotes = 2, ///< Release quotes from suspension.
1088  SuspendDeleteQuotes = 3, ///< Suspend and delete Quotes.
1089  };
1090 };
1091 
1092 /// Returns string representation.
1093 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MassActionType::Enum);
1094 
1095 /// Make it printable using C++ I/O streams.
1096 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MassActionType::Enum);
1097 
1098 /// Indicates the auction type the trade originates from.
1099 struct ONIXS_EUREX_ETI_EXPORT MatchSubType
1100 {
1101  /// \copydoc MatchSubType
1102  enum Enum
1103  {
1104  NoValue = 0xFF, ///< No value.
1105  OpeningAuction = 1, ///< Opening auction.
1106  ClosingAuction = 2, ///< Closing auction.
1107  IntradayAuction = 3, ///< Intraday auction.
1108  CircuitBreakerAuction = 4, ///< Circuit Breaker auction.
1109  OutsideBBO = 6, ///< CLIP matching outside BBO.
1110  };
1111 };
1112 
1113 /// Returns string representation.
1114 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MatchSubType::Enum);
1115 
1116 /// Make it printable using C++ I/O streams.
1117 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MatchSubType::Enum);
1118 
1119 /// The point in the matching process at which this trade was matched.
1120 struct ONIXS_EUREX_ETI_EXPORT MatchType
1121 {
1122  /// \copydoc MatchType
1123  enum Enum
1124  {
1125  NoValue = 0xFF, ///< No value.
1126  ConfirmedTradeReport = 3, ///< Confirmed Trade Report (reporting from recognized markets).
1127  AutoMatchIncoming = 4, ///< Auto-match incoming order.
1128  CrossAuction = 5, ///< Cross Auction.
1129  CallAuction = 7, ///< Call Auction.
1130  AutoMatchResting = 11, ///< Auto match resting order.
1131  LiquidityImprovementCross = 13, ///< Liquidity Improvement Cross.
1132  };
1133 };
1134 
1135 /// Returns string representation.
1136 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MatchType::Enum);
1137 
1138 /// Make it printable using C++ I/O streams.
1139 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MatchType::Enum);
1140 
1141 /// Informs if trading is active for grouping of Eurex products.
1142 struct ONIXS_EUREX_ETI_EXPORT MatchingEngineStatus
1143 {
1144  /// \copydoc MatchingEngineStatus
1145  enum Enum
1146  {
1147  NoValue = 0xFF, ///< No value.
1148  Unavailable = 0, ///< Unavailable.
1149  Available = 1, ///< Available.
1150  };
1151 };
1152 
1153 /// Returns string representation.
1154 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MatchingEngineStatus::Enum);
1155 
1156 /// Make it printable using C++ I/O streams.
1157 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MatchingEngineStatus::Enum);
1158 
1159 /// Receiver of a message.
1160 struct ONIXS_EUREX_ETI_EXPORT MessageEventSource
1161 {
1162  /// \copydoc MessageEventSource
1163  enum Enum
1164  {
1165  NoValue = 0x00, ///< No value.
1166  BroadcastToInitiator = 'I', ///< Broadcast to initiator.
1167  BroadcastToApprover = 'A', ///< Broadcast to approver.
1168  BroadcastToRequester = 'R', ///< Broadcast to requester.
1169  BroadcastToQuoteSubmitter = 'Q', ///< Broadcast to quote submitter.
1170  };
1171 };
1172 
1173 /// Returns string representation.
1174 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MessageEventSource::Enum);
1175 
1176 /// Make it printable using C++ I/O streams.
1177 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MessageEventSource::Enum);
1178 
1179 /// Indicates if the trade resulted from a single order or a multi leg order.
1180 struct ONIXS_EUREX_ETI_EXPORT MultiLegReportingType
1181 {
1182  /// \copydoc MultiLegReportingType
1183  enum Enum
1184  {
1185  NoValue = 0xFF, ///< No value.
1186  SingleSecurity = 1, ///< Single instrument.
1187  IndividualLegOfAMultilegSecurity = 2, ///< Complex instrument.
1188  };
1189 };
1190 
1191 /// Returns string representation.
1192 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MultiLegReportingType::Enum);
1193 
1194 /// Make it printable using C++ I/O streams.
1195 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MultiLegReportingType::Enum);
1196 
1197 /// Specifies if a strategy is temporarily (user-defined) or permanently (predefined) available.
1198 struct ONIXS_EUREX_ETI_EXPORT MultilegModel
1199 {
1200  /// \copydoc MultilegModel
1201  enum Enum
1202  {
1203  NoValue = 0xFF, ///< No value.
1204  PredefinedMultilegSecurity = 0, ///< Predefined Multileg Security.
1205  UserDefinedMultleg = 1, ///< User-defined Multleg Security.
1206  };
1207 };
1208 
1209 /// Returns string representation.
1210 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MultilegModel::Enum);
1211 
1212 /// Make it printable using C++ I/O streams.
1213 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MultilegModel::Enum);
1214 
1215 /// Price decomposition method for legs of a complex instrument.
1216 struct ONIXS_EUREX_ETI_EXPORT MultilegPriceModel
1217 {
1218  /// \copydoc MultilegPriceModel
1219  enum Enum
1220  {
1221  NoValue = 0xFF, ///< No value.
1222  Standard = 0, ///< leg level prices provided by system.
1223  UserDefined = 1, ///< leg level prices provided by user.
1224  };
1225 };
1226 
1227 /// Returns string representation.
1228 ONIXS_EUREX_ETI_EXPORT std::string enumToString(MultilegPriceModel::Enum);
1229 
1230 /// Make it printable using C++ I/O streams.
1231 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, MultilegPriceModel::Enum);
1232 
1233 /// State of the News Retransmission Service.
1234 struct ONIXS_EUREX_ETI_EXPORT NewsRtmServiceStatus
1235 {
1236  /// \copydoc NewsRtmServiceStatus
1237  enum Enum
1238  {
1239  NoValue = 0xFF, ///< No value.
1240  Unavailable = 0, ///< Unavailable.
1241  Available = 1, ///< Available.
1242  };
1243 };
1244 
1245 /// Returns string representation.
1246 ONIXS_EUREX_ETI_EXPORT std::string enumToString(NewsRtmServiceStatus::Enum);
1247 
1248 /// Make it printable using C++ I/O streams.
1249 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, NewsRtmServiceStatus::Enum);
1250 
1251 /// Instruction to show total number of Respondents in a SRQS event.
1252 struct ONIXS_EUREX_ETI_EXPORT NumberOfRespDisclosureInstruction
1253 {
1254  /// \copydoc NumberOfRespDisclosureInstruction
1255  enum Enum
1256  {
1257  NoValue = 0xFF, ///< No value.
1258  No = 0, ///< No.
1259  Yes = 1, ///< Yes.
1260  };
1261 };
1262 
1263 /// Returns string representation.
1264 ONIXS_EUREX_ETI_EXPORT std::string enumToString(NumberOfRespDisclosureInstruction::Enum);
1265 
1266 /// Make it printable using C++ I/O streams.
1267 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, NumberOfRespDisclosureInstruction::Enum);
1268 
1269 /// OfferPx is locked.
1270 struct ONIXS_EUREX_ETI_EXPORT OfferPxIsLocked
1271 {
1272  /// \copydoc OfferPxIsLocked
1273  enum Enum
1274  {
1275  NoValue = 0xFF, ///< No value.
1276  No = 0, ///< No.
1277  Yes = 1, ///< Yes.
1278  };
1279 };
1280 
1281 /// Returns string representation.
1282 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OfferPxIsLocked::Enum);
1283 
1284 /// Make it printable using C++ I/O streams.
1285 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OfferPxIsLocked::Enum);
1286 
1287 /// Indicates whether the counterparties have the right for early termination.
1288 struct ONIXS_EUREX_ETI_EXPORT OptionalEarlyTerminationIndicator
1289 {
1290  /// \copydoc OptionalEarlyTerminationIndicator
1291  enum Enum
1292  {
1293  NoValue = 0xFF, ///< No value.
1294  No = 0, ///< No.
1295  Yes = 1, ///< Yes.
1296  };
1297 };
1298 
1299 /// Returns string representation.
1300 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OptionalEarlyTerminationIndicator::Enum);
1301 
1302 /// Make it printable using C++ I/O streams.
1303 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OptionalEarlyTerminationIndicator::Enum);
1304 
1305 /// Conveys the current status of an order.
1306 struct ONIXS_EUREX_ETI_EXPORT OrdStatus
1307 {
1308  /// \copydoc OrdStatus
1309  enum Enum
1310  {
1311  NoValue = 0x00, ///< No value.
1312  New = '0', ///< New.
1313  PartiallyFilled = '1', ///< Partially filled.
1314  Filled = '2', ///< Filled.
1315  Canceled = '4', ///< Cancelled.
1316  PendingCancel = '6', ///< Pending Cancel (i.e. result of Order Cancel Request).
1317  Suspended = '9', ///< Suspended.
1318  };
1319 };
1320 
1321 /// Returns string representation.
1322 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrdStatus::Enum);
1323 
1324 /// Make it printable using C++ I/O streams.
1325 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrdStatus::Enum);
1326 
1327 /// Order type.
1328 struct ONIXS_EUREX_ETI_EXPORT OrdType
1329 {
1330  /// \copydoc OrdType
1331  enum Enum
1332  {
1333  NoValue = 0xFF, ///< No value.
1334  Market = 1, ///< Market.
1335  Limit = 2, ///< Limit.
1336  Stop = 3, ///< Stop.
1337  StopLimit = 4, ///< Stop Limit.
1338  };
1339 };
1340 
1341 /// Returns string representation.
1342 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrdType::Enum);
1343 
1344 /// Make it printable using C++ I/O streams.
1345 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrdType::Enum);
1346 
1347 /// Order attribute liquidity provision.
1348 struct ONIXS_EUREX_ETI_EXPORT OrderAttributeLiquidityProvision
1349 {
1350  /// \copydoc OrderAttributeLiquidityProvision
1351  enum Enum
1352  {
1353  NoValue = 0xFF, ///< No value.
1354  Y = 1, ///< Liquidity provision.
1355  N = 0, ///< No liquidity provision.
1356  };
1357 };
1358 
1359 /// Returns string representation.
1360 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderAttributeLiquidityProvision::Enum);
1361 
1362 /// Make it printable using C++ I/O streams.
1363 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderAttributeLiquidityProvision::Enum);
1364 
1365 /// Order attribute risk reduction.
1366 struct ONIXS_EUREX_ETI_EXPORT OrderAttributeRiskReduction
1367 {
1368  /// \copydoc OrderAttributeRiskReduction
1369  enum Enum
1370  {
1371  NoValue = 0xFF, ///< No value.
1372  Y = 1, ///< Risk reduction.
1373  N = 0, ///< No risk reduction.
1374  };
1375 };
1376 
1377 /// Returns string representation.
1378 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderAttributeRiskReduction::Enum);
1379 
1380 /// Make it printable using C++ I/O streams.
1381 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderAttributeRiskReduction::Enum);
1382 
1383 /// Indicates if the trade notification results from an order or quote.
1384 struct ONIXS_EUREX_ETI_EXPORT OrderCategory
1385 {
1386  /// \copydoc OrderCategory
1387  enum Enum
1388  {
1389  NoValue = 0x00, ///< No value.
1390  Order = '1', ///< Order.
1391  Quote = '2', ///< Quote.
1392  };
1393 };
1394 
1395 /// Returns string representation.
1396 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderCategory::Enum);
1397 
1398 /// Make it printable using C++ I/O streams.
1399 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderCategory::Enum);
1400 
1401 /// Action that caused the event to occur.
1402 struct ONIXS_EUREX_ETI_EXPORT OrderEventReason
1403 {
1404  /// \copydoc OrderEventReason
1405  enum Enum
1406  {
1407  NoValue = 0xFF, ///< No value.
1408  SMP = 100, ///< SMP event.
1409  };
1410 };
1411 
1412 /// Returns string representation.
1413 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderEventReason::Enum);
1414 
1415 /// Make it printable using C++ I/O streams.
1416 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderEventReason::Enum);
1417 
1418 /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
1419 struct ONIXS_EUREX_ETI_EXPORT OrderOrigination
1420 {
1421  /// \copydoc OrderOrigination
1422  enum Enum
1423  {
1424  NoValue = 0xFF, ///< No value.
1425  DirectAccessOrSponsoredAccessCustomer = 5, ///< Order received from a direct access customer.
1426  };
1427 };
1428 
1429 /// Returns string representation.
1430 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderOrigination::Enum);
1431 
1432 /// Make it printable using C++ I/O streams.
1433 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderOrigination::Enum);
1434 
1435 /// Instruction to show total quantity.
1436 struct ONIXS_EUREX_ETI_EXPORT OrderQtyDisclosureInstruction
1437 {
1438  /// \copydoc OrderQtyDisclosureInstruction
1439  enum Enum
1440  {
1441  NoValue = 0xFF, ///< No value.
1442  No = 0, ///< No.
1443  Yes = 1, ///< Yes.
1444  };
1445 };
1446 
1447 /// Returns string representation.
1448 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderQtyDisclosureInstruction::Enum);
1449 
1450 /// Make it printable using C++ I/O streams.
1451 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderQtyDisclosureInstruction::Enum);
1452 
1453 /// OrderQty is locked.
1454 struct ONIXS_EUREX_ETI_EXPORT OrderQtyIsLocked
1455 {
1456  /// \copydoc OrderQtyIsLocked
1457  enum Enum
1458  {
1459  NoValue = 0xFF, ///< No value.
1460  No = 0, ///< No.
1461  Yes = 1, ///< Yes.
1462  };
1463 };
1464 
1465 /// Returns string representation.
1466 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderQtyIsLocked::Enum);
1467 
1468 /// Make it printable using C++ I/O streams.
1469 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderQtyIsLocked::Enum);
1470 
1471 /// Indicates if the participant application is an order routing system.
1472 struct ONIXS_EUREX_ETI_EXPORT OrderRoutingIndicator
1473 {
1474  /// \copydoc OrderRoutingIndicator
1475  enum Enum
1476  {
1477  NoValue = 0x00, ///< No value.
1478  Yes = 'Y', ///< Yes.
1479  No = 'N', ///< No.
1480  };
1481 };
1482 
1483 /// Returns string representation.
1484 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderRoutingIndicator::Enum);
1485 
1486 /// Make it printable using C++ I/O streams.
1487 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderRoutingIndicator::Enum);
1488 
1489 /// Side of the order in the original Eurex strategy.
1490 struct ONIXS_EUREX_ETI_EXPORT OrderSide
1491 {
1492  /// \copydoc OrderSide
1493  enum Enum
1494  {
1495  NoValue = 0xFF, ///< No value.
1496  Buy = 1, ///< Buy.
1497  Sell = 2, ///< Sell.
1498  };
1499 };
1500 
1501 /// Returns string representation.
1502 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OrderSide::Enum);
1503 
1504 /// Make it printable using C++ I/O streams.
1505 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OrderSide::Enum);
1506 
1507 /// Ownership indicator.
1508 struct ONIXS_EUREX_ETI_EXPORT OwnershipIndicator
1509 {
1510  /// \copydoc OwnershipIndicator
1511  enum Enum
1512  {
1513  NoValue = 0xFF, ///< No value.
1514  NoChangeOfOwnership = 0, ///< Do not change ownership.
1515  ChangeToExecutingTrader = 1, ///< Change ownership to executing party (User ID).
1516  };
1517 };
1518 
1519 /// Returns string representation.
1520 ONIXS_EUREX_ETI_EXPORT std::string enumToString(OwnershipIndicator::Enum);
1521 
1522 /// Make it printable using C++ I/O streams.
1523 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, OwnershipIndicator::Enum);
1524 
1525 /// Party action type.
1526 struct ONIXS_EUREX_ETI_EXPORT PartyActionType
1527 {
1528  /// \copydoc PartyActionType
1529  enum Enum
1530  {
1531  NoValue = 0xFF, ///< No value.
1532  HaltTrading = 1, ///< Halt trading.
1533  Reinstate = 2, ///< Reinstate.
1534  };
1535 };
1536 
1537 /// Returns string representation.
1538 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyActionType::Enum);
1539 
1540 /// Make it printable using C++ I/O streams.
1541 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyActionType::Enum);
1542 
1543 /// Party detail role qualifier.
1544 struct ONIXS_EUREX_ETI_EXPORT PartyDetailRoleQualifier
1545 {
1546  /// \copydoc PartyDetailRoleQualifier
1547  enum Enum
1548  {
1549  NoValue = 0xFF, ///< No value.
1550  Trader = 10, ///< Trader.
1551  HeadTrader = 11, ///< Head Trader.
1552  Supervisor = 12, ///< Supervisor.
1553  };
1554 };
1555 
1556 /// Returns string representation.
1557 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyDetailRoleQualifier::Enum);
1558 
1559 /// Make it printable using C++ I/O streams.
1560 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyDetailRoleQualifier::Enum);
1561 
1562 /// Party detail status.
1563 struct ONIXS_EUREX_ETI_EXPORT PartyDetailStatus
1564 {
1565  /// \copydoc PartyDetailStatus
1566  enum Enum
1567  {
1568  NoValue = 0xFF, ///< No value.
1569  Active = 0, ///< Active.
1570  Suspend = 1, ///< Suspend.
1571  Rejected = 2, ///< Rejected.
1572  };
1573 };
1574 
1575 /// Returns string representation.
1576 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyDetailStatus::Enum);
1577 
1578 /// Make it printable using C++ I/O streams.
1579 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyDetailStatus::Enum);
1580 
1581 /// Reason for a responder reject.
1582 struct ONIXS_EUREX_ETI_EXPORT PartyDetailStatusInformation
1583 {
1584  /// \copydoc PartyDetailStatusInformation
1585  enum Enum
1586  {
1587  NoValue = 0xFF, ///< No value.
1588  TRRTHRESHOLDTOOBIG = 1, ///< High TRR (TradeToRequestRatio) threshold.
1589  BLOCKALLANONYMOUS = 2, ///< Anonymous negotiation blocked by responder.
1590  };
1591 };
1592 
1593 /// Returns string representation.
1594 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyDetailStatusInformation::Enum);
1595 
1596 /// Make it printable using C++ I/O streams.
1597 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyDetailStatusInformation::Enum);
1598 
1599 /// Entering Business Unit.
1600 struct ONIXS_EUREX_ETI_EXPORT PartyIdEnteringFirm
1601 {
1602  /// \copydoc PartyIdEnteringFirm
1603  enum Enum
1604  {
1605  NoValue = 0xFF, ///< No value.
1606  Participant = 1, ///< Participant.
1607  MarketSupervision = 2, ///< Market Supervision.
1608  };
1609 };
1610 
1611 /// Returns string representation.
1612 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyIdEnteringFirm::Enum);
1613 
1614 /// Make it printable using C++ I/O streams.
1615 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyIdEnteringFirm::Enum);
1616 
1617 /// Party ID origination market.
1618 struct ONIXS_EUREX_ETI_EXPORT PartyIdOriginationMarket
1619 {
1620  /// \copydoc PartyIdOriginationMarket
1621  enum Enum
1622  {
1623  NoValue = 0xFF, ///< No value.
1624  XKFE = 1, ///< Korea Exchange.
1625  };
1626 };
1627 
1628 /// Returns string representation.
1629 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyIdOriginationMarket::Enum);
1630 
1631 /// Make it printable using C++ I/O streams.
1632 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyIdOriginationMarket::Enum);
1633 
1634 /// Settlement institution.
1635 struct ONIXS_EUREX_ETI_EXPORT PartyIdSettlementLocation
1636 {
1637  /// \copydoc PartyIdSettlementLocation
1638  enum Enum
1639  {
1640  NoValue = 0xFF, ///< No value.
1641  ClearstremBankingFrankfurt = 1, ///< Clearstrem Banking Frankfurt.
1642  ClearstremBankingLuxemburg = 2, ///< Clearstrem Banking Luxemburg.
1643  CLSGroup = 3, ///< CLS Group.
1644  Euroclear = 4, ///< Euroclear.
1645  };
1646 };
1647 
1648 /// Returns string representation.
1649 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyIdSettlementLocation::Enum);
1650 
1651 /// Make it printable using C++ I/O streams.
1652 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyIdSettlementLocation::Enum);
1653 
1654 /// Party ID investment decision maker qualifier.
1655 struct ONIXS_EUREX_ETI_EXPORT PartyIdInvestmentDecisionMakerQualifier
1656 {
1657  /// \copydoc PartyIdInvestmentDecisionMakerQualifier
1658  enum Enum
1659  {
1660  NoValue = 0xFF, ///< No value.
1661  Algo = 22, ///< Algo.
1662  Human = 24, ///< Human/Natural person.
1663  };
1664 };
1665 
1666 /// Returns string representation.
1667 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyIdInvestmentDecisionMakerQualifier::Enum);
1668 
1669 /// Make it printable using C++ I/O streams.
1670 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyIdInvestmentDecisionMakerQualifier::Enum);
1671 
1672 /// Instruction to show buy-side user information.
1673 struct ONIXS_EUREX_ETI_EXPORT PartyOrderOriginationDisclosureInstruction
1674 {
1675  /// \copydoc PartyOrderOriginationDisclosureInstruction
1676  enum Enum
1677  {
1678  NoValue = 0xFF, ///< No value.
1679  No = 0, ///< No.
1680  Yes = 1, ///< Yes.
1681  };
1682 };
1683 
1684 /// Returns string representation.
1685 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartyOrderOriginationDisclosureInstruction::Enum);
1686 
1687 /// Make it printable using C++ I/O streams.
1688 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartyOrderOriginationDisclosureInstruction::Enum);
1689 
1690 /// Party sub-type.
1691 struct ONIXS_EUREX_ETI_EXPORT PartySubIdType
1692 {
1693  /// \copydoc PartySubIdType
1694  enum Enum
1695  {
1696  NoValue = 0xFF, ///< No value.
1697  Buyer = 14001, ///< Buyer.
1698  Seller = 14002, ///< Seller.
1699  };
1700 };
1701 
1702 /// Returns string representation.
1703 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PartySubIdType::Enum);
1704 
1705 /// Make it printable using C++ I/O streams.
1706 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PartySubIdType::Enum);
1707 
1708 /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a
1709 /// position.
1710 struct ONIXS_EUREX_ETI_EXPORT PositionEffect
1711 {
1712  /// \copydoc PositionEffect
1713  enum Enum
1714  {
1715  NoValue = 0x00, ///< No value.
1716  Close = 'C', ///< Close.
1717  Open = 'O', ///< Open.
1718  };
1719 };
1720 
1721 /// Returns string representation.
1722 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PositionEffect::Enum);
1723 
1724 /// Make it printable using C++ I/O streams.
1725 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PositionEffect::Enum);
1726 
1727 /// Price disclosure instruction.
1728 struct ONIXS_EUREX_ETI_EXPORT PriceDisclosureInstruction
1729 {
1730  /// \copydoc PriceDisclosureInstruction
1731  enum Enum
1732  {
1733  NoValue = 0xFF, ///< No value.
1734  No = 0, ///< No.
1735  Yes = 1, ///< Yes.
1736  };
1737 };
1738 
1739 /// Returns string representation.
1740 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PriceDisclosureInstruction::Enum);
1741 
1742 /// Make it printable using C++ I/O streams.
1743 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PriceDisclosureInstruction::Enum);
1744 
1745 /// Indicator how price validity check should be performed by the exchange.
1746 struct ONIXS_EUREX_ETI_EXPORT PriceValidityCheckType
1747 {
1748  /// \copydoc PriceValidityCheckType
1749  enum Enum
1750  {
1751  NoValue = 0xFF, ///< No value.
1752  None = 0, ///< None.
1753  Optional = 1, ///< Optional.
1754  Mandatory = 2, ///< Mandatory.
1755  };
1756 };
1757 
1758 /// Returns string representation.
1759 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PriceValidityCheckType::Enum);
1760 
1761 /// Make it printable using C++ I/O streams.
1762 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PriceValidityCheckType::Enum);
1763 
1764 /// This field qualifies an instrument type on Eurex.
1765 struct ONIXS_EUREX_ETI_EXPORT ProductComplex
1766 {
1767  /// \copydoc ProductComplex
1768  enum Enum
1769  {
1770  NoValue = 0xFF, ///< No value.
1771  SimpleInstrument = 1, ///< Simple instrument.
1772  StandardOptionStrategy = 2, ///< Standard Option Strategy.
1773  NonStandardOptionStrategy = 3, ///< Non-Standard Option Strategy.
1774  VolatilityStrategy = 4, ///< Volatility Strategy.
1775  FuturesSpread = 5, ///< Futures Spread.
1776  InterProductSpread = 6, ///< Inter-Product Spread.
1777  StandardFutureStrategy = 7, ///< Standard Future Strategy.
1778  PackAndBundle = 8, ///< Pack and Bundle.
1779  Strip = 9, ///< Strip.
1780  FlexibleSimpleInstrument = 10, ///< Flexible Simple Instrument.
1781  CommodityStrip = 11, ///< Commodity Strip.
1782  ScaledSimpleInstrument = 12, ///< Scaled Simple Instrument.
1783  NonStandardVolatilityStrategy = 13, ///< Non-Standard Volatility Strategy.
1784  TotalReturnFutureStrategy = 14, ///< Total Return Future Strategy.
1785  };
1786 };
1787 
1788 /// Returns string representation.
1789 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ProductComplex::Enum);
1790 
1791 /// Make it printable using C++ I/O streams.
1792 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ProductComplex::Enum);
1793 
1794 /// Indicates whether an option contract is a put or call.
1795 struct ONIXS_EUREX_ETI_EXPORT PutOrCall
1796 {
1797  /// \copydoc PutOrCall
1798  enum Enum
1799  {
1800  NoValue = 0xFF, ///< No value.
1801  Put = 0, ///< Put.
1802  Call = 1, ///< Call.
1803  };
1804 };
1805 
1806 /// Returns string representation.
1807 ONIXS_EUREX_ETI_EXPORT std::string enumToString(PutOrCall::Enum);
1808 
1809 /// Make it printable using C++ I/O streams.
1810 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, PutOrCall::Enum);
1811 
1812 /// Reason for quote cancellation.
1813 struct ONIXS_EUREX_ETI_EXPORT QuoteCancelReason
1814 {
1815  /// \copydoc QuoteCancelReason
1816  enum Enum
1817  {
1818  NoValue = 0xFF, ///< No value.
1819  Expired = 5, ///< Expired.
1820  };
1821 };
1822 
1823 /// Returns string representation.
1824 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteCancelReason::Enum);
1825 
1826 /// Make it printable using C++ I/O streams.
1827 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteCancelReason::Enum);
1828 
1829 /// Status of the quote.
1830 struct ONIXS_EUREX_ETI_EXPORT QuoteCondition
1831 {
1832  /// \copydoc QuoteCondition
1833  enum Enum
1834  {
1835  NoValue = 0x00, ///< No value.
1836  Active = 'A', ///< Active.
1837  Closed = 'B', ///< Closed.
1838  Suspended = 'z', ///< Suspended.
1839  Expired = '8', ///< Expired.
1840  };
1841 };
1842 
1843 /// Returns string representation.
1844 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteCondition::Enum);
1845 
1846 /// Make it printable using C++ I/O streams.
1847 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteCondition::Enum);
1848 
1849 /// Reason code indicating why the quote entry has been rejected.
1850 struct ONIXS_EUREX_ETI_EXPORT QuoteEntryRejectReason
1851 {
1852  /// \copydoc QuoteEntryRejectReason
1853  enum Enum
1854  {
1855  NoValue = 0xFF, ///< No value.
1856  UnknownSecurity = 1, ///< Unknown security.
1857  DuplicateQuote = 6, ///< Duplicate quote.
1858  InvalidPrice = 8, ///< Invalid price.
1859  NoReferencePriceAvailable = 16, ///< Reference price not available.
1860  NoSingleSidedQuotes = 100, ///< Single sided quotes not allowed.
1861  InvalidQuotingModel = 103, ///< Invalid usage of quoting model.
1862  InvalidSize = 106, ///< Invalid size.
1863  InvalidUnderlyingPrice = 107, ///< Invalid underlying price.
1864  BidPriceNotReasonable = 108, ///< Bid price not reasonable.
1865  AskPriceNotReasonable = 109, ///< Ask price not reasonable.
1866  BidPriceExceedsRange = 110, ///< Bid price exceeds extended price range.
1867  AskPriceExceedsRange = 111, ///< Ask price exceeds extended price range.
1868  InstrumentStateFreeze = 115, ///< Instrument state freeze.
1869  DeletionAlreadyPending = 116, ///< Deletion already pending.
1870  EntitlementNotAssignedForUnderlying = 119, ///< Entitlement not assigned for underlying.
1871  CurrentlyNotTradeableOnBook = 124, ///< Instrument is currently not tradeable on book.
1872  QuantityLimitExceeded = 125, ///< Quantity exceeds trader specific limit.
1873  ValueLimitExceeded = 126, ///< Value exceeds trader specific limit.
1874  InvalidQuoteSpread = 127, ///< Invalid quote spread.
1875  BookOrCancel = 128, ///< Book-or-Cancel quote type.
1876  CantProcInCurrInstrState = 131, ///< Instrument state does not allow processing.
1877  InvalidQuoteType = 134, ///< Invalid quote type.
1878  TradingIndicationRunningForTrader = 143, ///< Trading indication running for trader.
1879  OnBookTradingDisabledForInstrumentType = 144, ///< On-Book trading disabled for instrument type.
1880  LiquidityProviderProtectionBidSideCancelled = 147, ///< Liquidity provider protection bid side cancelled.
1881  LiquidityProviderProtectionAskSideCancelled = 148, ///< Liquidity provider protection ask side cancelled.
1882  OutsideQuotingPeriod = 155, ///< Quote entry outside quoting period not allowed.
1883  MatchPriceNotOnPriceStep = 156, ///< Match price resulting from entry of the matching quote is not a valid price
1884  ///< step.
1885  QuantityLimitExceedsTSL = 161, ///< Quantity exceeds transaction size limit.
1886  TooManyOrdersAndQuotesInOrderBook = 163, ///< Too many orders and quotes in order book.
1887  ContractCannotBeTradedDueToInsufficientEligibility = 166, ///< Contract cannot be traded due to insufficient
1888  ///< eligibility.
1889  UnderlyingPriceTimeout = 167, ///< the VF underlying price timed out, rejection of quote.
1890  BUSuspendARPLevel3SoftBreach = 168, ///< the BU is suspended due to an ARP level 3 soft breach.
1891  NoClearingProductAssignment = 169, ///< incoming quote pair rejected due to no clearing product assignment.
1892  ValueLimitExceededProduct = 170, ///< Value exceeds Product specific limit.
1893  };
1894 };
1895 
1896 /// Returns string representation.
1897 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteEntryRejectReason::Enum);
1898 
1899 /// Make it printable using C++ I/O streams.
1900 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteEntryRejectReason::Enum);
1901 
1902 /// Identifies the status of an individual quote.
1903 struct ONIXS_EUREX_ETI_EXPORT QuoteEntryStatus
1904 {
1905  /// \copydoc QuoteEntryStatus
1906  enum Enum
1907  {
1908  NoValue = 0xFF, ///< No value.
1909  Accepted = 0, ///< Accepted with warning.
1910  Rejected = 5, ///< Rejected.
1911  RemovedAndRejected = 6, ///< Removed from Market.
1912  Pending = 10, ///< Pending.
1913  };
1914 };
1915 
1916 /// Returns string representation.
1917 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteEntryStatus::Enum);
1918 
1919 /// Make it printable using C++ I/O streams.
1920 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteEntryStatus::Enum);
1921 
1922 /// Indicates whether the quote added or removed liquidity.
1923 struct ONIXS_EUREX_ETI_EXPORT QuoteEventLiquidityInd
1924 {
1925  /// \copydoc QuoteEventLiquidityInd
1926  enum Enum
1927  {
1928  NoValue = 0xFF, ///< No value.
1929  AddedLiquidity = 1, ///< Added Liquidity.
1930  RemovedLiquidity = 2, ///< Removed Liquidity.
1931  Auction = 4, ///< Auction.
1932  };
1933 };
1934 
1935 /// Returns string representation.
1936 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteEventLiquidityInd::Enum);
1937 
1938 /// Make it printable using C++ I/O streams.
1939 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteEventLiquidityInd::Enum);
1940 
1941 /// Additional information why quote side was removed.
1942 struct ONIXS_EUREX_ETI_EXPORT QuoteEventReason
1943 {
1944  /// \copydoc QuoteEventReason
1945  enum Enum
1946  {
1947  NoValue = 0xFF, ///< No value.
1948  PendingCancellationExecuted = 14, ///< Pending Cancellation Executed.
1949  InvalidPrice = 15, ///< Invalid Price.
1950  CrossRejected = 16, ///< Quote subject to crossing and match prevented.
1951  BookOrCancel = 17, ///< Quote deleted due to Book-or-Cancel quote type.
1952  PLP = 18, ///< Quote deleted due to passive liquidity protection.
1953  };
1954 };
1955 
1956 /// Returns string representation.
1957 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteEventReason::Enum);
1958 
1959 /// Make it printable using C++ I/O streams.
1960 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteEventReason::Enum);
1961 
1962 /// Side of the quote.
1963 struct ONIXS_EUREX_ETI_EXPORT QuoteEventSide
1964 {
1965  /// \copydoc QuoteEventSide
1966  enum Enum
1967  {
1968  NoValue = 0xFF, ///< No value.
1969  Buy = 1, ///< Buy.
1970  Sell = 2, ///< Sell.
1971  };
1972 };
1973 
1974 /// Returns string representation.
1975 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteEventSide::Enum);
1976 
1977 /// Make it printable using C++ I/O streams.
1978 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteEventSide::Enum);
1979 
1980 /// Conveys the quote event type.
1981 struct ONIXS_EUREX_ETI_EXPORT QuoteEventType
1982 {
1983  /// \copydoc QuoteEventType
1984  enum Enum
1985  {
1986  NoValue = 0xFF, ///< No value.
1987  ModifiedQuoteSide = 2, ///< Modified side.
1988  RemovedQuoteSide = 3, ///< Removed Quote Side.
1989  PartiallyFilled = 4, ///< Partially Filled.
1990  Filled = 5, ///< Filled.
1991  RemovedQuantity = 6, ///< Quantity removed.
1992  };
1993 };
1994 
1995 /// Returns string representation.
1996 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteEventType::Enum);
1997 
1998 /// Make it printable using C++ I/O streams.
1999 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteEventType::Enum);
2000 
2001 /// Quoting instruction.
2002 struct ONIXS_EUREX_ETI_EXPORT QuoteInstruction
2003 {
2004  /// \copydoc QuoteInstruction
2005  enum Enum
2006  {
2007  NoValue = 0xFF, ///< No value.
2008  DoNotQuote = 0, ///< Do not re-quote.
2009  Quote = 1, ///< (Re-)Quote.
2010  };
2011 };
2012 
2013 /// Returns string representation.
2014 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteInstruction::Enum);
2015 
2016 /// Make it printable using C++ I/O streams.
2017 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteInstruction::Enum);
2018 
2019 /// Identifies the quoting model.
2020 struct ONIXS_EUREX_ETI_EXPORT QuoteSizeType
2021 {
2022  /// \copydoc QuoteSizeType
2023  enum Enum
2024  {
2025  NoValue = 0xFF, ///< No value.
2026  TotalSize = 1, ///< Total Size (Quote Modification).
2027  OpenSize = 2, ///< Open Size(Quote Entry).
2028  };
2029 };
2030 
2031 /// Returns string representation.
2032 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteSizeType::Enum);
2033 
2034 /// Make it printable using C++ I/O streams.
2035 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteSizeType::Enum);
2036 
2037 /// Sub-type or qualifier of QuoteType.
2038 struct ONIXS_EUREX_ETI_EXPORT QuoteSubType
2039 {
2040  /// \copydoc QuoteSubType
2041  enum Enum
2042  {
2043  NoValue = 0xFF, ///< No value.
2044  WorkingDelta = 1, ///< Working Delta.
2045  BasisTrade = 2, ///< Basis Trade.
2046  Regular = 3, ///< Regular LDS Negotiation.
2047  NegotiateUnderlyingOutsideExchange = 4, ///< Negotiate the underlying outside the exchange.
2048  VolaStrategyFix = 5, ///< Option Volatility Strategy with fixed Underlying price and delta.
2049  VolaStrategyNegotiateUnderlying = 6, ///< Option Volatility Strategy - Underlying price is negotiated on
2050  ///< exchange.
2051  };
2052 };
2053 
2054 /// Returns string representation.
2055 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteSubType::Enum);
2056 
2057 /// Make it printable using C++ I/O streams.
2058 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteSubType::Enum);
2059 
2060 /// Quote type.
2061 struct ONIXS_EUREX_ETI_EXPORT QuoteType
2062 {
2063  /// \copydoc QuoteType
2064  enum Enum
2065  {
2066  NoValue = 0xFF, ///< No value.
2067  Indicative = 0, ///< Indicative (for Continuous Auction Issuer trading model and Eurex/Xetra EnLight only).
2068  Tradeable = 1, ///< Tradeable.
2069  TradeableBOC = 100, ///< Tradeable(BOC).
2070  };
2071 };
2072 
2073 /// Returns string representation.
2074 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuoteType::Enum);
2075 
2076 /// Make it printable using C++ I/O streams.
2077 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuoteType::Enum);
2078 
2079 /// Quoting status for the executing party.
2080 struct ONIXS_EUREX_ETI_EXPORT QuotingStatus
2081 {
2082  /// \copydoc QuotingStatus
2083  enum Enum
2084  {
2085  NoValue = 0xFF, ///< No value.
2086  OpenActive = 1, ///< Open/Active.
2087  OpenIdle = 2, ///< Open/Working.
2088  ClosedInactive = 3, ///< Closed/Inactive.
2089  };
2090 };
2091 
2092 /// Returns string representation.
2093 ONIXS_EUREX_ETI_EXPORT std::string enumToString(QuotingStatus::Enum);
2094 
2095 /// Make it printable using C++ I/O streams.
2096 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, QuotingStatus::Enum);
2097 
2098 /// Reference to the unique application identifier.
2099 struct ONIXS_EUREX_ETI_EXPORT RefApplId
2100 {
2101  /// \copydoc RefApplId
2102  enum Enum
2103  {
2104  NoValue = 0xFF, ///< No value.
2105  Trade = 1, ///< Trade.
2106  News = 2, ///< News.
2107  ServiceAvailability = 3, ///< Service Availability.
2108  SessionData = 4, ///< Session Data.
2109  ListenerData = 5, ///< Listener Data.
2110  RiskControl = 6, ///< Risk Control.
2111  TESMaintenance = 7, ///< TES Maintenance.
2112  TESTrade = 8, ///< TES Trade.
2113  SRQSMaintenance = 9, ///< SRQS Maintenance.
2114  ServiceAvailabilityMarket = 10, ///< Service Availability Market.
2115  };
2116 };
2117 
2118 /// Returns string representation.
2119 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RefApplId::Enum);
2120 
2121 /// Make it printable using C++ I/O streams.
2122 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RefApplId::Enum);
2123 
2124 /// Instrument type of the original Eurex strategy.
2125 struct ONIXS_EUREX_ETI_EXPORT RelatedProductComplex
2126 {
2127  /// \copydoc RelatedProductComplex
2128  enum Enum
2129  {
2130  NoValue = 0xFF, ///< No value.
2131  StandardOptionStrategy = 2, ///< Standard Option Strategy.
2132  NonStandardOptionStrategy = 3, ///< Non-Standard Option Strategy.
2133  VolatilityStrategy = 4, ///< Volatility Strategy.
2134  FuturesSpread = 5, ///< Futures Spread.
2135  InterProductSpread = 6, ///< Inter-Product Spread.
2136  StandardFutureStrategy = 7, ///< Standard Future Strategy.
2137  PackAndBundle = 8, ///< Pack and Bundle.
2138  Strip = 9, ///< Strip.
2139  CommodityStrip = 11, ///< Commodity Strip.
2140  ScaledSimpleInstrument = 12, ///< Scaled Simple Instrument.
2141  NonStandardVolatilityStrategy = 13, ///< Non-Standard Volatility Strategy.
2142  TotalReturnFutureStrategy = 14, ///< Total Return Future Strategy.
2143  };
2144 };
2145 
2146 /// Returns string representation.
2147 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RelatedProductComplex::Enum);
2148 
2149 /// Make it printable using C++ I/O streams.
2150 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RelatedProductComplex::Enum);
2151 
2152 /// Requesting party ID entering firm.
2153 struct ONIXS_EUREX_ETI_EXPORT RequestingPartyIdEnteringFirm
2154 {
2155  /// \copydoc RequestingPartyIdEnteringFirm
2156  enum Enum
2157  {
2158  NoValue = 0xFF, ///< No value.
2159  Participant = 1, ///< Participant.
2160  MarketSupervision = 2, ///< Market Supervision.
2161  };
2162 };
2163 
2164 /// Returns string representation.
2165 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RequestingPartyIdEnteringFirm::Enum);
2166 
2167 /// Make it printable using C++ I/O streams.
2168 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RequestingPartyIdEnteringFirm::Enum);
2169 
2170 /// System ID (1 = Eurex Clearing).
2171 struct ONIXS_EUREX_ETI_EXPORT RequestingPartyIdExecutingSystem
2172 {
2173  /// \copydoc RequestingPartyIdExecutingSystem
2174  enum Enum
2175  {
2176  NoValue = 0xFF, ///< No value.
2177  EurexClearing = 1, ///< Eurex Clearing.
2178  T7 = 2, ///< T7 trading system.
2179  };
2180 };
2181 
2182 /// Returns string representation.
2183 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RequestingPartyIdExecutingSystem::Enum);
2184 
2185 /// Make it printable using C++ I/O streams.
2186 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RequestingPartyIdExecutingSystem::Enum);
2187 
2188 /// Party type initiating SRQS deal deletion.
2189 struct ONIXS_EUREX_ETI_EXPORT RequestingPartySubIdType
2190 {
2191  /// \copydoc RequestingPartySubIdType
2192  enum Enum
2193  {
2194  NoValue = 0xFF, ///< No value.
2195  Requester = 5000, ///< Requester.
2196  Responder = 5001, ///< Responder.
2197  Both = 5002, ///< Both (Requester and Responder).
2198  System = 5003, ///< System.
2199  };
2200 };
2201 
2202 /// Returns string representation.
2203 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RequestingPartySubIdType::Enum);
2204 
2205 /// Make it printable using C++ I/O streams.
2206 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RequestingPartySubIdType::Enum);
2207 
2208 /// Specifies the type of respondents requested.
2209 struct ONIXS_EUREX_ETI_EXPORT RespondentType
2210 {
2211  /// \copydoc RespondentType
2212  enum Enum
2213  {
2214  NoValue = 0xFF, ///< No value.
2215  AllMarketParticipants = 1, ///< Respondents are known during a negotiation.
2216  Anonymous = 102, ///< Respondents are anonymized after negotiation start, Requester will remain anonymous from
2217  ///< start.
2218  };
2219 };
2220 
2221 /// Returns string representation.
2222 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RespondentType::Enum);
2223 
2224 /// Make it printable using C++ I/O streams.
2225 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RespondentType::Enum);
2226 
2227 /// Reversal cancellation reason.
2228 struct ONIXS_EUREX_ETI_EXPORT ReversalCancellationReason
2229 {
2230  /// \copydoc ReversalCancellationReason
2231  enum Enum
2232  {
2233  NoValue = 0xFF, ///< No value.
2234  TASChange = 1, ///< TES Activity State Change.
2235  IntradayExpiration = 2, ///< Instrument Expiration.
2236  InstrumentDeletion = 3, ///< Instrument Deletion.
2237  InstrumentSuspension = 4, ///< Instrument Suspension.
2238  };
2239 };
2240 
2241 /// Returns string representation.
2242 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ReversalCancellationReason::Enum);
2243 
2244 /// Make it printable using C++ I/O streams.
2245 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ReversalCancellationReason::Enum);
2246 
2247 /// Indicator whether the reversal of the TES trade is electronically requested or not.
2248 struct ONIXS_EUREX_ETI_EXPORT ReversalIndicator
2249 {
2250  /// \copydoc ReversalIndicator
2251  enum Enum
2252  {
2253  NoValue = 0xFF, ///< No value.
2254  No = 0, ///< No.
2255  Yes = 1, ///< Yes.
2256  };
2257 };
2258 
2259 /// Returns string representation.
2260 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ReversalIndicator::Enum);
2261 
2262 /// Make it printable using C++ I/O streams.
2263 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ReversalIndicator::Enum);
2264 
2265 /// State of the Risk Control Retransmission Service.
2266 struct ONIXS_EUREX_ETI_EXPORT RiskControlRtmServiceStatus
2267 {
2268  /// \copydoc RiskControlRtmServiceStatus
2269  enum Enum
2270  {
2271  NoValue = 0xFF, ///< No value.
2272  Unavailable = 0, ///< Unavailable.
2273  Available = 1, ///< Available.
2274  };
2275 };
2276 
2277 /// Returns string representation.
2278 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RiskControlRtmServiceStatus::Enum);
2279 
2280 /// Make it printable using C++ I/O streams.
2281 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RiskControlRtmServiceStatus::Enum);
2282 
2283 /// Risk limit action.
2284 struct ONIXS_EUREX_ETI_EXPORT RiskLimitAction
2285 {
2286  /// \copydoc RiskLimitAction
2287  enum Enum
2288  {
2289  NoValue = 0xFF, ///< No value.
2290  QueueInbound = 0, ///< Queue Inbound.
2291  Reject = 2, ///< Reject.
2292  Warning = 4, ///< Warning.
2293  };
2294 };
2295 
2296 /// Returns string representation.
2297 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RiskLimitAction::Enum);
2298 
2299 /// Make it printable using C++ I/O streams.
2300 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RiskLimitAction::Enum);
2301 
2302 /// Scope for Pre-Trade risk limits.
2303 struct ONIXS_EUREX_ETI_EXPORT RiskLimitPlatform
2304 {
2305  /// \copydoc RiskLimitPlatform
2306  enum Enum
2307  {
2308  NoValue = 0xFF, ///< No value.
2309  OnBook = 0, ///< On-Book.
2310  OffBook = 1, ///< Off-Book(TES).
2311  };
2312 };
2313 
2314 /// Returns string representation.
2315 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RiskLimitPlatform::Enum);
2316 
2317 /// Make it printable using C++ I/O streams.
2318 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RiskLimitPlatform::Enum);
2319 
2320 /// Requesting party role for a pre-trade risk limit.
2321 struct ONIXS_EUREX_ETI_EXPORT RiskLimitRequestingPartyRole
2322 {
2323  /// \copydoc RiskLimitRequestingPartyRole
2324  enum Enum
2325  {
2326  NoValue = 0xFF, ///< No value.
2327  ClearingFirm = 4, ///< requested by Clearing firm.
2328  Exchange = 22, ///< requested by Exchange.
2329  ExecutingUnit = 59, ///< requested by Executing firm.
2330  };
2331 };
2332 
2333 /// Returns string representation.
2334 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RiskLimitRequestingPartyRole::Enum);
2335 
2336 /// Make it printable using C++ I/O streams.
2337 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RiskLimitRequestingPartyRole::Enum);
2338 
2339 /// Risk Limit Result for failed events.
2340 struct ONIXS_EUREX_ETI_EXPORT RiskLimitResult
2341 {
2342  /// \copydoc RiskLimitResult
2343  enum Enum
2344  {
2345  NoValue = 0xFF, ///< No value.
2346  DisabledForBu = 10580, ///< Margin Based Risk Limits not enabled for business unit.
2347  LowRRAEventID = 10581, ///< Received Remaining Risk Allowance event ID is lower than lowest entry in Temporary
2348  ///< Transaction List.
2349  HighRRAEventID = 10582, ///< Received Remaining Risk Allowance event ID exceeds last entry in Temporary
2350  ///< Transaction List.
2351  };
2352 };
2353 
2354 /// Returns string representation.
2355 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RiskLimitResult::Enum);
2356 
2357 /// Make it printable using C++ I/O streams.
2358 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RiskLimitResult::Enum);
2359 
2360 /// Type of risk limits.
2361 struct ONIXS_EUREX_ETI_EXPORT RiskLimitType
2362 {
2363  /// \copydoc RiskLimitType
2364  enum Enum
2365  {
2366  NoValue = 0xFF, ///< No value.
2367  LongLimit = 4, ///< Long limit.
2368  ShortLimit = 5, ///< Short limit.
2369  };
2370 };
2371 
2372 /// Returns string representation.
2373 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RiskLimitType::Enum);
2374 
2375 /// Make it printable using C++ I/O streams.
2376 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RiskLimitType::Enum);
2377 
2378 /// Indicator for a pre-trade risk limit violation.
2379 struct ONIXS_EUREX_ETI_EXPORT RiskLimitViolationIndicator
2380 {
2381  /// \copydoc RiskLimitViolationIndicator
2382  enum Enum
2383  {
2384  NoValue = 0xFF, ///< No value.
2385  No = 0, ///< No.
2386  Yes = 1, ///< Yes.
2387  };
2388 };
2389 
2390 /// Returns string representation.
2391 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RiskLimitViolationIndicator::Enum);
2392 
2393 /// Make it printable using C++ I/O streams.
2394 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RiskLimitViolationIndicator::Enum);
2395 
2396 /// Qualifier for field PartyIdInvestmentDecisionMaker. Members/participants will have the possibility to specify an
2397 /// Investment qualifier value to distinguish between natural persons and Algos.
2398 struct ONIXS_EUREX_ETI_EXPORT RootPartyIdInvestmentDecisionMakerQualifier
2399 {
2400  /// \copydoc RootPartyIdInvestmentDecisionMakerQualifier
2401  enum Enum
2402  {
2403  NoValue = 0xFF, ///< No value.
2404  Algo = 22, ///< Algo.
2405  Human = 24, ///< Human/Natural person.
2406  };
2407 };
2408 
2409 /// Returns string representation.
2410 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RootPartyIdInvestmentDecisionMakerQualifier::Enum);
2411 
2412 /// Make it printable using C++ I/O streams.
2413 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RootPartyIdInvestmentDecisionMakerQualifier::Enum);
2414 
2415 /// RootParty sub-type.
2416 struct ONIXS_EUREX_ETI_EXPORT RootPartySubIdType
2417 {
2418  /// \copydoc RootPartySubIdType
2419  enum Enum
2420  {
2421  NoValue = 0xFF, ///< No value.
2422  Buyer = 4001, ///< Buyer.
2423  Seller = 4002, ///< Seller.
2424  Broker = 4003, ///< Broker.
2425  };
2426 };
2427 
2428 /// Returns string representation.
2429 ONIXS_EUREX_ETI_EXPORT std::string enumToString(RootPartySubIdType::Enum);
2430 
2431 /// Make it printable using C++ I/O streams.
2432 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, RootPartySubIdType::Enum);
2433 
2434 /// Status of Secondary ETI Gateway.
2435 struct ONIXS_EUREX_ETI_EXPORT SecondaryGatewayStatus
2436 {
2437  /// \copydoc SecondaryGatewayStatus
2438  enum Enum
2439  {
2440  NoValue = 0xFF, ///< No value.
2441  Standby = 0, ///< Standby.
2442  Active = 1, ///< Active.
2443  };
2444 };
2445 
2446 /// Returns string representation.
2447 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SecondaryGatewayStatus::Enum);
2448 
2449 /// Make it printable using C++ I/O streams.
2450 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SecondaryGatewayStatus::Enum);
2451 
2452 /// State of the Selective Service for Quote Retransmission Service.
2453 struct ONIXS_EUREX_ETI_EXPORT SelectiveRequestForQuoteRtmServiceStatus
2454 {
2455  /// \copydoc SelectiveRequestForQuoteRtmServiceStatus
2456  enum Enum
2457  {
2458  NoValue = 0xFF, ///< No value.
2459  Unavailable = 0, ///< Unavailable.
2460  Available = 1, ///< Available.
2461  };
2462 };
2463 
2464 /// Returns string representation.
2465 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SelectiveRequestForQuoteRtmServiceStatus::Enum);
2466 
2467 /// Make it printable using C++ I/O streams.
2468 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SelectiveRequestForQuoteRtmServiceStatus::Enum);
2469 
2470 /// State of the selective service for quote service.
2471 struct ONIXS_EUREX_ETI_EXPORT SelectiveRequestForQuoteServiceStatus
2472 {
2473  /// \copydoc SelectiveRequestForQuoteServiceStatus
2474  enum Enum
2475  {
2476  NoValue = 0xFF, ///< No value.
2477  Unavailable = 0, ///< Unavailable.
2478  Available = 1, ///< Available.
2479  };
2480 };
2481 
2482 /// Returns string representation.
2483 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SelectiveRequestForQuoteServiceStatus::Enum);
2484 
2485 /// Make it printable using C++ I/O streams.
2486 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SelectiveRequestForQuoteServiceStatus::Enum);
2487 
2488 /// Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for
2489 /// SelfMatchPreventionInstruction is 100 (Reject cross on business unit level).
2490 struct ONIXS_EUREX_ETI_EXPORT SelfMatchPreventionInstruction
2491 {
2492  /// \copydoc SelfMatchPreventionInstruction
2493  enum Enum
2494  {
2495  NoValue = 0xFF, ///< No value.
2496  CrossRejectedBU = 100, ///< Reject cross on business unit level.
2497  CrossRejectedMarket = 101, ///< Reject cross on market level.
2498  };
2499 };
2500 
2501 /// Returns string representation.
2502 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SelfMatchPreventionInstruction::Enum);
2503 
2504 /// Make it printable using C++ I/O streams.
2505 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SelfMatchPreventionInstruction::Enum);
2506 
2507 /// Type of Eurex ETI session.
2508 struct ONIXS_EUREX_ETI_EXPORT SessionMode
2509 {
2510  /// \copydoc SessionMode
2511  enum Enum
2512  {
2513  NoValue = 0xFF, ///< No value.
2514  ETIHF = 1, ///< ETI HF.
2515  ETILF = 2, ///< ETI LF.
2516  GUI = 3, ///< GUI.
2517  FIXLF = 4, ///< FIX LF.
2518  };
2519 };
2520 
2521 /// Returns string representation.
2522 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SessionMode::Enum);
2523 
2524 /// Make it printable using C++ I/O streams.
2525 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SessionMode::Enum);
2526 
2527 /// Error code.
2528 struct ONIXS_EUREX_ETI_EXPORT SessionRejectReason
2529 {
2530  /// \copydoc SessionRejectReason
2531  enum Enum
2532  {
2533  NoValue = 0xFF, ///< No value.
2534  RequiredTagMissing = 1, ///< Required Tag Missing.
2535  ValueIsIncorrect = 5, ///< Value is incorrect (out of range) for this tag.
2536  DecryptionProblem = 7, ///< Decryption problem.
2537  InvalidMsgID = 11, ///< Invalid TemplateID.
2538  IncorrectNumInGroupCount = 16, ///< Incorrect NumInGroup count for repeating group.
2539  Other = 99, ///< Other.
2540  ThrottleLimitExceeded = 100, ///< Throttle limit exceeded.
2541  ExposureLimitExceeded = 101, ///< Stale request was not forwarded to T7.
2542  ServiceTemporarilyNotAvailable = 102, ///< Service temporarily not available.
2543  ServiceNotAvailable = 103, ///< Service not available.
2544  OutboundConversionError = 105, ///< Error converting response or broadcast.
2545  HeartbeatViolation = 152, ///< Heartbeat violation error.
2546  InternalTechnicalError = 200, ///< Internal technical error.
2547  ValidationError = 210, ///< Validation Error.
2548  UserAlreadyLoggedIn = 211, ///< User already logged in.
2549  GatewayIsStandby = 216, ///< Gateway is standby.
2550  SessionLoginLimitReached = 217, ///< Session login limit (per time interval) reached.
2551  UserEntitlementDataTimeout = 223, ///< User Entitlement Data time out.
2552  PSGatewaySessionLimitReached = 224, ///< Session limit reached (per PS Gateway and Business Unit).
2553  UserLoginLimitReached = 225, ///< User login tries limit (per time interval) reached.
2554  OutstandingLoginsBuLimitReached = 226, ///< Limit of outstanding session/user logins reached (per Business
2555  ///< Unit).
2556  OutstandingLoginsSessionLimitReached = 227, ///< Limit of outstanding session/user logins reached (per Session).
2557  PasswordTimestampNotInGracePeriod = 228, ///< Password timestamp not in grace period.
2558  OrderNotFound = 10000, ///< Order not found.
2559  PriceNotReasonable = 10001, ///< Price not reasonable.
2560  ClientOrderIDNotUnique = 10002, ///< Duplicate Order (ClOrdID).
2561  QuoteActivationInProgress = 10003, ///< another quote activation request is pending for the same Product /
2562  ///< Instrument Type / SessionID.
2563  StopBidPriceNotReasonable = 10006, ///< Stop buy price not reasonable.
2564  StopAskPriceNotReasonable = 10007, ///< Stop sell price not reasonable.
2565  OrderNotExecutableWithinValidity = 10008, ///< GFD order is not executable on current business day.
2566  CreateCIThrottleExceeded = 10010, ///< Throttle limit for creation of complex instrument exceeded.
2567  TransactionNotAllowedInCurrentState = 10011, ///< Order maintenance not allowed in current state.
2568  RequiredMinLotSizeNotReached = 10013, ///< Required min lot size not reached.
2569  };
2570 };
2571 
2572 /// Returns string representation.
2573 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SessionRejectReason::Enum);
2574 
2575 /// Make it printable using C++ I/O streams.
2576 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SessionRejectReason::Enum);
2577 
2578 /// Status of an ETI session.
2579 struct ONIXS_EUREX_ETI_EXPORT SessionStatus
2580 {
2581  /// \copydoc SessionStatus
2582  enum Enum
2583  {
2584  NoValue = 0xFF, ///< No value.
2585  Active = 0, ///< Session active.
2586  Logout = 4, ///< Session logout complete.
2587  };
2588 };
2589 
2590 /// Returns string representation.
2591 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SessionStatus::Enum);
2592 
2593 /// Make it printable using C++ I/O streams.
2594 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SessionStatus::Enum);
2595 
2596 /// Session sub mode.
2597 struct ONIXS_EUREX_ETI_EXPORT SessionSubMode
2598 {
2599  /// \copydoc SessionSubMode
2600  enum Enum
2601  {
2602  NoValue = 0xFF, ///< No value.
2603  RegularTradingSession = 0, ///< Regular Trading Session.
2604  RegularBackOfficeSession = 2, ///< Regular Back Office Session.
2605  };
2606 };
2607 
2608 /// Returns string representation.
2609 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SessionSubMode::Enum);
2610 
2611 /// Make it printable using C++ I/O streams.
2612 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SessionSubMode::Enum);
2613 
2614 /// Settlement method for a contract or instrument.
2615 struct ONIXS_EUREX_ETI_EXPORT SettlMethod
2616 {
2617  /// \copydoc SettlMethod
2618  enum Enum
2619  {
2620  NoValue = 0x00, ///< No value.
2621  CashSettlement = 'C', ///< Cash Settlement.
2622  PhysicalSettlement = 'P', ///< Physical Settlement.
2623  };
2624 };
2625 
2626 /// Returns string representation.
2627 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SettlMethod::Enum);
2628 
2629 /// Make it printable using C++ I/O streams.
2630 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SettlMethod::Enum);
2631 
2632 /// Instruction to show last deal information after negotiation closure.
2633 struct ONIXS_EUREX_ETI_EXPORT ShowLastDealOnClosure
2634 {
2635  /// \copydoc ShowLastDealOnClosure
2636  enum Enum
2637  {
2638  NoValue = 0xFF, ///< No value.
2639  No = 0, ///< No.
2640  Yes = 1, ///< Yes.
2641  };
2642 };
2643 
2644 /// Returns string representation.
2645 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ShowLastDealOnClosure::Enum);
2646 
2647 /// Make it printable using C++ I/O streams.
2648 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ShowLastDealOnClosure::Enum);
2649 
2650 /// Side of the order.
2651 struct ONIXS_EUREX_ETI_EXPORT Side
2652 {
2653  /// \copydoc Side
2654  enum Enum
2655  {
2656  NoValue = 0xFF, ///< No value.
2657  Buy = 1, ///< Buy.
2658  Sell = 2, ///< Sell.
2659  };
2660 };
2661 
2662 /// Returns string representation.
2663 ONIXS_EUREX_ETI_EXPORT std::string enumToString(Side::Enum);
2664 
2665 /// Make it printable using C++ I/O streams.
2666 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, Side::Enum);
2667 
2668 /// Instruction to show side.
2669 struct ONIXS_EUREX_ETI_EXPORT SideDisclosureInstruction
2670 {
2671  /// \copydoc SideDisclosureInstruction
2672  enum Enum
2673  {
2674  NoValue = 0xFF, ///< No value.
2675  No = 0, ///< No.
2676  Yes = 1, ///< Yes.
2677  };
2678 };
2679 
2680 /// Returns string representation.
2681 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SideDisclosureInstruction::Enum);
2682 
2683 /// Make it printable using C++ I/O streams.
2684 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SideDisclosureInstruction::Enum);
2685 
2686 /// Side is locked.
2687 struct ONIXS_EUREX_ETI_EXPORT SideIsLocked
2688 {
2689  /// \copydoc SideIsLocked
2690  enum Enum
2691  {
2692  NoValue = 0xFF, ///< No value.
2693  No = 0, ///< No.
2694  Yes = 1, ///< Yes.
2695  };
2696 };
2697 
2698 /// Returns string representation.
2699 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SideIsLocked::Enum);
2700 
2701 /// Make it printable using C++ I/O streams.
2702 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SideIsLocked::Enum);
2703 
2704 /// Order initiator is passive or aggressor.
2705 struct ONIXS_EUREX_ETI_EXPORT SideLiquidityInd
2706 {
2707  /// \copydoc SideLiquidityInd
2708  enum Enum
2709  {
2710  NoValue = 0xFF, ///< No value.
2711  AddedLiquidity = 1, ///< Added liquidity (passive).
2712  RemovedLiquidity = 2, ///< Removed liquidity (aggressive, includes triggered orders).
2713  Auction = 4, ///< Auction.
2714  };
2715 };
2716 
2717 /// Returns string representation.
2718 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SideLiquidityInd::Enum);
2719 
2720 /// Make it printable using C++ I/O streams.
2721 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SideLiquidityInd::Enum);
2722 
2723 /// Sub-type of a trade type.
2724 struct ONIXS_EUREX_ETI_EXPORT SideTrdSubTyp
2725 {
2726  /// \copydoc SideTrdSubTyp
2727  enum Enum
2728  {
2729  NoValue = 0xFF, ///< No value.
2730  BlockTrade = 2001, ///< Block Trade.
2731  TradeAtMarket = 2004, ///< Trade at Market.
2732  };
2733 };
2734 
2735 /// Returns string representation.
2736 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SideTrdSubTyp::Enum);
2737 
2738 /// Make it printable using C++ I/O streams.
2739 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SideTrdSubTyp::Enum);
2740 
2741 /// Indicator to skip validations.
2742 struct ONIXS_EUREX_ETI_EXPORT SkipValidations
2743 {
2744  /// \copydoc SkipValidations
2745  enum Enum
2746  {
2747  NoValue = 0xFF, ///< No value.
2748  False = 0, ///< False.
2749  True = 1, ///< True.
2750  };
2751 };
2752 
2753 /// Returns string representation.
2754 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SkipValidations::Enum);
2755 
2756 /// Make it printable using C++ I/O streams.
2757 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SkipValidations::Enum);
2758 
2759 /// Swap clearer for EFS Trades only.
2760 struct ONIXS_EUREX_ETI_EXPORT SwapClearer
2761 {
2762  /// \copydoc SwapClearer
2763  enum Enum
2764  {
2765  NoValue = 0xFF, ///< No value.
2766  ECAG = 0, ///< Eurex Clearing.
2767  NONECAG = 1, ///< Non-Eurex Clearing.
2768  };
2769 };
2770 
2771 /// Returns string representation.
2772 ONIXS_EUREX_ETI_EXPORT std::string enumToString(SwapClearer::Enum);
2773 
2774 /// Make it printable using C++ I/O streams.
2775 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, SwapClearer::Enum);
2776 
2777 /// Informs if Trade Entry Retransmission Service is active for grouping of Eurex products.
2778 struct ONIXS_EUREX_ETI_EXPORT T7EntryServiceRtmStatus
2779 {
2780  /// \copydoc T7EntryServiceRtmStatus
2781  enum Enum
2782  {
2783  NoValue = 0xFF, ///< No value.
2784  Unavailable = 0, ///< Unavailable.
2785  Available = 1, ///< Available.
2786  };
2787 };
2788 
2789 /// Returns string representation.
2790 ONIXS_EUREX_ETI_EXPORT std::string enumToString(T7EntryServiceRtmStatus::Enum);
2791 
2792 /// Make it printable using C++ I/O streams.
2793 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, T7EntryServiceRtmStatus::Enum);
2794 
2795 /// Informs if Trade Entry Service is active for grouping of Eurex products.
2796 struct ONIXS_EUREX_ETI_EXPORT T7EntryServiceStatus
2797 {
2798  /// \copydoc T7EntryServiceStatus
2799  enum Enum
2800  {
2801  NoValue = 0xFF, ///< No value.
2802  Unavailable = 0, ///< Unavailable.
2803  Available = 1, ///< Available.
2804  };
2805 };
2806 
2807 /// Returns string representation.
2808 ONIXS_EUREX_ETI_EXPORT std::string enumToString(T7EntryServiceStatus::Enum);
2809 
2810 /// Make it printable using C++ I/O streams.
2811 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, T7EntryServiceStatus::Enum);
2812 
2813 /// Execution and trading restriction parameters supported by Eurex.
2814 struct ONIXS_EUREX_ETI_EXPORT TimeInForce
2815 {
2816  /// \copydoc TimeInForce
2817  enum Enum
2818  {
2819  NoValue = 0xFF, ///< No value.
2820  Day = 0, ///< Day (GFD).
2821  GTC = 1, ///< Good Till Cancelled (GTC) - Standard Orders only.
2822  IOC = 3, ///< Immediate or Cancel (IOC).
2823  FOK = 4, ///< Fill Or Kill (FOK).
2824  GTD = 6, ///< Good Till Date (GTD) - Standard Orders only.
2825  };
2826 };
2827 
2828 /// Returns string representation.
2829 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TimeInForce::Enum);
2830 
2831 /// Make it printable using C++ I/O streams.
2832 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TimeInForce::Enum);
2833 
2834 /// Trading session event type.
2835 struct ONIXS_EUREX_ETI_EXPORT TradSesEvent
2836 {
2837  /// \copydoc TradSesEvent
2838  enum Enum
2839  {
2840  NoValue = 0xFF, ///< No value.
2841  StartOfService = 101, ///< Start of Service.
2842  MarketReset = 102, ///< Market Reset.
2843  EndOfRestatement = 103, ///< End of Restatement.
2844  EndOfDayService = 104, ///< End of Service.
2845  ServiceResumed = 105, ///< Service Resumed.
2846  };
2847 };
2848 
2849 /// Returns string representation.
2850 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradSesEvent::Enum);
2851 
2852 /// Make it printable using C++ I/O streams.
2853 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradSesEvent::Enum);
2854 
2855 /// Trading session mode.
2856 struct ONIXS_EUREX_ETI_EXPORT TradSesMode
2857 {
2858  /// \copydoc TradSesMode
2859  enum Enum
2860  {
2861  NoValue = 0xFF, ///< No value.
2862  Testing = 1, ///< Development.
2863  Simulated = 2, ///< Simulation.
2864  Production = 3, ///< Production.
2865  Acceptance = 4, ///< Acceptance.
2866  DisasterRecovery = 5, ///< Disaster Recovery.
2867  };
2868 };
2869 
2870 /// Returns string representation.
2871 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradSesMode::Enum);
2872 
2873 /// Make it printable using C++ I/O streams.
2874 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradSesMode::Enum);
2875 
2876 /// Trade Aggregation Identifier.
2877 struct ONIXS_EUREX_ETI_EXPORT TradeAggregationTransType
2878 {
2879  /// \copydoc TradeAggregationTransType
2880  enum Enum
2881  {
2882  NoValue = 0xFF, ///< No value.
2883  New = 0, ///< New.
2884  };
2885 };
2886 
2887 /// Returns string representation.
2888 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradeAggregationTransType::Enum);
2889 
2890 /// Make it printable using C++ I/O streams.
2891 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradeAggregationTransType::Enum);
2892 
2893 /// Status of an allocation in a Trade Entry Service trade.
2894 struct ONIXS_EUREX_ETI_EXPORT TradeAllocStatus
2895 {
2896  /// \copydoc TradeAllocStatus
2897  enum Enum
2898  {
2899  NoValue = 0xFF, ///< No value.
2900  Pending = 1, ///< Pending.
2901  Approved = 2, ///< Approved.
2902  AutoApproved = 3, ///< Auto Approved.
2903  Uploaded = 4, ///< Uploaded.
2904  Canceled = 5, ///< Canceled.
2905  PendingReversal = 7, ///< Pending Reversal.
2906  ApprovedReversal = 8, ///< Side Approved Reversal.
2907  Reversed = 9, ///< Reversed.
2908  CancelledReversal = 10, ///< Cancelled Reversal.
2909  };
2910 };
2911 
2912 /// Returns string representation.
2913 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradeAllocStatus::Enum);
2914 
2915 /// Make it printable using C++ I/O streams.
2916 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradeAllocStatus::Enum);
2917 
2918 /// Informs if trade broadcast dissemination is active for a grouping of Eurex products.
2919 struct ONIXS_EUREX_ETI_EXPORT TradeManagerStatus
2920 {
2921  /// \copydoc TradeManagerStatus
2922  enum Enum
2923  {
2924  NoValue = 0xFF, ///< No value.
2925  Unavailable = 0, ///< Unavailable.
2926  Available = 1, ///< Available.
2927  };
2928 };
2929 
2930 /// Returns string representation.
2931 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradeManagerStatus::Enum);
2932 
2933 /// Make it printable using C++ I/O streams.
2934 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradeManagerStatus::Enum);
2935 
2936 /// Indicates trade platform. Can only be used for EEX.
2937 struct ONIXS_EUREX_ETI_EXPORT TradePlatform
2938 {
2939  /// \copydoc TradePlatform
2940  enum Enum
2941  {
2942  NoValue = 0xFF, ///< No value.
2943  OffBook = 0, ///< Off-Book.
2944  OnBook = 1, ///< On-Book.
2945  };
2946 };
2947 
2948 /// Returns string representation.
2949 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradePlatform::Enum);
2950 
2951 /// Make it printable using C++ I/O streams.
2952 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradePlatform::Enum);
2953 
2954 /// Indicates if a trade should be reported via the market reporting service.
2955 struct ONIXS_EUREX_ETI_EXPORT TradePublishIndicator
2956 {
2957  /// \copydoc TradePublishIndicator
2958  enum Enum
2959  {
2960  NoValue = 0xFF, ///< No value.
2961  DoNotPublishTrade = 0, ///< Do not publish trade.
2962  PublishTrade = 1, ///< Publish trade.
2963  DeferredPublication = 2, ///< Deferred publication to market.
2964  Published = 3, ///< Published to market.
2965  };
2966 };
2967 
2968 /// Returns string representation.
2969 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradePublishIndicator::Enum);
2970 
2971 /// Make it printable using C++ I/O streams.
2972 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradePublishIndicator::Enum);
2973 
2974 /// Identifies the type of trade notification.
2975 struct ONIXS_EUREX_ETI_EXPORT TradeReportType
2976 {
2977  /// \copydoc TradeReportType
2978  enum Enum
2979  {
2980  NoValue = 0xFF, ///< No value.
2981  Submit = 0, ///< Submit.
2982  Alleged = 1, ///< Alleged.
2983  Accept = 2, ///< Accept.
2984  Decline = 3, ///< Decline.
2985  NoWasReplaced = 5, ///< No/Was (Replaced).
2986  TradeReportCancel = 6, ///< Trade Report Cancel.
2987  TradeBreak = 7, ///< (Locked-In) Trade Break.
2988  AllegedNew = 11, ///< Alleged New.
2989  AllegedNoWas = 13, ///< Alleged No/Was.
2990  };
2991 };
2992 
2993 /// Returns string representation.
2994 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradeReportType::Enum);
2995 
2996 /// Make it printable using C++ I/O streams.
2997 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradeReportType::Enum);
2998 
2999 /// Trade request transaction type.
3000 struct ONIXS_EUREX_ETI_EXPORT TradeRequestResult
3001 {
3002  /// \copydoc TradeRequestResult
3003  enum Enum
3004  {
3005  NoValue = 0xFF, ///< No value.
3006  CancelPending = 100, ///< Deal cancellation pending.
3007  CancelDeclined = 101, ///< Deal cancellation declined.
3008  CancelApproved = 102, ///< Deal cancellation approved.
3009  };
3010 };
3011 
3012 /// Returns string representation.
3013 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradeRequestResult::Enum);
3014 
3015 /// Make it printable using C++ I/O streams.
3016 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradeRequestResult::Enum);
3017 
3018 /// Trade to Quote Ratio (TQR) Ranking.
3019 struct ONIXS_EUREX_ETI_EXPORT TradeToQuoteRatioRanking
3020 {
3021  /// \copydoc TradeToQuoteRatioRanking
3022  enum Enum
3023  {
3024  NoValue = 0xFF, ///< No value.
3025  Low = 1, ///< Low.
3026  Medium = 2, ///< Medium.
3027  High = 3, ///< High.
3028  };
3029 };
3030 
3031 /// Returns string representation.
3032 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradeToQuoteRatioRanking::Enum);
3033 
3034 /// Make it printable using C++ I/O streams.
3035 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradeToQuoteRatioRanking::Enum);
3036 
3037 /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a
3038 /// market maker.
3039 struct ONIXS_EUREX_ETI_EXPORT TradingCapacity
3040 {
3041  /// \copydoc TradingCapacity
3042  enum Enum
3043  {
3044  NoValue = 0xFF, ///< No value.
3045  Customer = 1, ///< Customer (Agency).
3046  Principal = 5, ///< Principal (Proprietary).
3047  MarketMaker = 6, ///< Market Maker.
3048  };
3049 };
3050 
3051 /// Returns string representation.
3052 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradingCapacity::Enum);
3053 
3054 /// Make it printable using C++ I/O streams.
3055 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradingCapacity::Enum);
3056 
3057 /// Marks a a certain order as a closing auction one.
3058 struct ONIXS_EUREX_ETI_EXPORT TradingSessionSubId
3059 {
3060  /// \copydoc TradingSessionSubId
3061  enum Enum
3062  {
3063  NoValue = 0xFF, ///< No value.
3064  OpeningAuction = 2, ///< Opening or opening auction.
3065  ClosingAuction = 4, ///< Closing or closing auction.
3066  AnyAuction = 8, ///< Any auction.
3067  };
3068 };
3069 
3070 /// Returns string representation.
3071 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TradingSessionSubId::Enum);
3072 
3073 /// Make it printable using C++ I/O streams.
3074 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TradingSessionSubId::Enum);
3075 
3076 /// Indicator for a delayed transaction.
3077 struct ONIXS_EUREX_ETI_EXPORT TransactionDelayIndicator
3078 {
3079  /// \copydoc TransactionDelayIndicator
3080  enum Enum
3081  {
3082  NoValue = 0xFF, ///< No value.
3083  NotDelayed = 0, ///< Transaction not delayed.
3084  Delayed = 1, ///< Transaction delayed.
3085  };
3086 };
3087 
3088 /// Returns string representation.
3089 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TransactionDelayIndicator::Enum);
3090 
3091 /// Make it printable using C++ I/O streams.
3092 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TransactionDelayIndicator::Enum);
3093 
3094 /// Identifies the role for which the trade notification is received.
3095 struct ONIXS_EUREX_ETI_EXPORT TransferReason
3096 {
3097  /// \copydoc TransferReason
3098  enum Enum
3099  {
3100  NoValue = 0xFF, ///< No value.
3101  Owner = 1, ///< Owner.
3102  Clearer = 2, ///< Clearer.
3103  };
3104 };
3105 
3106 /// Returns string representation.
3107 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TransferReason::Enum);
3108 
3109 /// Make it printable using C++ I/O streams.
3110 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TransferReason::Enum);
3111 
3112 /// SRQS deal status.
3113 struct ONIXS_EUREX_ETI_EXPORT TrdRptStatus
3114 {
3115  /// \copydoc TrdRptStatus
3116  enum Enum
3117  {
3118  NoValue = 0xFF, ///< No value.
3119  Accepted = 0, ///< Accepted.
3120  Rejected = 1, ///< Rejected.
3121  Cancelled = 2, ///< Cancelled.
3122  PendingNew = 4, ///< Pending new.
3123  PendingCancel = 5, ///< Pending Cancel.
3124  Terminated = 7, ///< Terminated.
3125  DeemedVerified = 9, ///< Deemed verified.
3126  };
3127 };
3128 
3129 /// Returns string representation.
3130 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TrdRptStatus::Enum);
3131 
3132 /// Make it printable using C++ I/O streams.
3133 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TrdRptStatus::Enum);
3134 
3135 /// Indicates if a trade should be reported via the market reporting service.
3136 struct ONIXS_EUREX_ETI_EXPORT TrdType
3137 {
3138  /// \copydoc TrdType
3139  enum Enum
3140  {
3141  NoValue = 0xFF, ///< No value.
3142  BlockTrade = 1, ///< Block Trade.
3143  ExchangeForSwap = 12, ///< Exchange for Swap.
3144  VolaTrade = 1000, ///< Vola Trade.
3145  EFPFinTrade = 1001, ///< EFP-Fin Trade.
3146  EFPIndexFuturesTrade = 1002, ///< EFP-Index Futures Trade.
3147  TradeAtMarket = 1004, ///< Trade at Market.
3148  Enlight = 1006, ///< Eurex/Xetra Enlight triggered trade.
3149  BLOCKQTPIP = 1007, ///< QTPIP BLOCK TRADE.
3150  BTRF = 1010, ///< Basket of Equity Total Return Futures.
3151  EBB = 1011, ///< Equity Bespoke Baskets.
3152  DeltaNeutralTradeAtMarket = 1017, ///< Delta Neutral Trade at Market.
3153  };
3154 };
3155 
3156 /// Returns string representation.
3157 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TrdType::Enum);
3158 
3159 /// Make it printable using C++ I/O streams.
3160 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TrdType::Enum);
3161 
3162 /// Indicates if an order has been previously triggered.
3163 struct ONIXS_EUREX_ETI_EXPORT Triggered
3164 {
3165  /// \copydoc Triggered
3166  enum Enum
3167  {
3168  NoValue = 0xFF, ///< No value.
3169  NotTriggered = 0, ///< Not Triggered.
3170  TriggeredStop = 1, ///< Triggered Stop.
3171  TriggeredOCO = 2, ///< Triggered OCO.
3172  };
3173 };
3174 
3175 /// Returns string representation.
3176 ONIXS_EUREX_ETI_EXPORT std::string enumToString(Triggered::Enum);
3177 
3178 /// Make it printable using C++ I/O streams.
3179 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, Triggered::Enum);
3180 
3181 /// User status.
3182 struct ONIXS_EUREX_ETI_EXPORT UserStatus
3183 {
3184  /// \copydoc UserStatus
3185  enum Enum
3186  {
3187  NoValue = 0xFF, ///< No value.
3188  UserForcedLogout = 7, ///< Forced user logout by exchange.
3189  UserStopped = 10, ///< Admission to trading suspended .
3190  UserReleased = 11, ///< Suspension revoked.
3191  };
3192 };
3193 
3194 /// Returns string representation.
3195 ONIXS_EUREX_ETI_EXPORT std::string enumToString(UserStatus::Enum);
3196 
3197 /// Make it printable using C++ I/O streams.
3198 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, UserStatus::Enum);
3199 
3200 /// Indicator for checking the Minimum Lot Size by the exchange. Only used for EEX. Mandatory if TrdRptStatus=4
3201 /// (Pending_New).
3202 struct ONIXS_EUREX_ETI_EXPORT ValueCheckTypeMinLotSize
3203 {
3204  /// \copydoc ValueCheckTypeMinLotSize
3205  enum Enum
3206  {
3207  NoValue = 0xFF, ///< No value.
3208  DoNotCheck = 0, ///< Do not check.
3209  Check = 1, ///< Check.
3210  };
3211 };
3212 
3213 /// Returns string representation.
3214 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ValueCheckTypeMinLotSize::Enum);
3215 
3216 /// Make it printable using C++ I/O streams.
3217 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ValueCheckTypeMinLotSize::Enum);
3218 
3219 /// Indicator for checking the maximum order or quote quantity by the exchange.
3220 struct ONIXS_EUREX_ETI_EXPORT ValueCheckTypeQuantity
3221 {
3222  /// \copydoc ValueCheckTypeQuantity
3223  enum Enum
3224  {
3225  NoValue = 0xFF, ///< No value.
3226  DoNotCheck = 0, ///< Do not check.
3227  Check = 1, ///< Check.
3228  };
3229 };
3230 
3231 /// Returns string representation.
3232 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ValueCheckTypeQuantity::Enum);
3233 
3234 /// Make it printable using C++ I/O streams.
3235 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ValueCheckTypeQuantity::Enum);
3236 
3237 /// Indicator for checking the maximum order/quote value by the exchange.
3238 struct ONIXS_EUREX_ETI_EXPORT ValueCheckTypeValue
3239 {
3240  /// \copydoc ValueCheckTypeValue
3241  enum Enum
3242  {
3243  NoValue = 0xFF, ///< No value.
3244  DoNotCheck = 0, ///< Do not check.
3245  Check = 1, ///< Check.
3246  };
3247 };
3248 
3249 /// Returns string representation.
3250 ONIXS_EUREX_ETI_EXPORT std::string enumToString(ValueCheckTypeValue::Enum);
3251 
3252 /// Make it printable using C++ I/O streams.
3253 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, ValueCheckTypeValue::Enum);
3254 
3255 /// Template IDs.
3256 struct ONIXS_EUREX_ETI_EXPORT TemplateId
3257 {
3258  /// \copydoc TemplateId
3259  enum Enum
3260  {
3261  Unknown = 0, ///< Unknown.
3262  AddComplexInstrumentRequest = 10301, ///< Add Complex Instrument Request.
3263  AddComplexInstrumentResponse = 10302, ///< Add Complex Instrument Response.
3264  AddFlexibleInstrumentRequest = 10309, ///< Add Flexible Instrument Request.
3265  AddFlexibleInstrumentResponse = 10310, ///< Add Flexible Instrument Response.
3266  AddScaledSimpleInstrumentRequest = 10327, ///< Add Scaled Simple Instrument Request.
3267  AddScaledSimpleInstrumentResponse = 10328, ///< Add Scaled Simple Instrument Response.
3268  AmendBasketTradeRequest = 10629, ///< Amend Basket Trade Request.
3269  ApproveBasketTradeRequest = 10623, ///< Approve Basket Trade Request.
3270  ApproveReverseTESTradeRequest = 10631, ///< Approve Reverse TES Trade Request.
3271  ApproveTESTradeRequest = 10603, ///< Approve TES Trade Request.
3272  BasketApproveBroadcast = 10627, ///< Basket Approve Broadcast.
3273  BasketBroadcast = 10625, ///< Basket Broadcast.
3274  BasketDeleteBroadcast = 10626, ///< Basket Delete Broadcast.
3275  BasketExecutionBroadcast = 10628, ///< Basket Execution Broadcast.
3276  BasketResponse = 10624, ///< Basket Response.
3277  BasketRollBroadcast = 10634, ///< Basket Roll Broadcast.
3278  BasketRollRequest = 10633, ///< Basket Roll Request.
3279  BroadcastErrorNotification = 10032, ///< Broadcast Error Notification.
3280  CLIPDeletionNotification = 10134, ///< CLIP Deletion Notification.
3281  CLIPExecutionNotification = 10135, ///< CLIP Execution Notification.
3282  CLIPResponse = 10133, ///< CLIP Response.
3283  CrossRequest = 10118, ///< Cross Request.
3284  CrossRequestResponse = 10119, ///< Cross Request Response.
3285  DeleteAllOrderBroadcast = 10122, ///< Delete All Order Broadcast.
3286  DeleteAllOrderNRResponse = 10124, ///< Delete All Order NR Response.
3287  DeleteAllOrderQuoteEventBroadcast = 10308, ///< Delete All Order Quote Event Broadcast.
3288  DeleteAllOrderRequest = 10120, ///< Delete All Order Request.
3289  DeleteAllOrderResponse = 10121, ///< Delete All Order Response.
3290  DeleteAllQuoteBroadcast = 10410, ///< Delete All Quote Broadcast.
3291  DeleteAllQuoteRequest = 10408, ///< Delete All Quote Request.
3292  DeleteAllQuoteResponse = 10409, ///< Delete All Quote Response.
3293  DeleteBasketTradeRequest = 10622, ///< Delete Basket Trade Request.
3294  DeleteCLIPRequest = 10132, ///< Delete CLIP Request.
3295  DeleteOrderBroadcast = 10112, ///< Delete Order Broadcast.
3296  DeleteOrderComplexRequest = 10123, ///< Delete Order Complex Request.
3297  DeleteOrderNRResponse = 10111, ///< Delete Order NR Response.
3298  DeleteOrderRequest = 10142, ///< Delete Order Request.
3299  DeleteOrderResponse = 10110, ///< Delete Order Response.
3300  DeleteOrderSingleRequest = 10109, ///< Delete Order Single Request.
3301  DeleteTESTradeRequest = 10602, ///< Delete TES Trade Request.
3302  EnterBasketTradeRequest = 10620, ///< Enter Basket Trade Request.
3303  EnterCLIPRequest = 10131, ///< Enter CLIP Request.
3304  EnterTESTradeRequest = 10600, ///< Enter TES Trade Request.
3305  ForcedLogoutNotification = 10012, ///< Forced Logout Notification.
3306  ForcedUserLogoutNotification = 10043, ///< Forced User Logout Notification.
3307  Heartbeat = 10011, ///< Heartbeat.
3308  HeartbeatNotification = 10023, ///< Heartbeat Notification.
3309  InquireEnrichmentRuleIdListRequest = 10040, ///< Inquire Enrichment Rule Id List Request.
3310  InquireEnrichmentRuleIdListResponse = 10041, ///< Inquire Enrichment Rule Id List Response.
3311  InquireMMParameterRequest = 10305, ///< Inquire MM Parameter Request.
3312  InquireMMParameterResponse = 10306, ///< Inquire MM Parameter Response.
3313  InquireMarginBasedRiskLimitRequest = 10323, ///< Inquire Margin Based Risk Limit Request.
3314  InquireMarginBasedRiskLimitResponse = 10324, ///< Inquire Margin Based Risk Limit Response.
3315  InquirePreTradeRiskLimitsRequest = 10311, ///< Inquire Pre Trade Risk Limits Request.
3316  InquireSessionListRequest = 10035, ///< Inquire Session List Request.
3317  InquireSessionListResponse = 10036, ///< Inquire Session List Response.
3318  InquireUserRequest = 10038, ///< Inquire User Request.
3319  InquireUserResponse = 10039, ///< Inquire User Response.
3320  LegalNotificationBroadcast = 10037, ///< Legal Notification Broadcast.
3321  LogonRequest = 10000, ///< Logon Request.
3322  LogonRequestEncrypted = 19000, ///< Logon Request Encrypted.
3323  LogonResponse = 10001, ///< Logon Response.
3324  LogoutRequest = 10002, ///< Logout Request.
3325  LogoutResponse = 10003, ///< Logout Response.
3326  MMParameterDefinitionRequest = 10303, ///< MM Parameter Definition Request.
3327  MMParameterDefinitionResponse = 10304, ///< MM Parameter Definition Response.
3328  MassOrder = 10115, ///< Mass Order.
3329  MassOrderAck = 10116, ///< Mass Order Ack.
3330  MassQuoteRequest = 10405, ///< Mass Quote Request.
3331  MassQuoteResponse = 10406, ///< Mass Quote Response.
3332  ModifyBasketTradeRequest = 10621, ///< Modify Basket Trade Request.
3333  ModifyOrderComplexRequest = 10114, ///< Modify Order Complex Request.
3334  ModifyOrderComplexShortRequest = 10130, ///< Modify Order Complex Short Request.
3335  ModifyOrderNRResponse = 10108, ///< Modify Order NR Response.
3336  ModifyOrderRequest = 10140, ///< Modify Order Request.
3337  ModifyOrderResponse = 10107, ///< Modify Order Response.
3338  ModifyOrderShortRequest = 10141, ///< Modify Order Short Request.
3339  ModifyOrderSingleRequest = 10106, ///< Modify Order Single Request.
3340  ModifyOrderSingleShortRequest = 10126, ///< Modify Order Single Short Request.
3341  ModifyTESTradeRequest = 10601, ///< Modify TES Trade Request.
3342  NewOrderComplexRequest = 10113, ///< New Order Complex Request.
3343  NewOrderComplexShortRequest = 10129, ///< New Order Complex Short Request.
3344  NewOrderNRResponse = 10102, ///< New Order NR Response.
3345  NewOrderRequest = 10138, ///< New Order Request.
3346  NewOrderResponse = 10101, ///< New Order Response.
3347  NewOrderShortRequest = 10139, ///< New Order Short Request.
3348  NewOrderSingleRequest = 10100, ///< New Order Single Request.
3349  NewOrderSingleShortRequest = 10125, ///< New Order Single Short Request.
3350  NewsBroadcast = 10031, ///< News Broadcast.
3351  OrderExecNotification = 10104, ///< Order Exec Notification.
3352  OrderExecReportBroadcast = 10117, ///< Order Exec Report Broadcast.
3353  OrderExecResponse = 10103, ///< Order Exec Response.
3354  PartyActionReport = 10042, ///< Party Action Report.
3355  PartyEntitlementsUpdateReport = 10034, ///< Party Entitlements Update Report.
3356  PingRequest = 10320, ///< Ping Request.
3357  PingResponse = 10321, ///< Ping Response.
3358  PreTradeRiskLimitResponse = 10313, ///< Pre Trade Risk Limit Response.
3359  PreTradeRiskLimitsDefinitionRequest = 10312, ///< Pre Trade Risk Limits Definition Request.
3360  QuoteActivationNotification = 10411, ///< Quote Activation Notification.
3361  QuoteActivationRequest = 10403, ///< Quote Activation Request.
3362  QuoteActivationResponse = 10404, ///< Quote Activation Response.
3363  QuoteExecutionReport = 10407, ///< Quote Execution Report.
3364  RFQRequest = 10401, ///< RFQ Request.
3365  RFQResponse = 10402, ///< RFQ Response.
3366  Reject = 10010, ///< Reject.
3367  RetransmitMEMessageRequest = 10026, ///< Retransmit ME Message Request.
3368  RetransmitMEMessageResponse = 10027, ///< Retransmit ME Message Response.
3369  RetransmitRequest = 10008, ///< Retransmit Request.
3370  RetransmitResponse = 10009, ///< Retransmit Response.
3371  ReverseTESTradeRequest = 10630, ///< Reverse TES Trade Request.
3372  RiskNotificationBroadcast = 10033, ///< Risk Notification Broadcast.
3373  SRQSCreateDealNotification = 10708, ///< SRQS Create Deal Notification.
3374  SRQSDealNotification = 10709, ///< SRQS Deal Notification.
3375  SRQSDealResponse = 10705, ///< SRQS Deal Response.
3376  SRQSEnterQuoteRequest = 10702, ///< SRQS Enter Quote Request.
3377  SRQSHitQuoteRequest = 10704, ///< SRQS Hit Quote Request.
3378  SRQSInquireSmartRespondentRequest = 10718, ///< SRQS Inquire Smart Respondent Request.
3379  SRQSInquireSmartRespondentResponse = 10719, ///< SRQS Inquire Smart Respondent Response.
3380  SRQSNegotiationNotification = 10713, ///< SRQS Negotiation Notification.
3381  SRQSNegotiationRequesterNotification = 10712, ///< SRQS Negotiation Requester Notification.
3382  SRQSNegotiationStatusNotification = 10715, ///< SRQS Negotiation Status Notification.
3383  SRQSOpenNegotiationNotification = 10711, ///< SRQS Open Negotiation Notification.
3384  SRQSOpenNegotiationRequest = 10700, ///< SRQS Open Negotiation Request.
3385  SRQSOpenNegotiationRequesterNotification = 10710, ///< SRQS Open Negotiation Requester Notification.
3386  SRQSQuoteNotification = 10707, ///< SRQS Quote Notification.
3387  SRQSQuoteResponse = 10703, ///< SRQS Quote Response.
3388  SRQSQuoteSnapshotNotification = 10723, ///< SRQS Quote Snapshot Notification.
3389  SRQSQuoteSnapshotRequest = 10720, ///< SRQS Quote Snapshot Request.
3390  SRQSQuotingStatusRequest = 10717, ///< SRQS Quoting Status Request.
3391  SRQSResponse = 10722, ///< SRQS Response.
3392  SRQSStatusBroadcast = 10714, ///< SRQS Status Broadcast.
3393  SRQSUpdateDealStatusRequest = 10706, ///< SRQS Update Deal Status Request.
3394  SRQSUpdateNegotiationRequest = 10701, ///< SRQS Update Negotiation Request.
3395  ServiceAvailabilityBroadcast = 10030, ///< Service Availability Broadcast.
3396  ServiceAvailabilityMarketBroadcast = 10044, ///< Service Availability Market Broadcast.
3397  StatusBroadcast = 10045, ///< Status Broadcast.
3398  SubscribeRequest = 10025, ///< Subscribe Request.
3399  SubscribeResponse = 10005, ///< Subscribe Response.
3400  TESApproveBroadcast = 10607, ///< TES Approve Broadcast.
3401  TESBroadcast = 10604, ///< TES Broadcast.
3402  TESDeleteBroadcast = 10606, ///< TES Delete Broadcast.
3403  TESExecutionBroadcast = 10610, ///< TES Execution Broadcast.
3404  TESResponse = 10611, ///< TES Response.
3405  TESReversalBroadcast = 10632, ///< TES Reversal Broadcast.
3406  TESTradeBroadcast = 10614, ///< TES Trade Broadcast.
3407  TESTradingSessionStatusBroadcast = 10615, ///< TES Trading Session Status Broadcast.
3408  TESUploadBroadcast = 10613, ///< TES Upload Broadcast.
3409  TMTradingSessionStatusBroadcast = 10501, ///< TM Trading Session Status Broadcast.
3410  ThrottleUpdateNotification = 10028, ///< Throttle Update Notification.
3411  TradeBroadcast = 10500, ///< Trade Broadcast.
3412  TradingSessionStatusBroadcast = 10307, ///< Trading Session Status Broadcast.
3413  UnsubscribeRequest = 10006, ///< Unsubscribe Request.
3414  UnsubscribeResponse = 10007, ///< Unsubscribe Response.
3415  UpdateRemainingRiskAllowanceBaseRequest = 10325, ///< Update Remaining Risk Allowance Base Request.
3416  UpdateRemainingRiskAllowanceBaseResponse = 10326, ///< Update Remaining Risk Allowance Base Response.
3417  UploadTESTradeRequest = 10612, ///< Upload TES Trade Request.
3418  UserLoginRequest = 10018, ///< User Login Request.
3419  UserLoginRequestEncrypted = 19018, ///< User Login Request Encrypted.
3420  UserLoginResponse = 10019, ///< User Login Response.
3421  UserLogoutRequest = 10029, ///< User Logout Request.
3422  UserLogoutResponse = 10024, ///< User Logout Response.
3423  };
3424 };
3425 
3426 /// Returns string representation.
3427 ONIXS_EUREX_ETI_EXPORT std::string enumToString(TemplateId::Enum);
3428 
3429 /// Make it printable using C++ I/O streams.
3430 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, TemplateId::Enum);
3431 
3432 }}} // namespace OnixS::Eurex::Trading
Reason for quote cancellation.
Enum
Price decomposition method for legs of a complex instrument.
Enum
Indicates if the participant application is an order routing system.
RFQ Response Message.
Definition: RFQResponse.h:35
Enum
Party ID investment decision maker qualifier.
Conveys the quote event type.
Enum
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Definition: Enumerations.h:94
Type of the Cross Request.
Definition: Enumerations.h:260
Enum
Indicates a retransmission message.
Definition: Enumerations.h:76
Indicates whether an option contract is a put or call.
Execution and trading restriction parameters supported by Eurex.
Enum
Instruction to show buy-side user information.
Enum
Indication for the hedge transaction.
Definition: Enumerations.h:664
Swap clearer for EFS Trades only.
Indicates if the participant application is an order routing system.
Enum
Used to indicate anonymized trades in baskets.
Definition: Enumerations.h:171
Indicates the auction type the trade originates from.
Indicator for a pre-trade risk limit violation.
Enum
Side of the order in the original Eurex strategy.
Identifies the status of an individual quote.
Enum
Indicator whether the reversal of the TES trade is electronically requested or not.
Enum
State of the Risk Control Retransmission Service.
Prioritization of a cross order.
Definition: Enumerations.h:242
Instrument type of the original Eurex strategy.
State of the selective service for quote service.
Enum
Leaves quantity disclosure instruction.
Definition: Enumerations.h:850
Enum
Reference to the unique application identifier.
Enum
Informs if Trade Entry Service is active for grouping of Eurex products.
Enum
Side of the order.
Mass Order Message.
Definition: MassOrder.h:71
Indicator for checking the maximum order or quote quantity by the exchange.
Logon Response Message.
Definition: LogonResponse.h:18
Indicator to skip validations.
Indicates whether the counterparties have the right for early termination.
Settlement method for a contract or instrument.
Enum
The point in the matching process at which this trade was matched.
Enum
Indicator how price validity check should be performed by the exchange.
Enum
Specifies the type of respondents requested.
Enum
Type of the Cross Request.
Definition: Enumerations.h:263
Enum
Indicates if a trade should be reported via the market reporting service.
Trading session event type.
Enlight RFQ Average Response Rate Ranking.
Definition: Enumerations.h:382
Enum
Indicates whether an option contract is a put or call.
Enum
The side of the individual leg of a strategy.
Definition: Enumerations.h:925
Type of exercise of an instrument.
Definition: Enumerations.h:566
Informs if Trade Entry Retransmission Service is active for grouping of Eurex products.
Trade request transaction type.
Instructions for order handling, represented as a bit map.
Definition: Enumerations.h:457
New Order Request Message.
Enum
Instruction to show total quantity.
Enum
Sub-type (qualifier) of market data.
Definition: Enumerations.h:979
Action for reaching risk limit.
Definition: Enumerations.h:994
Enum
Informs if Trade Entry Retransmission Service is active for grouping of Eurex products.
Enum
Indicator for a delayed transaction.
Enum
Scope for Pre-Trade risk limits.
Enum
Informs if trading is active for grouping of Eurex products.
Enum
Role on/for a message.
Definition: Enumerations.h:718
Reason for mass cancellation.
Action that caused the event to occur.
State of the Selective Service for Quote Retransmission Service.
Informs if trading is active for grouping of Eurex products.
Enum
The reason why this message was generated.
Definition: Enumerations.h:527
Enum
Indicator for a pre-trade risk limit violation.
RFQ Request Message.
Definition: RFQRequest.h:35
Enum
Trade to Quote Ratio (TQR) Ranking.
Enlight RFQ Average Response Time Ranking.
Definition: Enumerations.h:401
Enum
Code to represent the type of instrument attribute.
Definition: Enumerations.h:736
Mass Quote Request Message.
Enum
This field qualifies an instrument type on Eurex.
Enum
State of the Selective Service for Quote Retransmission Service.
Enum
Instructions for order handling, represented as a bit map.
Definition: Enumerations.h:460
Enum
Swap clearer for EFS Trades only.
Enum
Requesting party role for a pre-trade risk limit.
Leaves quantity disclosure instruction.
Definition: Enumerations.h:847
Enum
Indicates if a trade should be reported via the market reporting service.
Enum
Identifies the status of an individual quote.
Enum
State of the News Retransmission Service.
Enum
Instruction to show last deal quantity. Can only be set to 1 (Yes) if LastQtyDisclosureInstruction = ...
Definition: Enumerations.h:832
Enum
Status of an allocation in a Trade Entry Service trade.
Reason code indicating why the quote entry has been rejected.
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
Specifies the type of action requested.
Ping Response Message.
Definition: PingResponse.h:35
Reject Message.
Definition: Reject.h:35
Enum
Settlement method for a contract or instrument.
Enum
Status of an ETI session.
Enum
Instruction to show last deal price.
Definition: Enumerations.h:814
Enum
Indicator for checking open orders and quotes.
Definition: Enumerations.h:758
Enum
Party type initiating SRQS deal deletion.
State of the News Retransmission Service.
Enum
Risk Limit Result for failed events.
Indicates if an order has been previously triggered.
Side of the order in the original Eurex strategy.
Enum
Restriction for MassActionType (1373) = Release_quotes (2).
Status of an allocation in a Trade Entry Service trade.
Party type initiating SRQS deal deletion.
Enum
Code to further qualify the field ExecType (150) of the Execution Report (8) message.
Definition: Enumerations.h:481
State of the Risk Control Retransmission Service.
CLIP Response Message.
Definition: CLIPResponse.h:65
Enum
Indicates if an order has been previously triggered.
Sub-type of a trade type.
Indicates if the trade resulted from a single order or a multi leg order.
Indicates whether a option strategy synthetic BBO is used for the price improvement check...
Definition: Enumerations.h:678
Enum
Indicates whether the quote added or removed liquidity.
Instruction to show last deal information after negotiation closure.
Party ID investment decision maker qualifier.
Sub-type (qualifier) of market data.
Definition: Enumerations.h:976
Enum
Specifies the type of action requested.
Indicates if the trade notification results from an order or quote.
Enum
Identifies the quoting model.
Instruction to show buy-side user information.
User Login Request Message.
Indicates if a trade should be reported via the market reporting service.
Indicator for checking the maximum order/quote value by the exchange.
Code to represent the type of instrument attribute.
Definition: Enumerations.h:733
Identifies the type of trade notification.
Trade to Quote Ratio (TQR) Ranking.
Indicates whether the order added or removed liquidity.
Definition: Enumerations.h:584
TES Response Message.
Definition: TESResponse.h:35
Instruction to show total number of Respondents in a SRQS event.
Enum
Transaction effect on a basket.
Definition: Enumerations.h:367
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
Code to further qualify the field ExecType (150) of the Execution Report (8) message.
Definition: Enumerations.h:478
Enum
Instruction to show last deal information after negotiation closure.
Enum
Indicates if the trade notification results from an order or quote.
Requesting party role for a pre-trade risk limit.
Side of the order.
Enum
Indicator for checking the maximum order/quote value by the exchange.
Indicator for checking open orders and quotes.
Definition: Enumerations.h:755
Specifies if a strategy is temporarily (user-defined) or permanently (predefined) available...
Enum
State of the selective service for quote service.
Informs if trade broadcast dissemination is active for a grouping of Eurex products.
Enum
Instruction to show total number of Respondents in a SRQS event.
Type of quote processing.
Definition: Enumerations.h:148
Enum
Type of quote processing.
Definition: Enumerations.h:151
Indicates whether the quote added or removed liquidity.
Marks a a certain order as a closing auction one.
New Order Response Message.
Enum
Trading session event type.
Indicator whether the reversal of the TES trade is electronically requested or not.
Enum
Reason code indicating why the quote entry has been rejected.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:33
The reason why this message was generated.
Definition: Enumerations.h:524
Instruction to show last deal quantity. Can only be set to 1 (Yes) if LastQtyDisclosureInstruction = ...
Definition: Enumerations.h:829
Code to represent the type of event.
Definition: Enumerations.h:439
Role on/for a message.
Definition: Enumerations.h:715
Enum
Code to represent the type of event.
Definition: Enumerations.h:442
Instruction to show total quantity.
Ping Request Message.
Definition: PingRequest.h:35
Specifies the type of respondents requested.
Enum
Reason for quote cancellation.
Additional information why quote side was removed.
Indicates trade platform. Can only be used for EEX.
Informs if Trade Entry Service is active for grouping of Eurex products.
Enum
Indicates whether the counterparties have the right for early termination.
Enum
Prioritization of a cross order.
Definition: Enumerations.h:245
Reference to the unique application identifier.
Enum
Additional information why quote side was removed.
Indicator for a delayed transaction.
Enum
Sub-type of a trade type.
News Broadcast Message.
Definition: NewsBroadcast.h:35
Mass Order Ack Message.
Definition: MassOrderAck.h:35
Sub-type or qualifier of QuoteType.
Enum
Indicates trade platform. Can only be used for EEX.
Enum
Reason for mass cancellation.
Order initiator is passive or aggressor.
Enum
Indicator to skip validations.
Enum
Trade request transaction type.
Identifies the quoting model.
Enum
Order initiator is passive or aggressor.
Enum
Specifies if a strategy is temporarily (user-defined) or permanently (predefined) available...
The side of the individual leg of a strategy.
Definition: Enumerations.h:922
Enum
Indicates if the trade resulted from a single order or a multi leg order.
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
Enum
Type of cross being submitted to a market.
Definition: Enumerations.h:281
Indicates SMP involvement.
Definition: Enumerations.h:297
Enum
Indicates whether a option strategy synthetic BBO is used for the price improvement check...
Definition: Enumerations.h:681
Enum
Type of order processing.
Definition: Enumerations.h:131
Cross Request Message.
Definition: CrossRequest.h:35
Enum
Indicator for checking the maximum order or quote quantity by the exchange.
Indicates a retransmission message.
Definition: Enumerations.h:73
Used to indicate anonymized trades in baskets.
Definition: Enumerations.h:168
New Order NR Response Message.
std::string enumToString(ConnectionState::Enum)
Returns string representation of ConnectionState value.
Risk Limit Result for failed events.
Enum
Informs if trade broadcast dissemination is active for a grouping of Eurex products.
Instruction to show last deal price.
Definition: Enumerations.h:811
Enum
Conveys the current status of an order.
Indication for the hedge transaction.
Definition: Enumerations.h:661
Status of an ETI session.
Enum
Indicates SMP involvement.
Definition: Enumerations.h:300
Enum
Identifies the role for which the trade notification is received.
Enum
Type of exercise of an instrument.
Definition: Enumerations.h:569
Enum
Identifies the type of trade notification.
Enum
Enlight RFQ Average Response Rate Ranking.
Definition: Enumerations.h:385
Enum
Indicates whether the order added or removed liquidity.
Definition: Enumerations.h:587
Price decomposition method for legs of a complex instrument.
Enum
Status of Secondary ETI Gateway.
The point in the matching process at which this trade was matched.
Enum
Enlight RFQ Average Response Time Ranking.
Definition: Enumerations.h:404
Restriction for MassActionType (1373) = Release_quotes (2).
Conveys the current status of an order.
Quoting status for the executing party.
Transaction effect on a basket.
Definition: Enumerations.h:364
Enum
Instrument type of the original Eurex strategy.
Type of order processing.
Definition: Enumerations.h:128
Type of cross being submitted to a market.
Definition: Enumerations.h:278
Indicates if a trade should be reported via the market reporting service.
Identifies the role for which the trade notification is received.
Enum
Sub-type or qualifier of QuoteType.
Enum
Marks a a certain order as a closing auction one.
Indicator how price validity check should be performed by the exchange.
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Definition: Enumerations.h:91
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:30
Enum
Execution and trading restriction parameters supported by Eurex.
Enum
Indicates the auction type the trade originates from.
SRQS Deal Response Message.
Enum
Action for reaching risk limit.
Definition: Enumerations.h:997
This field qualifies an instrument type on Eurex.
Scope for Pre-Trade risk limits.
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:551
Enum
Conveys the quote event type.
Enum
Type of Eurex ETI session.
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:548
Enum
Quoting status for the executing party.
Status of Secondary ETI Gateway.
Type of Eurex ETI session.
SRQS Hit Quote Request Message.
Enum
Action that caused the event to occur.