OnixS C++ CME MDP Conflated UDP Handler  1.1.2
API documentation
Messages.h
Go to the documentation of this file.
1 // Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2 //
3 // This software owned by Onix Solutions Limited [OnixS] and is
4 // protected by copyright law and international copyright treaties.
5 //
6 // Access to and use of the software is governed by the terms of the applicable
7 // OnixS Software Services Agreement (the Agreement) and Customer end user license
8 // agreements granting a non-assignable, non-transferable and non-exclusive license
9 // to use the software for it's own data processing purposes under the terms defined
10 // in the Agreement.
11 //
12 // Except as otherwise granted within the terms of the Agreement, copying or
13 // reproduction of any part of this source code or associated reference material
14 // to any other location for further reproduction or redistribution, and any
15 // amendments to this copyright notice, are expressly prohibited.
16 //
17 // Any reproduction or redistribution for sale or hiring of the Software not in
18 // accordance with the terms of the Agreement is a violation of copyright law.
19 //
20 
21 #pragma once
22 
23 #include <cassert>
24 #include <stdexcept>
25 
28 
30 
31 /// AdminLogin.
35 {
36  /// Message template ID from SBE schema.
37  enum { TemplateId = 408 };
38 
39  /// Initializes blank instance.
41  {
42  }
43 
44  /// Initializes instance over given memory block.
46  const void* data,
47  EncodedLength length)
48  : BinaryMessage(data, length)
49  {
50  assert(TemplateId == templateId());
51 
52  if (length < blockLength(version()))
53  throwBadBinaryData(className());
54  }
55 
56  /// Heartbeat interval (seconds).
57  Int8 heartBtInt() const
58  {
59  const BlockLength offset = 0;
60 
61  return ordinary<Int8>(offset);
62  }
63 
64  /// Size of message body in bytes.
67  {
68  return 1;
69  }
70 
71  /// Returns class name.
73  static const Char* className()
74  {
75  return "AdminLogin408";
76  }
77 
78  /// FIX message type.
80  static StrRef fixType()
81  {
82  return toStrRef("A");
83  }
84 };
85 
86 /// AdminLogout.
90 {
91  /// Message template ID from SBE schema.
92  enum { TemplateId = 409 };
93 
94  /// Initializes blank instance.
96  {
97  }
98 
99  /// Initializes instance over given memory block.
101  const void* data,
102  EncodedLength length)
103  : BinaryMessage(data, length)
104  {
105  assert(TemplateId == templateId());
106 
107  if (length < blockLength(version()))
108  throwBadBinaryData(className());
109  }
110 
111  /// Free format text string. May include logout confirmation
112  /// or reason for logout.
113  StrRef text() const
114  {
115  const BlockLength offset = 0;
116  const BlockLength length = 180;
117 
118  return fixedStr<length>(offset);
119  }
120 
121  /// Size of message body in bytes.
124  {
125  return 180;
126  }
127 
128  /// Returns class name.
130  static const Char* className()
131  {
132  return "AdminLogout409";
133  }
134 
135  /// FIX message type.
137  static StrRef fixType()
138  {
139  return toStrRef("5");
140  }
141 };
142 
143 /// AdminHeartbeat.
147 {
148  /// Message template ID from SBE schema.
149  enum { TemplateId = 410 };
150 
151  /// Initializes blank instance.
153  {
154  }
155 
156  /// Initializes instance over given memory block.
158  const void* data,
159  EncodedLength length)
160  : BinaryMessage(data, length)
161  {
162  assert(TemplateId == templateId());
163 
164  if (length < blockLength(version()))
165  throwBadBinaryData(className());
166  }
167 
168  /// Size of message body in bytes.
171  {
172  return 0;
173  }
174 
175  /// Returns class name.
177  static const Char* className()
178  {
179  return "AdminHeartbeat410";
180  }
181 
182  /// FIX message type.
184  static StrRef fixType()
185  {
186  return toStrRef("0");
187  }
188 };
189 
190 /// MDInstrumentDefinitionFX.
194 {
195  /// Message template ID from SBE schema.
196  enum { TemplateId = 63 };
197 
198  /// Number of EventType entries.
199  /// Entry of EventsEntry repeating group.
202  <
204  >
205  {
206  /// Aliases base class type.
207  typedef
209  <
211  >
213 
214  /// Initializes blank instance.
216  {
217  }
218 
219  /// Initializes instance of given
220  /// version over given memory block.
222  const void* data,
223  EncodedLength length,
224  SchemaVersion version)
225  : Base(data, length, version)
226  {
227  if (length < blockLength(version))
228  throwBadBinaryData(className());
229  }
230 
231  /// Code to represent the type of event.
233  {
234  const BlockLength offset = 0;
235 
236  return enumeration<EventType>(offset);
237  }
238 
239  /// Date and Time of instument Activation or Expiration event
240  /// sent as number of nanoseconds since Unix epoch.
242  {
243  const BlockLength offset = 1;
244 
245  return ordinary<Timestamp>(offset);
246  }
247 
248  /// Returns size of entry body in bytes
249  /// for given version of message template.
252  {
253  return 9;
254  }
255 
256  /// Entity class name.
258  static const Char* className()
259  {
260  return "InstrumentDefinitionFX63.EventsEntry";
261  }
262  };
263 
264  /// Repeating group containing EventsEntry entries.
265  typedef
268 
269  /// Number of FeedType entries.
270  /// Entry of FeedTypesEntry repeating group.
273  <
275  >
276  {
277  /// Aliases base class type.
278  typedef
280  <
282  >
284 
285  /// Initializes blank instance.
287  {
288  }
289 
290  /// Initializes instance of given
291  /// version over given memory block.
293  const void* data,
294  EncodedLength length,
295  SchemaVersion version)
296  : Base(data, length, version)
297  {
298  if (length < blockLength(version))
299  throwBadBinaryData(className());
300  }
301 
302  /// Describes a class of service for a given data feed.
303  StrRef feedType() const
304  {
305  const BlockLength offset = 0;
306  const BlockLength length = 3;
307 
308  return fixedStr<length>(offset);
309  }
310 
311  /// Book depth.
313  {
314  const BlockLength offset = 3;
315 
316  return ordinary<Int8>(offset);
317  }
318 
319  /// Returns size of entry body in bytes
320  /// for given version of message template.
323  {
324  return 4;
325  }
326 
327  /// Entity class name.
329  static const Char* className()
330  {
331  return "InstrumentDefinitionFX63.FeedTypesEntry";
332  }
333  };
334 
335  /// Repeating group containing FeedTypesEntry entries.
336  typedef
339 
340  /// Number of InstrAttribType entries.
341  /// Entry of InstAttribEntry repeating group.
344  <
346  >
347  {
348  /// Aliases base class type.
349  typedef
351  <
353  >
355 
356  /// Initializes blank instance.
358  {
359  }
360 
361  /// Initializes instance of given
362  /// version over given memory block.
364  const void* data,
365  EncodedLength length,
366  SchemaVersion version)
367  : Base(data, length, version)
368  {
369  if (length < blockLength(version))
370  throwBadBinaryData(className());
371  }
372 
373  /// Instrument eligibility attributes.
375  {
376  return InstAttribType();
377  }
378 
379  /// Bitmap field of 32 Boolean type instrument eligibility
380  /// flags.
382  {
383  const BlockLength offset = 0;
384 
385  return ordinary<InstAttribValue>(offset);
386  }
387 
388  /// Returns size of entry body in bytes
389  /// for given version of message template.
392  {
393  return 4;
394  }
395 
396  /// Entity class name.
398  static const Char* className()
399  {
400  return "InstrumentDefinitionFX63.InstAttribEntry";
401  }
402  };
403 
404  /// Repeating group containing InstAttribEntry entries.
405  typedef
408 
409  /// Number of LotTypeRules entries.
410  /// Entry of LotTypeRulesEntry repeating group.
413  <
415  >
416  {
417  /// Aliases base class type.
418  typedef
420  <
422  >
424 
425  /// Initializes blank instance.
427  {
428  }
429 
430  /// Initializes instance of given
431  /// version over given memory block.
433  const void* data,
434  EncodedLength length,
435  SchemaVersion version)
436  : Base(data, length, version)
437  {
438  if (length < blockLength(version))
439  throwBadBinaryData(className());
440  }
441 
442  /// This tag is required to interpret the value in tag
443  /// 1231-MinLotSize.
444  Int8 lotType() const
445  {
446  const BlockLength offset = 0;
447 
448  return ordinary<Int8>(offset);
449  }
450 
451  /// For FX instruments in the repeating group with Tag
452  /// 1093-LotType=2, Tag 1231-MinLotSize provides a Regular
453  /// Amount - a default order size on the Workstation screen.
454  /// With tag 1093-LotType= 5, Tag 1231-MinLotSize value
455  /// represents standard min order qty increment. With tag
456  /// 1093-LotType=6 tag 1231-MinLotSize contains
457  /// SizePriorityQty for instruments trading with Match
458  /// Algorithm = P (Size Priority).
460  {
461  const BlockLength offset = 1;
462 
463  return ordinary<UInt64>(offset);
464  }
465 
466  /// Returns size of entry body in bytes
467  /// for given version of message template.
470  {
471  return 9;
472  }
473 
474  /// Entity class name.
476  static const Char* className()
477  {
478  return "InstrumentDefinitionFX63.LotTypeRulesEntry";
479  }
480  };
481 
482  /// Repeating group containing LotTypeRulesEntry entries.
483  typedef
486 
487  /// Number of scheduled Trading Dates.
488  /// Entry of TradingSessionsEntry repeating group.
491  <
493  >
494  {
495  /// Aliases base class type.
496  typedef
498  <
500  >
502 
503  /// Initializes blank instance.
505  {
506  }
507 
508  /// Initializes instance of given
509  /// version over given memory block.
511  const void* data,
512  EncodedLength length,
513  SchemaVersion version)
514  : Base(data, length, version)
515  {
516  if (length < blockLength(version))
517  throwBadBinaryData(className());
518  }
519 
520  /// Trade Date.
521  bool tradeDate(Timestamp& value) const
522  {
523  typedef NullLocalMktDate Null;
524  typedef LocalMktDate FieldValue;
525 
526  const BlockLength offset = 0;
527 
528  FieldValue fieldValue;
529 
530  if (ordinary(fieldValue, offset, Null()))
531  {
532  value = localMktDateToTimestamp(fieldValue);
533  return true;
534  }
535  return false;
536  }
537 
538  /// Settle (Value) Date corresponding to Trade Date.
539  bool settlDate(Timestamp& value) const
540  {
541  typedef NullLocalMktDate Null;
542  typedef LocalMktDate FieldValue;
543 
544  const BlockLength offset = 2;
545 
546  FieldValue fieldValue;
547 
548  if (ordinary(fieldValue, offset, Null()))
549  {
550  value = localMktDateToTimestamp(fieldValue);
551  return true;
552  }
553  return false;
554  }
555 
556  /// For Spot instruments will not contain the value. For NDFs,
557  /// the valuation (fixing) date of the NDF. For Fixed Date
558  /// NDFs Value Date and Maturity Date remain constant for all
559  /// Trade Dates.
561  {
562  typedef NullLocalMktDate Null;
563  typedef LocalMktDate FieldValue;
564 
565  const BlockLength offset = 4;
566 
567  FieldValue fieldValue;
568 
569  if (ordinary(fieldValue, offset, Null()))
570  {
571  value = localMktDateToTimestamp(fieldValue);
572  return true;
573  }
574  return false;
575  }
576 
577  /// ISIN value as provided by ANNA, Association of National
578  /// Numbering Agencies. This field is populated for MTF-
579  /// Regulated NDFs and is unique for each Settle Date.
581  {
582  const BlockLength offset = 6;
583  const BlockLength length = 12;
584 
585  return fixedStr<length>(offset);
586  }
587 
588  /// Identifies class or source of the SecurityAltID (455)
589  /// value.
591  {
592  return SecurityAltIDSourceISIN();
593  }
594 
595  /// Returns size of entry body in bytes
596  /// for given version of message template.
599  {
600  return 18;
601  }
602 
603  /// Entity class name.
605  static const Char* className()
606  {
607  return "InstrumentDefinitionFX63.TradingSessionsEntry";
608  }
609  };
610 
611  /// Repeating group containing TradingSessionsEntry entries.
612  typedef
615 
616  /// Initializes blank instance.
618  {
619  }
620 
621  /// Initializes instance over given memory block.
623  const void* data,
624  EncodedLength length)
625  : BinaryMessage(data, length)
626  {
627  assert(TemplateId == templateId());
628 
629  if (length < blockLength(version()))
630  throwBadBinaryData(className());
631  }
632 
633  /// Bitmap field of eight Boolean type indicators reflecting
634  /// the end of updates for a given Globex event.
636  {
637  const BlockLength offset = 0;
638 
639  return ordinary<MatchEventIndicator>(offset);
640  }
641 
642  /// Total number of instruments in the Replay loop. Used on
643  /// Replay Feed only.
645  {
646  typedef NullUInt32 Null;
647 
648  const BlockLength offset = 1;
649 
650  return ordinary(value, offset, Null());
651  }
652 
653  /// Last Security update action on Incremental feed, 'D' or
654  /// 'M' is used when a mid-week deletion or modification (i.e.
655  /// extension) occurs.
658  {
659  const BlockLength offset = 5;
660 
661  return enumeration<SecurityUpdateAction>(offset);
662  }
663 
664  /// Timestamp of when the instrument was last added, modified
665  /// or deleted.
667  {
668  const BlockLength offset = 6;
669 
670  return ordinary<Timestamp>(offset);
671  }
672 
673  /// Identifies the current state of the instrument. In
674  /// Security Definition message this tag is available in the
675  /// Instrument Replay feed only.
676  bool
679  {
680  typedef NullUInt8 Null;
681 
682  const BlockLength offset = 14;
683 
684  return enumeration<SecurityTradingStatus>(value, offset, Null());
685  }
686 
687  /// The channel ID as defined in the XML Configuration file.
688  Int16 applId() const
689  {
690  const BlockLength offset = 15;
691 
692  return ordinary<Int16>(offset);
693  }
694 
695  /// Identifies the market segment, populated for all CME
696  /// Globex instruments.
698  {
699  const BlockLength offset = 17;
700 
701  return ordinary<UInt8>(offset);
702  }
703 
704  /// Product complex.
706  {
707  const BlockLength offset = 18;
708 
709  return ordinary<UInt8>(offset);
710  }
711 
712  /// Exchange used to identify a security.
714  {
715  const BlockLength offset = 19;
716  const BlockLength length = 4;
717 
718  return fixedStr<length>(offset);
719  }
720 
721  /// Security Group Code.
723  {
724  const BlockLength offset = 23;
725  const BlockLength length = 6;
726 
727  return fixedStr<length>(offset);
728  }
729 
730  /// The underlying asset code also known as Product Code.
731  StrRef asset() const
732  {
733  const BlockLength offset = 29;
734  const BlockLength length = 6;
735 
736  return fixedStr<length>(offset);
737  }
738 
739  /// Instrument Name or Symbol.
740  StrRef symbol() const
741  {
742  const BlockLength offset = 35;
743  const BlockLength length = 20;
744 
745  return fixedStr<length>(offset);
746  }
747 
748  /// Unique instrument ID.
750  {
751  const BlockLength offset = 55;
752 
753  return ordinary<Int32>(offset);
754  }
755 
756  /// Identifies class or source of tag 48-SecurityID value.
758  {
759  return SecurityIDSource();
760  }
761 
762  /// Security Type.
764  {
765  const BlockLength offset = 59;
766  const BlockLength length = 6;
767 
768  return fixedStr<length>(offset);
769  }
770 
771  /// ISO standard instrument categorization code.
772  StrRef cfiCode() const
773  {
774  const BlockLength offset = 65;
775  const BlockLength length = 6;
776 
777  return fixedStr<length>(offset);
778  }
779 
780  /// Base currency.
781  StrRef currency() const
782  {
783  const BlockLength offset = 71;
784  const BlockLength length = 3;
785 
786  return fixedStr<length>(offset);
787  }
788 
789  /// Currency used for settlement, which may be different from
790  /// Local currency specified in Tag 1524 PriceQuoteCurrency.
792  {
793  const BlockLength offset = 74;
794  const BlockLength length = 3;
795 
796  return fixedStr<length>(offset);
797  }
798 
799  /// Local (counter) currency.
801  {
802  const BlockLength offset = 77;
803  const BlockLength length = 3;
804 
805  return fixedStr<length>(offset);
806  }
807 
808  /// Matching algorithm.
810  {
811  const BlockLength offset = 80;
812 
813  return ordinary<CHAR>(offset);
814  }
815 
816  /// The minimum trading volume for a security.
818  {
819  const BlockLength offset = 81;
820 
821  return ordinary<UInt32>(offset);
822  }
823 
824  /// The maximum trading volume for a security.
826  {
827  const BlockLength offset = 85;
828 
829  return ordinary<UInt32>(offset);
830  }
831 
832  /// Minimum price tick.
834  {
835  const BlockLength offset = 89;
836 
837  return decimal<PRICE9>(offset);
838  }
839 
840  /// Contains the multiplier to convert the CME Globex display
841  /// price to the conventional price.
843  {
844  const BlockLength offset = 97;
845 
846  return decimal<Decimal9>(offset);
847  }
848 
849  /// Specifies price decimal precision for EBS instrument.
851  {
852  const BlockLength offset = 105;
853 
854  return ordinary<UInt8>(offset);
855  }
856 
857  /// Unit of measure for the products' original contract size.
858  /// This will be populated for all products listed on CME
859  /// Globex.
861  {
862  const BlockLength offset = 106;
863  const BlockLength length = 30;
864 
865  return fixedStr<length>(offset);
866  }
867 
868  /// This field contains the contract size for each instrument.
869  /// Used in combination with tag 996-UnitofMeasure.
871  {
872  typedef NullDecimal9 Null;
873 
874  const BlockLength offset = 136;
875 
876  return decimal(value, offset, Null());
877  }
878 
879  /// Allowable high limit price for the trading day.
881  {
882  typedef NullPRICE9 Null;
883 
884  const BlockLength offset = 144;
885 
886  return decimal(value, offset, Null());
887  }
888 
889  /// Allowable low limit price for the trading day.
891  {
892  typedef NullPRICE9 Null;
893 
894  const BlockLength offset = 152;
895 
896  return decimal(value, offset, Null());
897  }
898 
899  /// Differential value for price banding.
901  {
902  typedef NullPRICE9 Null;
903 
904  const BlockLength offset = 160;
905 
906  return decimal(value, offset, Null());
907  }
908 
909  /// User-defined instruments flag.
911  {
912  const BlockLength offset = 168;
913 
914  return ordinary<UserDefinedInstrument>(offset);
915  }
916 
917  /// EBS instrument long name.
919  {
920  const BlockLength offset = 169;
921  const BlockLength length = 35;
922 
923  return fixedStr<length>(offset);
924  }
925 
926  /// Base/Local. Denotes the currency pair in CCY1/CCY2
927  /// convention.
929  {
930  const BlockLength offset = 204;
931  const BlockLength length = 7;
932 
933  return fixedStr<length>(offset);
934  }
935 
936  /// For SPOTs will contain 0. For Fixed date NDFs will contain
937  /// the value 'B'. For the standard NDFs tenors expressed
938  /// using Dx, Mx, Wx, and Yx values, where 'x' does not denote
939  /// business days, but calendar days.
941  {
942  const BlockLength offset = 211;
943  const BlockLength length = 3;
944 
945  return fixedStr<length>(offset);
946  }
947 
948  /// For SPOT, number of business days between trade date and
949  /// value (settlement) date. For NDF, number of business days
950  /// between NDF valuation (fixing) and settlement.
952  {
953  const BlockLength offset = 214;
954 
955  return ordinary<UInt16>(offset);
956  }
957 
958  /// Fixing Rate Description.
960  {
961  const BlockLength offset = 216;
962  const BlockLength length = 20;
963 
964  return fixedStr<length>(offset);
965  }
966 
967  /// Fixing Rate Source.
969  {
970  const BlockLength offset = 236;
971  const BlockLength length = 12;
972 
973  return fixedStr<length>(offset);
974  }
975 
976  /// Fixing Rate Local Time, denoted in HH:MM:SS format.
978  {
979  const BlockLength offset = 248;
980  const BlockLength length = 8;
981 
982  return fixedStr<length>(offset);
983  }
984 
985  /// Fixing Rate Local Time Zone corresponding to Fixing Local
986  /// Time.
988  {
989  const BlockLength offset = 256;
990  const BlockLength length = 20;
991 
992  return fixedStr<length>(offset);
993  }
994 
995  /// Minimum Quote Life in number of microseconds.
997  {
998  const BlockLength offset = 276;
999 
1000  return ordinary<UInt32>(offset);
1001  }
1002 
1003  /// Max allowed discretionary offset from Limit order price.
1004  /// When the value in this field = 0, discretionary price
1005  /// cannot be submitted for the instrument.
1007  {
1008  const BlockLength offset = 280;
1009 
1010  return decimal<PRICE9>(offset);
1011  }
1012 
1013  /// External unique instrument ID.
1015  {
1016  typedef NullUInt64 Null;
1017 
1018  const BlockLength offset = 288;
1019 
1020  return ordinary(value, offset, Null());
1021  }
1022 
1023  /// Fixed Date NDF Maturity.
1025  {
1026  typedef NullMaturityMonthYear Null;
1027 
1028  const BlockLength offset = 296;
1029 
1030  return ordinary(value, offset, Null());
1031  }
1032 
1033  /// Settlement Locale. Optionally used to differentiate
1034  /// settlement location.
1036  {
1037  const BlockLength offset = 301;
1038  const BlockLength length = 8;
1039 
1040  return fixedStr<length>(offset);
1041  }
1042 
1043  /// New sub-tick which is only available for order entry when
1044  /// certain conditions are met, tick value which corresponds
1045  /// to the Alt Min Quote Life.
1047  {
1048  typedef NullPRICE9 Null;
1049 
1050  const BlockLength offset = 309;
1051  const SchemaVersion since = 13;
1052 
1053  return decimal(value, offset, Null(), since);
1054  }
1055 
1056  /// MQL duration in number of microseconds applied to orders
1057  /// at AltMinPriceIncrement.
1059  {
1060  typedef NullUInt32 Null;
1061 
1062  const BlockLength offset = 317;
1063  const SchemaVersion since = 13;
1064 
1065  return ordinary(value, offset, Null(), since);
1066  }
1067 
1068  /// Minimum price offset better than the best Standard Tick
1069  /// order for an order to be allowed into the market.
1071  {
1072  typedef NullPRICE9 Null;
1073 
1074  const BlockLength offset = 321;
1075  const SchemaVersion since = 13;
1076 
1077  return decimal(value, offset, Null(), since);
1078  }
1079 
1080  /// Maximum bid/ask spread for which sub-tick orders will be
1081  /// accepted (Sub tick orders will be rejected if bid/ask
1082  /// spread is greater than this value).
1084  {
1085  typedef NullPRICE9 Null;
1086 
1087  const BlockLength offset = 329;
1088  const SchemaVersion since = 13;
1089 
1090  return decimal(value, offset, Null(), since);
1091  }
1092 
1093  /// Returns instance of Events repeating group.
1094  Events events() const
1095  {
1096  return
1097  groups().
1098  head<Events>();
1099  }
1100 
1101  /// Returns instance of FeedTypes repeating group.
1103  {
1104  return
1105  groups().
1106  tail<Events>().
1107  head<FeedTypes>();
1108  }
1109 
1110  /// Returns instance of InstAttrib repeating group.
1112  {
1113  return
1114  groups().
1115  tail<Events>().
1116  tail<FeedTypes>().
1117  head<InstAttrib>();
1118  }
1119 
1120  /// Returns instance of LotTypeRules repeating group.
1122  {
1123  return
1124  groups().
1125  tail<Events>().
1126  tail<FeedTypes>().
1127  tail<InstAttrib>().
1128  head<LotTypeRules>();
1129  }
1130 
1131  /// Returns instance of TradingSessions repeating group.
1133  {
1134  return
1135  groups().
1136  tail<Events>().
1137  tail<FeedTypes>().
1138  tail<InstAttrib>().
1139  tail<LotTypeRules>().
1140  head<TradingSessions>();
1141  }
1142 
1143  /// Size of message body in bytes.
1146  {
1147  if (version >= 13)
1148  return 337;
1149 
1150  return 309;
1151  }
1152 
1153  /// Returns class name.
1155  static const Char* className()
1156  {
1157  return "InstrumentDefinitionFX63";
1158  }
1159 
1160  /// FIX message type.
1162  static StrRef fixType()
1163  {
1164  return toStrRef("d");
1165  }
1166 };
1167 
1168 /// MDIncrementalRefreshBookLongQty.
1171 : BinaryMessage
1172 {
1173  /// Message template ID from SBE schema.
1174  enum { TemplateId = 64 };
1175 
1176  /// Number of entries in Market Data message..
1177  /// Entry of Entry repeating group.
1180  <
1182  >
1183  {
1184  /// Aliases base class type.
1185  typedef
1187  <
1189  >
1191 
1192  /// Initializes blank instance.
1194  {
1195  }
1196 
1197  /// Initializes instance of given
1198  /// version over given memory block.
1200  const void* data,
1201  EncodedLength length,
1202  SchemaVersion version)
1203  : Base(data, length, version)
1204  {
1205  if (length < blockLength(version))
1206  throwBadBinaryData(className());
1207  }
1208 
1209  /// Market Data entry price.
1210  bool entryPx(Decimal& value) const
1211  {
1212  typedef NullPRICE9 Null;
1213 
1214  const BlockLength offset = 0;
1215 
1216  return decimal(value, offset, Null());
1217  }
1218 
1219  /// Aggregate booked qty at price level, notional.
1220  bool entrySize(UInt64& value) const
1221  {
1222  typedef NullUInt64 Null;
1223 
1224  const BlockLength offset = 8;
1225 
1226  return ordinary(value, offset, Null());
1227  }
1228 
1229  /// SecurityID.
1231  {
1232  const BlockLength offset = 16;
1233 
1234  return ordinary<Int32>(offset);
1235  }
1236 
1237  /// Market Data entry sequence number per instrument update.
1238  UInt32 rptSeq() const
1239  {
1240  const BlockLength offset = 20;
1241 
1242  return ordinary<UInt32>(offset);
1243  }
1244 
1245  /// In Book entry - aggregate number of orders at given price
1246  /// level.
1248  {
1249  typedef NullInt32 Null;
1250 
1251  const BlockLength offset = 24;
1252 
1253  return ordinary(value, offset, Null());
1254  }
1255 
1256  /// Aggregate book level.
1258  {
1259  const BlockLength offset = 28;
1260 
1261  return ordinary<UInt8>(offset);
1262  }
1263 
1264  /// Market Data update action.
1266  {
1267  const BlockLength offset = 29;
1268 
1269  return enumeration<UpdateAction>(offset);
1270  }
1271 
1272  /// Market Data entry type.
1274  {
1275  const BlockLength offset = 30;
1276 
1277  return enumeration<EntryTypeBook>(offset);
1278  }
1279 
1280  /// Returns size of entry body in bytes
1281  /// for given version of message template.
1284  {
1285  return 31;
1286  }
1287 
1288  /// Entity class name.
1290  static const Char* className()
1291  {
1292  return "IncrementalRefreshBookLongQty64.Entry";
1293  }
1294  };
1295 
1296  /// Repeating group containing Entry entries.
1297  typedef
1300 
1301  /// Number of OrderID entries.
1302  /// Entry of OrderIDEntry repeating group.
1305  <
1307  >
1308  {
1309  /// Aliases base class type.
1310  typedef
1312  <
1314  >
1316 
1317  /// Initializes blank instance.
1319  {
1320  }
1321 
1322  /// Initializes instance of given
1323  /// version over given memory block.
1325  const void* data,
1326  EncodedLength length,
1327  SchemaVersion version)
1328  : Base(data, length, version)
1329  {
1330  if (length < blockLength(version))
1331  throwBadBinaryData(className());
1332  }
1333 
1334  /// Unique Order ID.
1335  UInt64 orderId() const
1336  {
1337  const BlockLength offset = 0;
1338 
1339  return ordinary<UInt64>(offset);
1340  }
1341 
1342  /// Order priority for execution on the order book.
1344  {
1345  typedef NullUInt64 Null;
1346 
1347  const BlockLength offset = 8;
1348 
1349  return ordinary(value, offset, Null());
1350  }
1351 
1352  /// Visible qty of order.
1353  bool displayQty(Int32& value) const
1354  {
1355  typedef NullInt32 Null;
1356 
1357  const BlockLength offset = 16;
1358 
1359  return ordinary(value, offset, Null());
1360  }
1361 
1362  /// Reference to corresponding Price and SecurityID, sequence
1363  /// of MD entry in the message.
1364  bool referenceId(UInt8& value) const
1365  {
1366  typedef NullUInt8 Null;
1367 
1368  const BlockLength offset = 20;
1369 
1370  return ordinary(value, offset, Null());
1371  }
1372 
1373  /// Order book update action to be applied to the order
1374  /// referenced by OrderID.
1376  {
1377  const BlockLength offset = 21;
1378 
1379  return enumeration<OrderUpdateAction>(offset);
1380  }
1381 
1382  /// Returns size of entry body in bytes
1383  /// for given version of message template.
1386  {
1387  return 22;
1388  }
1389 
1390  /// Entity class name.
1392  static const Char* className()
1393  {
1394  return "IncrementalRefreshBookLongQty64.OrderIDEntry";
1395  }
1396  };
1397 
1398  /// Repeating group containing OrderIDEntry entries.
1399  typedef
1402 
1403  /// Initializes blank instance.
1405  {
1406  }
1407 
1408  /// Initializes instance over given memory block.
1410  const void* data,
1411  EncodedLength length)
1412  : BinaryMessage(data, length)
1413  {
1414  assert(TemplateId == templateId());
1415 
1416  if (length < blockLength(version()))
1417  throwBadBinaryData(className());
1418  }
1419 
1420  /// Start of event processing time in number of nanoseconds
1421  /// since Unix epoch.
1423  {
1424  const BlockLength offset = 0;
1425 
1426  return ordinary<Timestamp>(offset);
1427  }
1428 
1429  /// Bitmap field of eight Boolean type indicators reflecting
1430  /// the end of updates for a given Globex event.
1432  {
1433  const BlockLength offset = 8;
1434 
1435  return ordinary<MatchEventIndicator>(offset);
1436  }
1437 
1438  /// Returns instance of Entries repeating group.
1440  {
1441  return
1442  groups().
1443  head<Entries>();
1444  }
1445 
1446  /// Returns instance of OrderIDEntries repeating group.
1448  {
1449  return
1450  groups().
1451  tail<Entries>().
1452  head<OrderIDEntries>();
1453  }
1454 
1455  /// Size of message body in bytes.
1458  {
1459  return 9;
1460  }
1461 
1462  /// Returns class name.
1464  static const Char* className()
1465  {
1466  return "IncrementalRefreshBookLongQty64";
1467  }
1468 
1469  /// FIX message type.
1471  static StrRef fixType()
1472  {
1473  return toStrRef("X");
1474  }
1475 };
1476 
1477 /// MDIncrementalRefreshTradeSummaryLongQty.
1480 : BinaryMessage
1481 {
1482  /// Message template ID from SBE schema.
1483  enum { TemplateId = 65 };
1484 
1485  /// Number of Trade Summary entries.
1486  /// Entry of Entry repeating group.
1489  <
1491  >
1492  {
1493  /// Aliases base class type.
1494  typedef
1496  <
1498  >
1500 
1501  /// Initializes blank instance.
1503  {
1504  }
1505 
1506  /// Initializes instance of given
1507  /// version over given memory block.
1509  const void* data,
1510  EncodedLength length,
1511  SchemaVersion version)
1512  : Base(data, length, version)
1513  {
1514  if (length < blockLength(version))
1515  throwBadBinaryData(className());
1516  }
1517 
1518  /// Trade price.
1520  {
1521  const BlockLength offset = 0;
1522 
1523  return decimal<PRICE9>(offset);
1524  }
1525 
1526  /// Consolidated trade quantity, notional.
1528  {
1529  const BlockLength offset = 8;
1530 
1531  return ordinary<UInt64>(offset);
1532  }
1533 
1534  /// Security ID.
1536  {
1537  const BlockLength offset = 16;
1538 
1539  return ordinary<Int32>(offset);
1540  }
1541 
1542  /// MD Entry sequence number per instrument update. Reset
1543  /// weekly.
1544  UInt32 rptSeq() const
1545  {
1546  const BlockLength offset = 20;
1547 
1548  return ordinary<UInt32>(offset);
1549  }
1550 
1551  /// The total number of real orders per instrument that
1552  /// participated in a match step within a match event.
1554  {
1555  const BlockLength offset = 24;
1556 
1557  return ordinary<Int32>(offset);
1558  }
1559 
1560  /// Market Data Trade Entry ID.
1562  {
1563  const BlockLength offset = 28;
1564 
1565  return ordinary<UInt32>(offset);
1566  }
1567 
1568  /// Indicates which side is the aggressor or if there is no
1569  /// aggressor.
1570  bool
1572  AggressorSide::Enum& value) const
1573  {
1574  typedef NullUInt8 Null;
1575 
1576  const BlockLength offset = 32;
1577 
1578  return enumeration<AggressorSide>(value, offset, Null());
1579  }
1580 
1581  /// Market Data update action.
1583  {
1584  const BlockLength offset = 33;
1585 
1586  return enumeration<UpdateAction>(offset);
1587  }
1588 
1589  /// Market Data entry type.
1591  {
1592  return EntryTypeTrade();
1593  }
1594 
1595  /// Returns size of entry body in bytes
1596  /// for given version of message template.
1599  {
1600  return 34;
1601  }
1602 
1603  /// Entity class name.
1605  static const Char* className()
1606  {
1607  return "IncrementalRefreshTradeSummaryLongQty65.Entry";
1608  }
1609  };
1610 
1611  /// Repeating group containing Entry entries.
1612  typedef
1615 
1616  /// Number of OrderID and LastQty entries in Trade Summary
1617  /// message.
1618  /// Entry of OrderIDEntry repeating group.
1621  <
1623  >
1624  {
1625  /// Aliases base class type.
1626  typedef
1628  <
1630  >
1632 
1633  /// Initializes blank instance.
1635  {
1636  }
1637 
1638  /// Initializes instance of given
1639  /// version over given memory block.
1641  const void* data,
1642  EncodedLength length,
1643  SchemaVersion version)
1644  : Base(data, length, version)
1645  {
1646  if (length < blockLength(version))
1647  throwBadBinaryData(className());
1648  }
1649 
1650  /// Unique order identifier as assigned by the exchange.
1651  UInt64 orderId() const
1652  {
1653  const BlockLength offset = 0;
1654 
1655  return ordinary<UInt64>(offset);
1656  }
1657 
1658  /// Quantity bought or sold on this last fill.
1659  Int32 lastQty() const
1660  {
1661  const BlockLength offset = 8;
1662 
1663  return ordinary<Int32>(offset);
1664  }
1665 
1666  /// Returns size of entry body in bytes
1667  /// for given version of message template.
1670  {
1671  return 12;
1672  }
1673 
1674  /// Entity class name.
1676  static const Char* className()
1677  {
1678  return "IncrementalRefreshTradeSummaryLongQty65.OrderIDEntry";
1679  }
1680  };
1681 
1682  /// Repeating group containing OrderIDEntry entries.
1683  typedef
1686 
1687  /// Initializes blank instance.
1689  {
1690  }
1691 
1692  /// Initializes instance over given memory block.
1694  const void* data,
1695  EncodedLength length)
1696  : BinaryMessage(data, length)
1697  {
1698  assert(TemplateId == templateId());
1699 
1700  if (length < blockLength(version()))
1701  throwBadBinaryData(className());
1702  }
1703 
1704  /// Start of event processing time in number of nanoseconds
1705  /// since Unix epoch.
1707  {
1708  const BlockLength offset = 0;
1709 
1710  return ordinary<Timestamp>(offset);
1711  }
1712 
1713  /// Bitmap field of eight Boolean type indicators reflecting
1714  /// the end of updates for a given Globex event.
1716  {
1717  const BlockLength offset = 8;
1718 
1719  return ordinary<MatchEventIndicator>(offset);
1720  }
1721 
1722  /// Returns instance of Entries repeating group.
1724  {
1725  return
1726  groups().
1727  head<Entries>();
1728  }
1729 
1730  /// Returns instance of OrderIDEntries repeating group.
1732  {
1733  return
1734  groups().
1735  tail<Entries>().
1736  head<OrderIDEntries>();
1737  }
1738 
1739  /// Size of message body in bytes.
1742  {
1743  return 9;
1744  }
1745 
1746  /// Returns class name.
1748  static const Char* className()
1749  {
1750  return "IncrementalRefreshTradeSummaryLongQty65";
1751  }
1752 
1753  /// FIX message type.
1755  static StrRef fixType()
1756  {
1757  return toStrRef("X");
1758  }
1759 };
1760 
1761 /// SnapshotFullRefreshLongQty.
1764 : BinaryMessage
1765 {
1766  /// Message template ID from SBE schema.
1767  enum { TemplateId = 69 };
1768 
1769  /// Number of entries in Market Data message.
1770  /// Entry of Entry repeating group.
1773  <
1775  >
1776  {
1777  /// Aliases base class type.
1778  typedef
1780  <
1782  >
1784 
1785  /// Initializes blank instance.
1787  {
1788  }
1789 
1790  /// Initializes instance of given
1791  /// version over given memory block.
1793  const void* data,
1794  EncodedLength length,
1795  SchemaVersion version)
1796  : Base(data, length, version)
1797  {
1798  if (length < blockLength(version))
1799  throwBadBinaryData(className());
1800  }
1801 
1802  /// Market Data entry price.
1803  bool entryPx(Decimal& value) const
1804  {
1805  typedef NullPRICE9 Null;
1806 
1807  const BlockLength offset = 0;
1808 
1809  return decimal(value, offset, Null());
1810  }
1811 
1812  /// Market Data entry size.
1813  bool entrySize(UInt64& value) const
1814  {
1815  typedef NullUInt64 Null;
1816 
1817  const BlockLength offset = 8;
1818 
1819  return ordinary(value, offset, Null());
1820  }
1821 
1822  /// In Book Entry - Aggregate number of orders at given price
1823  /// level. In Trade Entry - a total number of real orders per
1824  /// instrument that participated in a match step within a
1825  /// match event.
1827  {
1828  typedef NullInt32 Null;
1829 
1830  const BlockLength offset = 16;
1831 
1832  return ordinary(value, offset, Null());
1833  }
1834 
1835  /// Aggregate book level.
1836  bool priceLevel(UInt8& value) const
1837  {
1838  typedef NullUInt8 Null;
1839 
1840  const BlockLength offset = 20;
1841 
1842  return ordinary(value, offset, Null());
1843  }
1844 
1845  /// Flag that additionally describes a market data entry.
1846  bool
1849  {
1850  typedef NullUInt8 Null;
1851 
1852  const BlockLength offset = 21;
1853 
1854  return enumeration<OpenCloseSettlFlag>(value, offset, Null());
1855  }
1856 
1857  /// Market Data entry type.
1859  {
1860  const BlockLength offset = 22;
1861 
1862  return enumeration<EntryType>(offset);
1863  }
1864 
1865  /// Returns size of entry body in bytes
1866  /// for given version of message template.
1869  {
1870  return 23;
1871  }
1872 
1873  /// Entity class name.
1875  static const Char* className()
1876  {
1877  return "SnapshotFullRefreshLongQty69.Entry";
1878  }
1879  };
1880 
1881  /// Repeating group containing Entry entries.
1882  typedef
1885 
1886  /// Initializes blank instance.
1888  {
1889  }
1890 
1891  /// Initializes instance over given memory block.
1893  const void* data,
1894  EncodedLength length)
1895  : BinaryMessage(data, length)
1896  {
1897  assert(TemplateId == templateId());
1898 
1899  if (length < blockLength(version()))
1900  throwBadBinaryData(className());
1901  }
1902 
1903  /// Sequence number of the last Incremental feed packet
1904  /// processed. This value is used to synchronize the snapshot
1905  /// loop with the real-time feed.
1907  {
1908  const BlockLength offset = 0;
1909 
1910  return ordinary<UInt32>(offset);
1911  }
1912 
1913  /// Total number of instruments in the Replay loop. Used on
1914  /// Replay Feed only.
1916  {
1917  const BlockLength offset = 4;
1918 
1919  return ordinary<UInt32>(offset);
1920  }
1921 
1922  /// Unique instrument ID.
1924  {
1925  const BlockLength offset = 8;
1926 
1927  return ordinary<Int32>(offset);
1928  }
1929 
1930  /// MD Entry sequence number per instrument update. Reset
1931  /// weekly.
1932  UInt32 rptSeq() const
1933  {
1934  const BlockLength offset = 12;
1935 
1936  return ordinary<UInt32>(offset);
1937  }
1938 
1939  /// Timestamp of the last event security participated in, sent
1940  /// as number of nanoseconds since Unix epoch.
1942  {
1943  const BlockLength offset = 16;
1944 
1945  return ordinary<Timestamp>(offset);
1946  }
1947 
1948  /// UTC Date and time of last Security Definition add, update
1949  /// or delete on a given Market Data channel.
1951  {
1952  const BlockLength offset = 24;
1953 
1954  return ordinary<Timestamp>(offset);
1955  }
1956 
1957  /// Trade session date sent as number of days since Unix epoch.
1959  {
1960  typedef NullLocalMktDate Null;
1961  typedef LocalMktDate FieldValue;
1962 
1963  const BlockLength offset = 32;
1964 
1965  FieldValue fieldValue;
1966 
1967  if (ordinary(fieldValue, offset, Null()))
1968  {
1969  value = localMktDateToTimestamp(fieldValue);
1970  return true;
1971  }
1972  return false;
1973  }
1974 
1975  /// Identifies the current trading state of the instrument.
1976  bool
1979  {
1980  typedef NullUInt8 Null;
1981 
1982  const BlockLength offset = 34;
1983 
1984  return enumeration<SecurityTradingStatus>(value, offset, Null());
1985  }
1986 
1987  /// Upper price threshold for the instrument. Orders submitted
1988  /// with prices above the upper limit will be rejected.
1990  {
1991  typedef NullPRICE9 Null;
1992 
1993  const BlockLength offset = 35;
1994 
1995  return decimal(value, offset, Null());
1996  }
1997 
1998  /// Lower price threshold for the instrument. Orders submitted
1999  /// with prices below the lower limit will be rejected.
2001  {
2002  typedef NullPRICE9 Null;
2003 
2004  const BlockLength offset = 43;
2005 
2006  return decimal(value, offset, Null());
2007  }
2008 
2009  /// Differential value for price banding.
2011  {
2012  typedef NullPRICE9 Null;
2013 
2014  const BlockLength offset = 51;
2015 
2016  return decimal(value, offset, Null());
2017  }
2018 
2019  /// Returns instance of Entries repeating group.
2021  {
2022  return
2023  groups().
2024  head<Entries>();
2025  }
2026 
2027  /// Size of message body in bytes.
2030  {
2031  return 59;
2032  }
2033 
2034  /// Returns class name.
2036  static const Char* className()
2037  {
2038  return "SnapshotFullRefreshLongQty69";
2039  }
2040 
2041  /// FIX message type.
2043  static StrRef fixType()
2044  {
2045  return toStrRef("W");
2046  }
2047 };
2048 
2049 /// ChannelReset.
2052 : BinaryMessage
2053 {
2054  /// Message template ID from SBE schema.
2055  enum { TemplateId = 4 };
2056 
2057  /// Number of entries in Market Data message.
2058  /// Entry of Entry repeating group.
2061  <
2063  >
2064  {
2065  /// Aliases base class type.
2066  typedef
2068  <
2070  >
2072 
2073  /// Initializes blank instance.
2075  {
2076  }
2077 
2078  /// Initializes instance of given
2079  /// version over given memory block.
2081  const void* data,
2082  EncodedLength length,
2083  SchemaVersion version)
2084  : Base(data, length, version)
2085  {
2086  if (length < blockLength(version))
2087  throwBadBinaryData(className());
2088  }
2089 
2090  /// Market Data update action.
2092  {
2093  return UpdateTypeNew();
2094  }
2095 
2096  /// Market Data entry type.
2098  {
2099  return EntryTypeChannelReset();
2100  }
2101 
2102  /// Indicates the channel ID as defined in the XML
2103  /// configuration file.
2104  Int16 applId() const
2105  {
2106  const BlockLength offset = 0;
2107 
2108  return ordinary<Int16>(offset);
2109  }
2110 
2111  /// Returns size of entry body in bytes
2112  /// for given version of message template.
2115  {
2116  return 2;
2117  }
2118 
2119  /// Entity class name.
2121  static const Char* className()
2122  {
2123  return "ChannelReset4.Entry";
2124  }
2125  };
2126 
2127  /// Repeating group containing Entry entries.
2128  typedef
2131 
2132  /// Initializes blank instance.
2134  {
2135  }
2136 
2137  /// Initializes instance over given memory block.
2139  const void* data,
2140  EncodedLength length)
2141  : BinaryMessage(data, length)
2142  {
2143  assert(TemplateId == templateId());
2144 
2145  if (length < blockLength(version()))
2146  throwBadBinaryData(className());
2147  }
2148 
2149  /// Start of event processing time in number of nanoseconds
2150  /// since Unix epoch.
2152  {
2153  const BlockLength offset = 0;
2154 
2155  return ordinary<Timestamp>(offset);
2156  }
2157 
2158  /// Bitmap field of eight Boolean type indicators reflecting
2159  /// the end of updates for a given Globex event.
2161  {
2162  const BlockLength offset = 8;
2163 
2164  return ordinary<MatchEventIndicator>(offset);
2165  }
2166 
2167  /// Returns instance of Entries repeating group.
2169  {
2170  return
2171  groups().
2172  head<Entries>();
2173  }
2174 
2175  /// Size of message body in bytes.
2178  {
2179  return 9;
2180  }
2181 
2182  /// Returns class name.
2184  static const Char* className()
2185  {
2186  return "ChannelReset4";
2187  }
2188 
2189  /// FIX message type.
2191  static StrRef fixType()
2192  {
2193  return toStrRef("X");
2194  }
2195 };
2196 
2197 /// AdminHeartbeat.
2200 : BinaryMessage
2201 {
2202  /// Message template ID from SBE schema.
2203  enum { TemplateId = 12 };
2204 
2205  /// Initializes blank instance.
2207  {
2208  }
2209 
2210  /// Initializes instance over given memory block.
2212  const void* data,
2213  EncodedLength length)
2214  : BinaryMessage(data, length)
2215  {
2216  assert(TemplateId == templateId());
2217 
2218  if (length < blockLength(version()))
2219  throwBadBinaryData(className());
2220  }
2221 
2222  /// Size of message body in bytes.
2225  {
2226  return 0;
2227  }
2228 
2229  /// Returns class name.
2231  static const Char* className()
2232  {
2233  return "AdminHeartbeat12";
2234  }
2235 
2236  /// FIX message type.
2238  static StrRef fixType()
2239  {
2240  return toStrRef("0");
2241  }
2242 };
2243 
2244 /// AdminLogin.
2246 AdminLogin15
2247 : BinaryMessage
2248 {
2249  /// Message template ID from SBE schema.
2250  enum { TemplateId = 15 };
2251 
2252  /// Initializes blank instance.
2254  {
2255  }
2256 
2257  /// Initializes instance over given memory block.
2259  const void* data,
2260  EncodedLength length)
2261  : BinaryMessage(data, length)
2262  {
2263  assert(TemplateId == templateId());
2264 
2265  if (length < blockLength(version()))
2266  throwBadBinaryData(className());
2267  }
2268 
2269  /// Heartbeat interval (seconds).
2271  {
2272  const BlockLength offset = 0;
2273 
2274  return ordinary<Int8>(offset);
2275  }
2276 
2277  /// Size of message body in bytes.
2280  {
2281  return 1;
2282  }
2283 
2284  /// Returns class name.
2286  static const Char* className()
2287  {
2288  return "AdminLogin15";
2289  }
2290 
2291  /// FIX message type.
2293  static StrRef fixType()
2294  {
2295  return toStrRef("A");
2296  }
2297 };
2298 
2299 /// AdminLogout.
2302 : BinaryMessage
2303 {
2304  /// Message template ID from SBE schema.
2305  enum { TemplateId = 16 };
2306 
2307  /// Initializes blank instance.
2309  {
2310  }
2311 
2312  /// Initializes instance over given memory block.
2314  const void* data,
2315  EncodedLength length)
2316  : BinaryMessage(data, length)
2317  {
2318  assert(TemplateId == templateId());
2319 
2320  if (length < blockLength(version()))
2321  throwBadBinaryData(className());
2322  }
2323 
2324  /// Free format text string. May include logout confirmation
2325  /// or reason for logout.
2326  StrRef text() const
2327  {
2328  const BlockLength offset = 0;
2329  const BlockLength length = 180;
2330 
2331  return fixedStr<length>(offset);
2332  }
2333 
2334  /// Size of message body in bytes.
2337  {
2338  return 180;
2339  }
2340 
2341  /// Returns class name.
2343  static const Char* className()
2344  {
2345  return "AdminLogout16";
2346  }
2347 
2348  /// FIX message type.
2350  static StrRef fixType()
2351  {
2352  return toStrRef("5");
2353  }
2354 };
2355 
2356 /// SecurityStatus.
2359 : BinaryMessage
2360 {
2361  /// Message template ID from SBE schema.
2362  enum { TemplateId = 30 };
2363 
2364  /// Initializes blank instance.
2366  {
2367  }
2368 
2369  /// Initializes instance over given memory block.
2371  const void* data,
2372  EncodedLength length)
2373  : BinaryMessage(data, length)
2374  {
2375  assert(TemplateId == templateId());
2376 
2377  if (length < blockLength(version()))
2378  throwBadBinaryData(className());
2379  }
2380 
2381  /// Start of event processing time in number of nanoseconds
2382  /// since Unix epoch.
2384  {
2385  const BlockLength offset = 0;
2386 
2387  return ordinary<Timestamp>(offset);
2388  }
2389 
2390  /// Security Group.
2392  {
2393  const BlockLength offset = 8;
2394  const BlockLength length = 6;
2395 
2396  return fixedStr<length>(offset);
2397  }
2398 
2399  /// Product Code within Security Group specified.
2400  StrRef asset() const
2401  {
2402  const BlockLength offset = 14;
2403  const BlockLength length = 6;
2404 
2405  return fixedStr<length>(offset);
2406  }
2407 
2408  /// If this tag is present, 35=f message is sent for the
2409  /// instrument.
2410  bool securityId(Int32& value) const
2411  {
2412  typedef NullInt32 Null;
2413 
2414  const BlockLength offset = 20;
2415 
2416  return ordinary(value, offset, Null());
2417  }
2418 
2419  /// Trade Session Date.
2421  {
2422  typedef NullLocalMktDate Null;
2423  typedef LocalMktDate FieldValue;
2424 
2425  const BlockLength offset = 24;
2426 
2427  FieldValue fieldValue;
2428 
2429  if (ordinary(fieldValue, offset, Null()))
2430  {
2431  value = localMktDateToTimestamp(fieldValue);
2432  return true;
2433  }
2434  return false;
2435  }
2436 
2437  /// Bitmap field of eight Boolean type indicators reflecting
2438  /// the end of updates for a given Globex event.
2440  {
2441  const BlockLength offset = 26;
2442 
2443  return ordinary<MatchEventIndicator>(offset);
2444  }
2445 
2446  /// Identifies the trading status applicable to the instrument
2447  /// or Security Group.
2448  bool
2451  {
2452  typedef NullUInt8 Null;
2453 
2454  const BlockLength offset = 27;
2455 
2456  return enumeration<SecurityTradingStatus>(value, offset, Null());
2457  }
2458 
2459  /// Identifies the reason for the status change.
2461  {
2462  const BlockLength offset = 28;
2463 
2464  return enumeration<HaltReason>(offset);
2465  }
2466 
2467  /// Identifies an additional event or a rule related to the
2468  /// status.
2471  {
2472  const BlockLength offset = 29;
2473 
2474  return enumeration<SecurityTradingEvent>(offset);
2475  }
2476 
2477  /// Size of message body in bytes.
2480  {
2481  return 30;
2482  }
2483 
2484  /// Returns class name.
2486  static const Char* className()
2487  {
2488  return "SecurityStatus30";
2489  }
2490 
2491  /// FIX message type.
2493  static StrRef fixType()
2494  {
2495  return toStrRef("f");
2496  }
2497 };
2498 
2499 /// MDIncrementalRefreshLimitsBanding.
2502 : BinaryMessage
2503 {
2504  /// Message template ID from SBE schema.
2505  enum { TemplateId = 50 };
2506 
2507  /// Number of entries in Market Data message.
2508  /// Entry of Entry repeating group.
2511  <
2513  >
2514  {
2515  /// Aliases base class type.
2516  typedef
2518  <
2520  >
2522 
2523  /// Initializes blank instance.
2525  {
2526  }
2527 
2528  /// Initializes instance of given
2529  /// version over given memory block.
2531  const void* data,
2532  EncodedLength length,
2533  SchemaVersion version)
2534  : Base(data, length, version)
2535  {
2536  if (length < blockLength(version))
2537  throwBadBinaryData(className());
2538  }
2539 
2540  /// Upper price threshold for the instrument.
2542  {
2543  typedef NullPRICE9 Null;
2544 
2545  const BlockLength offset = 0;
2546 
2547  return decimal(value, offset, Null());
2548  }
2549 
2550  /// Lower price threshold for the instrument.
2552  {
2553  typedef NullPRICE9 Null;
2554 
2555  const BlockLength offset = 8;
2556 
2557  return decimal(value, offset, Null());
2558  }
2559 
2560  /// Differential static value for price banding.
2562  {
2563  typedef NullPRICE9 Null;
2564 
2565  const BlockLength offset = 16;
2566 
2567  return decimal(value, offset, Null());
2568  }
2569 
2570  /// Security ID.
2572  {
2573  const BlockLength offset = 24;
2574 
2575  return ordinary<Int32>(offset);
2576  }
2577 
2578  /// MD Entry sequence number per instrument update.
2579  UInt32 rptSeq() const
2580  {
2581  const BlockLength offset = 28;
2582 
2583  return ordinary<UInt32>(offset);
2584  }
2585 
2586  /// Market Data entry update action. In order to delete
2587  /// banding value, high or low limit, the deleted price field
2588  /// is populated with a NULL.
2590  {
2591  return UpdateActionNew();
2592  }
2593 
2594  /// Market Data entry type.
2596  {
2597  return EntryTypeLimits();
2598  }
2599 
2600  /// Returns size of entry body in bytes
2601  /// for given version of message template.
2604  {
2605  return 32;
2606  }
2607 
2608  /// Entity class name.
2610  static const Char* className()
2611  {
2612  return "IncrementalRefreshLimitsBanding50.Entry";
2613  }
2614  };
2615 
2616  /// Repeating group containing Entry entries.
2617  typedef
2620 
2621  /// Initializes blank instance.
2623  {
2624  }
2625 
2626  /// Initializes instance over given memory block.
2628  const void* data,
2629  EncodedLength length)
2630  : BinaryMessage(data, length)
2631  {
2632  assert(TemplateId == templateId());
2633 
2634  if (length < blockLength(version()))
2635  throwBadBinaryData(className());
2636  }
2637 
2638  /// Start of event processing time in number of nanoseconds
2639  /// since Unix epoch.
2641  {
2642  const BlockLength offset = 0;
2643 
2644  return ordinary<Timestamp>(offset);
2645  }
2646 
2647  /// Bitmap field of eight Boolean type indicators reflecting
2648  /// the end of updates for a given Globex event.
2650  {
2651  const BlockLength offset = 8;
2652 
2653  return ordinary<MatchEventIndicator>(offset);
2654  }
2655 
2656  /// Returns instance of Entries repeating group.
2658  {
2659  return
2660  groups().
2661  head<Entries>();
2662  }
2663 
2664  /// Size of message body in bytes.
2667  {
2668  return 9;
2669  }
2670 
2671  /// Returns class name.
2673  static const Char* className()
2674  {
2675  return "IncrementalRefreshLimitsBanding50";
2676  }
2677 
2678  /// FIX message type.
2680  static StrRef fixType()
2681  {
2682  return toStrRef("X");
2683  }
2684 };
2685 
2686 
bool displayQty(Int32 &value) const
Visible qty of order.
Definition: Messages.h:1353
IncrementalRefreshLimitsBanding50(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2627
bool maturityMonthYear(MaturityMonthYear &value) const
Fixed Date NDF Maturity.
Definition: Messages.h:1024
AdminHeartbeat410()
Initializes blank instance.
Definition: Messages.h:152
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1190
BinaryGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:338
bool maxBidAskConstraint(Decimal &value) const
Definition: Messages.h:1083
A real number with floating exponent.
Definition: Decimal.h:231
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:1669
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:1723
UInt64 UInt64
uInt64.
Definition: Fields.h:265
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:329
MatchEventIndicator matchEventIndicator() const
Definition: Messages.h:2160
Entry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:2530
Null values definition for optional MaturityMonthYear field.
Definition: Composites.h:213
SecurityIDSource securityIdSource() const
Identifies class or source of tag 48-SecurityID value.
Definition: Messages.h:757
UInt32 rptSeq() const
Market Data entry sequence number per instrument update.
Definition: Messages.h:1238
StrRef fxBenchmarkRateFix() const
Fixing Rate Description.
Definition: Messages.h:959
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:1741
Int8 heartBtInt() const
Heartbeat interval (seconds).
Definition: Messages.h:2270
UInt64 entrySize() const
Consolidated trade quantity, notional.
Definition: Messages.h:1527
UpdateAction::Enum updateAction() const
Market Data update action.
Definition: Messages.h:1582
StrRef priceQuoteCurrency() const
Local (counter) currency.
Definition: Messages.h:800
IncrementalRefreshBookLongQty64()
Initializes blank instance.
Definition: Messages.h:1404
MessageHeader::Version SchemaVersion
Aliases SBE-encoded data version type.
Definition: SchemaTraits.h:30
CHAR matchAlgorithm() const
Matching algorithm.
Definition: Messages.h:809
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:1755
bool securityId(Int32 &value) const
Definition: Messages.h:2410
bool tradeDate(Timestamp &value) const
Trade session date sent as number of days since Unix epoch.
Definition: Messages.h:1958
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:1598
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:2238
Int32 securityId() const
Unique instrument ID.
Definition: Messages.h:1923
IntegralConstant< Int8, 24 > InstAttribType
Eligibility.
Definition: Fields.h:61
bool highLimitPrice(Decimal &value) const
Allowable high limit price for the trading day.
Definition: Messages.h:880
StrRef currency() const
Base currency.
Definition: Messages.h:781
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:2231
Int16 applId() const
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:688
HaltReason::Enum haltReason() const
Identifies the reason for the status change.
Definition: Messages.h:2460
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const
Definition: Messages.h:2449
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:2493
OrderIDEntries orderIdEntries() const
Returns instance of OrderIDEntries repeating group.
Definition: Messages.h:1447
FeedTypesEntry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:292
UInt8 pricePrecision() const
Specifies price decimal precision for EBS instrument.
Definition: Messages.h:850
Timestamp localMktDateToTimestamp(LocalMktDate days)
Converts days since epoch to Timestamp value.
Definition: Fields.h:1168
StrRef securityExchange() const
Exchange used to identify a security.
Definition: Messages.h:713
bool orderPriority(UInt64 &value) const
Order priority for execution on the order book.
Definition: Messages.h:1343
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:1457
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:2657
Entry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:1199
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:258
Events events() const
Returns instance of Events repeating group.
Definition: Messages.h:1094
AdminLogout16(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2313
IntegralConstant< Char, '8'> SecurityIDSource
Definition: Fields.h:161
StrRef asset() const
Product Code within Security Group specified.
Definition: Messages.h:2400
bool instrumentGUId(UInt64 &value) const
External unique instrument ID.
Definition: Messages.h:1014
ChannelReset4()
Initializes blank instance.
Definition: Messages.h:2133
InstrumentDefinitionFX63(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:622
#define ONIXS_CONFLATEDUDP_LTWT_EXPORTED
Definition: Bootstrap.h:103
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:2293
StrRef asset() const
The underlying asset code also known as Product Code.
Definition: Messages.h:731
bool tradeDate(Timestamp &value) const
Trade Session Date.
Definition: Messages.h:2420
Int32 Int32
int32.
Definition: Fields.h:69
bool entryPx(Decimal &value) const
Market Data entry price.
Definition: Messages.h:1210
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:1676
bool lowLimitPrice(Decimal &value) const
Allowable low limit price for the trading day.
Definition: Messages.h:890
SecurityStatus30()
Initializes blank instance.
Definition: Messages.h:2365
Represents time point without time-zone information.
Definition: Time.h:471
EntryTypeLimits entryType() const
Market Data entry type.
Definition: Messages.h:2595
AdminHeartbeat12(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2211
UInt8 underlyingProduct() const
Product complex.
Definition: Messages.h:705
IncrementalRefreshTradeSummaryLongQty65()
Initializes blank instance.
Definition: Messages.h:1688
Entry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:2080
AdminLogout409(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:100
Null values definition for optional Decimal9 field.
Definition: Composites.h:41
UpdateTypeNew updateAction() const
Market Data update action.
Definition: Messages.h:2091
Encapsulates operations over SBE-encoded repeating group.
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:1875
IntegralConstant< Char, '2'> EntryTypeTrade
MDEntryTypeTrade.
Definition: Fields.h:103
UserDefinedInstrument userDefinedInstrument() const
User-defined instruments flag.
Definition: Messages.h:910
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:2121
bool priceLevel(UInt8 &value) const
Aggregate book level.
Definition: Messages.h:1836
UInt32 UInt32
uInt32.
Definition: Fields.h:261
bool maxPriceVariation(Decimal &value) const
Differential static value for price banding.
Definition: Messages.h:2561
OrderIDEntries orderIdEntries() const
Returns instance of OrderIDEntries repeating group.
Definition: Messages.h:1731
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:177
LotTypeRulesEntry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:432
bool maxPriceVariation(Decimal &value) const
Differential value for price banding.
Definition: Messages.h:900
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:212
IncrementalRefreshBookLongQty64(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:1409
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:1385
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:476
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:391
Null values definition for optional PRICE9 field.
Definition: Composites.h:250
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2666
bool altMinPriceIncrement(Decimal &value) const
Definition: Messages.h:1046
Encapsulates services for manipulating SBE-encoded messages.
SecurityUpdateAction::Enum securityUpdateAction() const
Definition: Messages.h:657
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const
Identifies the current trading state of the instrument.
Definition: Messages.h:1977
Int32 lastQty() const
Quantity bought or sold on this last fill.
Definition: Messages.h:1659
char Char
Character type alias.
Definition: String.h:36
AdminLogin15(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2258
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:2579
UInt32 minTradeVol() const
The minimum trading volume for a security.
Definition: Messages.h:817
Decimal minPriceIncrement() const
Minimum price tick.
Definition: Messages.h:833
bool lowLimitPrice(Decimal &value) const
Lower price threshold for the instrument.
Definition: Messages.h:2551
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:398
EventsEntry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:221
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:2673
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:2043
bool entrySize(UInt64 &value) const
Aggregate booked qty at price level, notional.
Definition: Messages.h:1220
AdminLogin408()
Initializes blank instance.
Definition: Messages.h:40
bool maxPriceVariation(Decimal &value) const
Differential value for price banding.
Definition: Messages.h:2010
BinaryGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:1884
BinaryGroup< InstAttribEntry, GroupSize, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:407
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:605
BinaryGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:267
Entry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:1508
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2029
IntegralConstant< Char, 'J'> EntryTypeChannelReset
Channel Reset message entry type.
Definition: Fields.h:91
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:2020
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:1162
LotTypeRules lotTypeRules() const
Returns instance of LotTypeRules repeating group.
Definition: Messages.h:1121
bool highLimitPrice(Decimal &value) const
Upper price threshold for the instrument.
Definition: Messages.h:2541
IncrementalRefreshTradeSummaryLongQty65(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:1693
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:501
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:322
bool altPriceIncrementConstraint(Decimal &value) const
Definition: Messages.h:1070
#define ONIXS_CONFLATEDUDP_LTWT_STRUCT
Definition: Bootstrap.h:99
AdminLogin15()
Initializes blank instance.
Definition: Messages.h:2253
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:1464
Int16 Int16
int16.
Definition: Fields.h:65
BinaryGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:1614
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:137
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:2486
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:354
SnapshotFullRefreshLongQty69()
Initializes blank instance.
Definition: Messages.h:1887
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2177
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:251
EntryTypeBook::Enum entryType() const
Market Data entry type.
Definition: Messages.h:1273
AdminLogout16()
Initializes blank instance.
Definition: Messages.h:2308
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:73
bool entryPx(Decimal &value) const
Market Data entry price.
Definition: Messages.h:1803
SecurityTradingEvent::Enum securityTradingEvent() const
Definition: Messages.h:2470
BinaryGroup< OrderIDEntry, GroupSize8Byte, MessageSize > OrderIDEntries
Repeating group containing OrderIDEntry entries.
Definition: Messages.h:1685
StrRef rateSource() const
Fixing Rate Source.
Definition: Messages.h:968
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:2036
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:2191
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:130
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:469
StrRef securityType() const
Security Type.
Definition: Messages.h:763
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:170
StrRef feedType() const
Describes a class of service for a given data feed.
Definition: Messages.h:303
EntryTypeTrade entryType() const
Market Data entry type.
Definition: Messages.h:1590
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:2114
FeedTypes feedTypes() const
Returns instance of FeedTypes repeating group.
Definition: Messages.h:1102
SnapshotFullRefreshLongQty69(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:1892
Int8 heartBtInt() const
Heartbeat interval (seconds).
Definition: Messages.h:57
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:2350
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:1605
IntegralConstant< Char, 'g'> EntryTypeLimits
MDEntryTypeLimits.
Definition: Fields.h:97
AdminHeartbeat12()
Initializes blank instance.
Definition: Messages.h:2206
EntryType::Enum entryType() const
Market Data entry type.
Definition: Messages.h:1858
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:1283
MessageSize EncodedLength
Length of message binary data.
MatchEventIndicator type.
Definition: Fields.h:992
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:1155
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:2071
IntegralConstant< Int8, 0 > UpdateActionNew
MDUpdateActionNew.
Definition: Fields.h:121
OrderIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:1324
UInt16 BlockLength
blockLength type.
Definition: Composites.h:291
#define ONIXS_CONFLATEDUDP_NAMESPACE_END
Definition: Bootstrap.h:157
bool entrySize(UInt64 &value) const
Market Data entry size.
Definition: Messages.h:1813
Entry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:1792
UInt16 UInt16
uInt16.
Definition: Fields.h:257
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:1439
OrderIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:1640
StrRef securityGroup() const
Security Group Code.
Definition: Messages.h:722
StrRef cfiCode() const
ISO standard instrument categorization code.
Definition: Messages.h:772
BinaryGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:1299
Entry()
Initializes blank instance.
Definition: Messages.h:2074
StrRef securityGroup() const
Security Group.
Definition: Messages.h:2391
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:1868
StrRef fixRateLocalTime() const
Fixing Rate Local Time, denoted in HH:MM:SS format.
Definition: Messages.h:977
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2479
UInt64 orderId() const
Unique order identifier as assigned by the exchange.
Definition: Messages.h:1651
UInt32 minQuoteLife() const
Minimum Quote Life in number of microseconds.
Definition: Messages.h:996
UInt32 tradeEntryId() const
Market Data Trade Entry ID.
Definition: Messages.h:1561
MatchEventIndicator matchEventIndicator() const
Definition: Messages.h:2439
BinaryGroupEntry< GroupSize8Byte::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1631
StrRef financialInstrumentFullName() const
EBS instrument long name.
Definition: Messages.h:918
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:2184
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:2610
UInt8 UInt8
uInt8.
Definition: Fields.h:269
bool unitOfMeasureQty(Decimal &value) const
Definition: Messages.h:870
MatchEventIndicator matchEventIndicator() const
Definition: Messages.h:635
StrRef toStrRef(const std::string &str)
Constructs StrRef instance over std::string content.
Definition: String.h:174
BinaryGroupEntry< GroupSize8Byte::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1315
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:184
BinaryGroup< OrderIDEntry, GroupSize8Byte, MessageSize > OrderIDEntries
Repeating group containing OrderIDEntry entries.
Definition: Messages.h:1401
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:2286
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:1145
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:2521
IntegralConstant< UInt8, 4 > SecurityAltIDSourceISIN
Definition: Fields.h:141
InstrumentDefinitionFX63()
Initializes blank instance.
Definition: Messages.h:617
bool value(Number &number, const MultiContainer &container, Tag tag)
InstAttribType instAttribType() const
Instrument eligibility attributes.
Definition: Messages.h:374
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2224
InstAttrib instAttrib() const
Returns instance of InstAttrib repeating group.
Definition: Messages.h:1111
TradingSessions tradingSessions() const
Returns instance of TradingSessions repeating group.
Definition: Messages.h:1132
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:123
EventType::Enum eventType() const
Code to represent the type of event.
Definition: Messages.h:232
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2336
AdminLogout409()
Initializes blank instance.
Definition: Messages.h:95
IncrementalRefreshLimitsBanding50()
Initializes blank instance.
Definition: Messages.h:2622
bool settlDate(Timestamp &value) const
Settle (Value) Date corresponding to Trade Date.
Definition: Messages.h:539
ChannelReset4(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2138
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const
Definition: Messages.h:677
TradingSessionsEntry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:510
BinaryGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:2619
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1499
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:2168
BinaryGroup< TradingSessionsEntry, GroupSize, MessageSize > TradingSessions
Repeating group containing TradingSessionsEntry entries.
Definition: Messages.h:614
AdminHeartbeat410(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:157
Int32 securityId() const
Unique instrument ID.
Definition: Messages.h:749
UpdateAction::Enum updateAction() const
Market Data update action.
Definition: Messages.h:1265
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2279
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:2343
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:1471
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:423
UInt32 maxTradeVol() const
The maximum trading volume for a security.
Definition: Messages.h:825
ONIXS_CONFLATEDUDP_EXPORTED void throwBadBinaryData(const Char *className)
Throws exception on bad repeating group entry.
StrRef symbol() const
Instrument Name or Symbol.
Definition: Messages.h:740
bool openCloseSettlFlag(OpenCloseSettlFlag::Enum &value) const
Flag that additionally describes a market data entry.
Definition: Messages.h:1847
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:283
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Returns class name.
Definition: Messages.h:1748
SecurityStatus30(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2370
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:1392
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1783
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:80
#define ONIXS_CONFLATEDUDP_NAMESPACE_BEGIN
Definition: Bootstrap.h:153
AdminLogin408(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:45
BinaryGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:2130
InstAttribEntry(const void *data, EncodedLength length, SchemaVersion version)
Definition: Messages.h:363
static ONIXS_CONFLATEDUDP_EXPORTED StrRef fixType()
FIX message type.
Definition: Messages.h:2680
static ONIXS_CONFLATEDUDP_EXPORTED const Char * className()
Entity class name.
Definition: Messages.h:1290
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:598
BinaryGroup< LotTypeRulesEntry, GroupSize, MessageSize > LotTypeRules
Repeating group containing LotTypeRulesEntry entries.
Definition: Messages.h:485
EntryTypeChannelReset entryType() const
Market Data entry type.
Definition: Messages.h:2097
IntegralConstant< Int8, 0 > UpdateTypeNew
MDUpdateTypeNew.
Definition: Fields.h:127
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Definition: Messages.h:2603
static ONIXS_CONFLATEDUDP_EXPORTED BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:66