OnixS C++ CME MDP Conflated TCP Handler  1.3.1
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 
29 
31 
33 
34 /// MDInstrumentDefinitionFixedIncome.
37 : SbeMessage
38 {
39  /// Used template schema.
41 
42  /// This type alias.
44 
45  /// Message template ID from SBE schema.
46  enum { TemplateId = 57 };
47 
48  /// Number of repeating EventType entries.
49  /// Entry of EventsEntry repeating group.
52  <
54  >
55  {
56  /// Base class type.
57  typedef
59  <
61  >
63 
64  /// This type alias.
66 
67  /// Initializes instance of given
68  /// version over given memory block.
70  void* data,
71  EncodedLength length,
72  SchemaVersion version)
73  : Base(data, length, version)
74  {
75  assert(version >= Schema::MinimalVersion);
76  assert(length >= minimalBlockLength(version));
77  }
78 
79  /// Reset all variable-length fields if any.
80  ThisType& resetVariableFields()
82  {
83  return *this;
84  }
85 
86  /// Reset all variable-length and optional fields if any.
87  ThisType& reset()
89  {
90  resetVariableFields();
91  return *this;
92  }
93 
94  /// Code to represent the type of event.
98  {
100 
101  return enumeration<EventType>(offset);
102  }
103 
104  /// Code to represent the type of event.
105  ThisType& setEventType(EventType::Enum value)
107  {
109 
110  setEnumeration<EventType>(offset, value);
111  return *this;
112  }
113 
114  /// Date and Time of instrument Activation or Expiration event
115  /// sent as number of nanoseconds since Unix epoch.
119  {
121 
122  return ordinary<Timestamp>(offset);
123  }
124 
125  /// Date and Time of instrument Activation or Expiration event
126  /// sent as number of nanoseconds since Unix epoch.
127  ThisType& setEventTime(Timestamp value)
129  {
131 
132  setOrdinary(offset, value.sinceEpoch());
133  return *this;
134  }
135 
136  /// \return size of entry body in bytes
137  /// for given version of message template.
142  {
143  return
144  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
145  minimalBlockLength(version);
146  }
147 
148  /// \return minimal size of entry body in bytes
149  /// for given version of message template.
152  static
155  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
157  {
158  return
159  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
160  9;
161  }
162 
163  /// Entity class name.
167  static const Char* className()
168  {
169  return "InstrumentDefinitionFixedIncome57.EventsEntry";
170  }
171  };
172 
173  /// Repeating group containing EventsEntry entries.
174  typedef
177 
178  /// Number of repeating FeedType repeating group entries.
179  /// Entry of FeedTypesEntry repeating group.
182  <
184  >
185  {
186  /// Base class type.
187  typedef
189  <
191  >
193 
194  /// This type alias.
196 
197  /// Initializes instance of given
198  /// version over given memory block.
200  void* data,
201  EncodedLength length,
202  SchemaVersion version)
203  : Base(data, length, version)
204  {
205  assert(version >= Schema::MinimalVersion);
206  assert(length >= minimalBlockLength(version));
207  }
208 
209  /// Reset all variable-length fields if any.
212  {
213  return *this;
214  }
215 
216  /// Reset all variable-length and optional fields if any.
217  ThisType& reset()
219  {
220  resetVariableFields();
221  return *this;
222  }
223 
224  /// Describes a class of service for a given data feed. GBX-
225  /// Real Book, GBI-Implied Book.
227  StrRef feedType() const
229  {
232 
233  return fixedStr<length>(offset);
234  }
235 
236  /// Describes a class of service for a given data feed. GBX-
237  /// Real Book, GBI-Implied Book.
238  ThisType& setFeedType(StrRef value)
240  {
243 
244  setFixedStr<length>(offset, value);
245  return *this;
246  }
247 
248  /// book depth.
252  {
254 
255  return ordinary<Int8>(offset);
256  }
257 
258  /// book depth.
259  ThisType& setMarketDepth(Int8 value)
261  {
263 
264  setOrdinary(offset, value);
265  return *this;
266  }
267 
268  /// \return size of entry body in bytes
269  /// for given version of message template.
274  {
275  return
276  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
277  minimalBlockLength(version);
278  }
279 
280  /// \return minimal size of entry body in bytes
281  /// for given version of message template.
284  static
287  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
289  {
290  return
291  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
292  4;
293  }
294 
295  /// Entity class name.
299  static const Char* className()
300  {
301  return "InstrumentDefinitionFixedIncome57.FeedTypesEntry";
302  }
303  };
304 
305  /// Repeating group containing FeedTypesEntry entries.
306  typedef
309 
310  /// Number of repeating InstrAttribType entries.
311  /// Entry of InstAttribEntry repeating group.
314  <
316  >
317  {
318  /// Base class type.
319  typedef
321  <
323  >
325 
326  /// This type alias.
328 
329  /// Initializes instance of given
330  /// version over given memory block.
332  void* data,
333  EncodedLength length,
334  SchemaVersion version)
335  : Base(data, length, version)
336  {
337  assert(version >= Schema::MinimalVersion);
338  assert(length >= minimalBlockLength(version));
339  }
340 
341  /// Reset all variable-length fields if any.
344  {
345  return *this;
346  }
347 
348  /// Reset all variable-length and optional fields if any.
349  ThisType& reset()
351  {
352  resetVariableFields();
353  return *this;
354  }
355 
356  /// Instrument eligibility attributes.
361  {
362  return InstAttribType();
363  }
364 
365  /// Bitmap field of 32 Boolean type instrument eligibility
366  /// flags.
370  {
372 
373  return ordinary<InstAttribValue>(offset);
374  }
375 
376  /// Bitmap field of 32 Boolean type instrument eligibility
377  /// flags.
380  {
382 
383  setOrdinary(offset, value);
384  return *this;
385  }
386 
387  /// \return size of entry body in bytes
388  /// for given version of message template.
393  {
394  return
395  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
396  minimalBlockLength(version);
397  }
398 
399  /// \return minimal size of entry body in bytes
400  /// for given version of message template.
403  static
406  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
408  {
409  return
410  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
411  4;
412  }
413 
414  /// Entity class name.
418  static const Char* className()
419  {
420  return "InstrumentDefinitionFixedIncome57.InstAttribEntry";
421  }
422  };
423 
424  /// Repeating group containing InstAttribEntry entries.
425  typedef
428 
429  /// Number of entries.
430  /// Entry of LotTypeRulesEntry repeating group.
433  <
435  >
436  {
437  /// Base class type.
438  typedef
440  <
442  >
444 
445  /// This type alias.
447 
448  /// Initializes instance of given
449  /// version over given memory block.
451  void* data,
452  EncodedLength length,
453  SchemaVersion version)
454  : Base(data, length, version)
455  {
456  assert(version >= Schema::MinimalVersion);
457  assert(length >= minimalBlockLength(version));
458  }
459 
460  /// Reset all variable-length fields if any.
463  {
464  return *this;
465  }
466 
467  /// Reset all variable-length and optional fields if any.
468  ThisType& reset()
470  {
471  minLotSizeNull();
472 
473  resetVariableFields();
474  return *this;
475  }
476 
477  /// This tag is required to interpret the value in tag
478  /// 1231-MinLotSize.
480  Int8 lotType() const
482  {
484 
485  return ordinary<Int8>(offset);
486  }
487 
488  /// This tag is required to interpret the value in tag
489  /// 1231-MinLotSize.
490  ThisType& setLotType(Int8 value)
492  {
494 
495  setOrdinary(offset, value);
496  return *this;
497  }
498 
499  /// Minimum quantity accepted for order entry. If tag
500  /// 1093-LotType=4, this value is the minimum quantity for
501  /// order entry expressed in the applicable units, specified
502  /// in tag 996-UnitOfMeasure, (e.g., megawatts). If tag
503  /// 1093-LotType= 5, this value represents order qty increment.
505  bool minLotSize(DecimalQty& value) const
507  {
509 
510  return decimal(value, offset, NullDecimalQty());
511  }
512 
513  /// Minimum quantity accepted for order entry. If tag
514  /// 1093-LotType=4, this value is the minimum quantity for
515  /// order entry expressed in the applicable units, specified
516  /// in tag 996-UnitOfMeasure, (e.g., megawatts). If tag
517  /// 1093-LotType= 5, this value represents order qty increment.
518  ThisType& setMinLotSize(DecimalQty value)
520  {
522 
523  setOrdinary(offset, value);
524  return *this;
525  }
526 
527  ThisType& minLotSizeNull()
529  {
531 
532  setOrdinary(offset, NullDecimalQty());
533  return *this;
534  }
535 
536  /// \return size of entry body in bytes
537  /// for given version of message template.
542  {
543  return
544  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
545  minimalBlockLength(version);
546  }
547 
548  /// \return minimal size of entry body in bytes
549  /// for given version of message template.
552  static
555  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
557  {
558  return
559  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
560  5;
561  }
562 
563  /// Entity class name.
567  static const Char* className()
568  {
569  return "InstrumentDefinitionFixedIncome57.LotTypeRulesEntry";
570  }
571  };
572 
573  /// Repeating group containing LotTypeRulesEntry entries.
574  typedef
577 
578  /// Initializes a blank instance.
579  InstrumentDefinitionFixedIncome57() ONIXS_CONFLATEDTCP_DEFAULT;
580 
581  /// Initializes an instance over the given memory block.
583  void* data,
584  EncodedLength length,
585  SchemaVersion version = Schema::Version)
586  : SbeMessage(data, length, version)
587  {
588  checkVersion<Schema>(version);
589  checkLength(length, version);
590  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
591  reset();
592  }
593 
594  /// Initializes an instance over the given memory block
595  /// With no variable-length fields initialization
596  /// It is assumed that the user does such an initialization manually.
598  void* data,
599  EncodedLength length,
600  NoFieldsInit,
601  SchemaVersion version = Schema::Version)
602  : SbeMessage(data, length, version)
603  {
604  checkVersion<Schema>(version);
605  checkLength(length, version);
606  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
607  resetVariableFields();
608  }
609 
610  /// Creates an instance over the given memory block.
612  void* data,
613  EncodedLength length,
614  NoInit)
615  : SbeMessage(data, length)
616  {
617  checkCompatibility();
618  }
619 
620  /// Creates an instance over the given SBE message.
621  explicit
623  const SbeMessage& message)
624  : SbeMessage(message)
625  {
626  assert(message.valid());
627 
628  checkCompatibility();
629  }
630 
631  /// Bitmap field of eight Boolean type indicators reflecting
632  /// the end of updates for a given Globex event.
636  {
638 
639  return ordinary<MatchEventIndicator>(offset);
640  }
641 
642  /// Bitmap field of eight Boolean type indicators reflecting
643  /// the end of updates for a given Globex event.
644  ThisType&
646  MatchEventIndicator value)
648  {
650 
651  setOrdinary(offset, value);
652  return *this;
653  }
654 
655  /// Total number of instruments in the Replay loop. Used on
656  /// Replay Feed only.
658  bool totNumReports(UInt32& value) const
660  {
662 
663  return ordinary(value, offset, NullUInt32());
664  }
665 
666  /// Total number of instruments in the Replay loop. Used on
667  /// Replay Feed only.
668  ThisType& setTotNumReports(UInt32 value)
670  {
672 
673  setOrdinary(offset, value);
674  return *this;
675  }
676 
677  ThisType& totNumReportsNull()
679  {
681 
682  setOrdinary(offset, NullUInt32());
683  return *this;
684  }
685 
686  /// Last Security update action on Incremental feed, 'D' or
687  /// 'M' is used when a mid-week deletion or modification (i.e.
688  /// extension) occurs.
693  {
695 
696  return enumeration<SecurityUpdateAction>(offset);
697  }
698 
699  /// Last Security update action on Incremental feed, 'D' or
700  /// 'M' is used when a mid-week deletion or modification (i.e.
701  /// extension) occurs.
702  ThisType&
706  {
708 
709  setEnumeration<SecurityUpdateAction>(offset, value);
710  return *this;
711  }
712 
713  /// Timestamp of when the instrument was last added, modified
714  /// or deleted.
718  {
720 
721  return ordinary<Timestamp>(offset);
722  }
723 
724  /// Timestamp of when the instrument was last added, modified
725  /// or deleted.
726  ThisType& setLastUpdateTime(Timestamp value)
728  {
730 
731  setOrdinary(offset, value.sinceEpoch());
732  return *this;
733  }
734 
735  /// Identifies the current market state of the instrument.
737  bool
739  SecurityTradingStatus::Enum& value) const
741  {
743 
744  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
745  }
746 
747  /// Identifies the current market state of the instrument.
748  ThisType&
752  {
754 
755  setEnumeration<SecurityTradingStatus>(offset, value);
756  return *this;
757  }
758 
761  {
763 
764  setOrdinary(offset, NullUInt8());
765  return *this;
766  }
767 
768  /// MD channel ID as defined in the XML Configuration file.
770  Int16 applId() const
772  {
774 
775  return ordinary<Int16>(offset);
776  }
777 
778  /// MD channel ID as defined in the XML Configuration file.
779  ThisType& setApplId(Int16 value)
781  {
783 
784  setOrdinary(offset, value);
785  return *this;
786  }
787 
788  /// Identifies the market segment for all CME Globex
789  /// instruments.
793  {
795 
796  return ordinary<UInt8>(offset);
797  }
798 
799  /// Identifies the market segment for all CME Globex
800  /// instruments.
801  ThisType& setMarketSegmentId(UInt8 value)
803  {
805 
806  setOrdinary(offset, value);
807  return *this;
808  }
809 
810  /// Indicates the product complex.
814  {
816 
817  return ordinary<UInt8>(offset);
818  }
819 
820  /// Indicates the product complex.
821  ThisType& setUnderlyingProduct(UInt8 value)
823  {
825 
826  setOrdinary(offset, value);
827  return *this;
828  }
829 
830  /// Exchange used to identify a security.
834  {
837 
838  return fixedStr<length>(offset);
839  }
840 
841  /// Exchange used to identify a security.
842  ThisType& setSecurityExchange(StrRef value)
844  {
847 
848  setFixedStr<length>(offset, value);
849  return *this;
850  }
851 
852  /// Security Group Code.
856  {
859 
860  return fixedStr<length>(offset);
861  }
862 
863  /// Security Group Code.
864  ThisType& setSecurityGroup(StrRef value)
866  {
869 
870  setFixedStr<length>(offset, value);
871  return *this;
872  }
873 
874  /// The underlying asset code also known as Product Code.
876  StrRef asset() const
878  {
881 
882  return fixedStr<length>(offset);
883  }
884 
885  /// The underlying asset code also known as Product Code.
886  ThisType& setAsset(StrRef value)
888  {
891 
892  setFixedStr<length>(offset, value);
893  return *this;
894  }
895 
896  /// Instrument Name or Symbol.
898  StrRef symbol() const
900  {
903 
904  return fixedStr<length>(offset);
905  }
906 
907  /// Instrument Name or Symbol.
908  ThisType& setSymbol(StrRef value)
910  {
913 
914  setFixedStr<length>(offset, value);
915  return *this;
916  }
917 
918  /// Unique instrument ID.
922  {
924 
925  return ordinary<Int32>(offset);
926  }
927 
928  /// Unique instrument ID.
929  ThisType& setSecurityId(Int32 value)
931  {
933 
934  setOrdinary(offset, value);
935  return *this;
936  }
937 
938  /// Identifies class or source of Tag 48-SecurityID value.
943  {
944  return SecurityIDSource();
945  }
946 
947  /// Security Type.
951  {
954 
955  return fixedStr<length>(offset);
956  }
957 
958  /// Security Type.
959  ThisType& setSecurityType(StrRef value)
961  {
964 
965  setFixedStr<length>(offset, value);
966  return *this;
967  }
968 
969  /// ISO standard instrument categorization code.
971  StrRef cfiCode() const
973  {
976 
977  return fixedStr<length>(offset);
978  }
979 
980  /// ISO standard instrument categorization code.
981  ThisType& setCfiCode(StrRef value)
983  {
986 
987  setFixedStr<length>(offset, value);
988  return *this;
989  }
990 
991  /// Identifies the currency used for price.
993  StrRef currency() const
995  {
998 
999  return fixedStr<length>(offset);
1000  }
1001 
1002  /// Identifies the currency used for price.
1003  ThisType& setCurrency(StrRef value)
1005  {
1008 
1009  setFixedStr<length>(offset, value);
1010  return *this;
1011  }
1012 
1013  /// Identifies currency used for settlement, if different from
1014  /// trade price currency.
1018  {
1021 
1022  return fixedStr<length>(offset);
1023  }
1024 
1025  /// Identifies currency used for settlement, if different from
1026  /// trade price currency.
1027  ThisType& setSettlCurrency(StrRef value)
1029  {
1032 
1033  setFixedStr<length>(offset, value);
1034  return *this;
1035  }
1036 
1037  /// Matching Algorithm.
1041  {
1043 
1044  return ordinary<CHAR>(offset);
1045  }
1046 
1047  /// Matching Algorithm.
1048  ThisType& setMatchAlgorithm(CHAR value)
1050  {
1052 
1053  setOrdinary(offset, value);
1054  return *this;
1055  }
1056 
1057  /// The minimum trading volume for a security.
1061  {
1063 
1064  return ordinary<UInt32>(offset);
1065  }
1066 
1067  /// The minimum trading volume for a security.
1068  ThisType& setMinTradeVol(UInt32 value)
1070  {
1072 
1073  setOrdinary(offset, value);
1074  return *this;
1075  }
1076 
1077  /// The maximum trading volume for a security.
1081  {
1083 
1084  return ordinary<UInt32>(offset);
1085  }
1086 
1087  /// The maximum trading volume for a security.
1088  ThisType& setMaxTradeVol(UInt32 value)
1090  {
1092 
1093  setOrdinary(offset, value);
1094  return *this;
1095  }
1096 
1097  /// Minimum constant tick for the instrument, sent only if
1098  /// instrument is non-VTT (Variable Tick table) eligible.
1100  bool minPriceIncrement(PRICE9& value) const
1102  {
1104 
1105  return decimal(value, offset, NullPRICE9());
1106  }
1107 
1108  /// Minimum constant tick for the instrument, sent only if
1109  /// instrument is non-VTT (Variable Tick table) eligible.
1110  ThisType& setMinPriceIncrement(PRICE9 value)
1112  {
1114 
1115  setOrdinary(offset, value);
1116  return *this;
1117  }
1118 
1121  {
1123 
1124  setOrdinary(offset, NullPRICE9());
1125  return *this;
1126  }
1127 
1128  /// Contains the multiplier to convert the CME Globex display
1129  /// price to the conventional price.
1133  {
1135 
1136  return decimal<Decimal9>(offset);
1137  }
1138 
1139  /// Contains the multiplier to convert the CME Globex display
1140  /// price to the conventional price.
1141  ThisType& setDisplayFactor(Decimal9 value)
1143  {
1145 
1146  setOrdinary(offset, value);
1147  return *this;
1148  }
1149 
1150  /// Price Denominator of Main Fraction.
1152  bool mainFraction(UInt8& value) const
1154  {
1156 
1157  return ordinary(value, offset, NullUInt8());
1158  }
1159 
1160  /// Price Denominator of Main Fraction.
1161  ThisType& setMainFraction(UInt8 value)
1163  {
1165 
1166  setOrdinary(offset, value);
1167  return *this;
1168  }
1169 
1170  ThisType& mainFractionNull()
1172  {
1174 
1175  setOrdinary(offset, NullUInt8());
1176  return *this;
1177  }
1178 
1179  /// Price Denominator of Sub Fraction.
1181  bool subFraction(UInt8& value) const
1183  {
1185 
1186  return ordinary(value, offset, NullUInt8());
1187  }
1188 
1189  /// Price Denominator of Sub Fraction.
1190  ThisType& setSubFraction(UInt8 value)
1192  {
1194 
1195  setOrdinary(offset, value);
1196  return *this;
1197  }
1198 
1199  ThisType& subFractionNull()
1201  {
1203 
1204  setOrdinary(offset, NullUInt8());
1205  return *this;
1206  }
1207 
1208  /// Number of Decimals in Displayed Price.
1210  bool priceDisplayFormat(UInt8& value) const
1212  {
1214 
1215  return ordinary(value, offset, NullUInt8());
1216  }
1217 
1218  /// Number of Decimals in Displayed Price.
1219  ThisType& setPriceDisplayFormat(UInt8 value)
1221  {
1223 
1224  setOrdinary(offset, value);
1225  return *this;
1226  }
1227 
1230  {
1232 
1233  setOrdinary(offset, NullUInt8());
1234  return *this;
1235  }
1236 
1237  /// Unit of measure for the products' original contract size.
1238  /// This will be populated for all products listed on CME
1239  /// Globex.
1243  {
1246 
1247  return fixedStr<length>(offset);
1248  }
1249 
1250  /// Unit of measure for the products' original contract size.
1251  /// This will be populated for all products listed on CME
1252  /// Globex.
1253  ThisType& setUnitOfMeasure(StrRef value)
1255  {
1258 
1259  setFixedStr<length>(offset, value);
1260  return *this;
1261  }
1262 
1263  /// This field contains the contract size for each instrument.
1264  /// Use in combination with tag 996-UnitofMeasure.
1266  bool unitOfMeasureQty(Decimal9& value) const
1268  {
1270 
1271  return decimal(value, offset, NullDecimal9());
1272  }
1273 
1274  /// This field contains the contract size for each instrument.
1275  /// Use in combination with tag 996-UnitofMeasure.
1278  {
1280 
1281  setOrdinary(offset, value);
1282  return *this;
1283  }
1284 
1287  {
1289 
1290  setOrdinary(offset, NullDecimal9());
1291  return *this;
1292  }
1293 
1294  /// Trading Reference Price.
1296  bool tradingReferencePrice(PRICE9& value) const
1298  {
1300 
1301  return decimal(value, offset, NullPRICE9());
1302  }
1303 
1304  /// Trading Reference Price.
1307  {
1309 
1310  setOrdinary(offset, value);
1311  return *this;
1312  }
1313 
1316  {
1318 
1319  setOrdinary(offset, NullPRICE9());
1320  return *this;
1321  }
1322 
1323  /// Indicates session date corresponding to the reference
1324  /// price in tag 1150-TradingReferencePrice.
1326  bool tradingReferenceDate(Timestamp& value) const
1328  {
1329  typedef LocalMktDate FieldValue;
1330 
1332 
1333  FieldValue fieldValue;
1334 
1335  if (ordinary(fieldValue, offset, NullLocalMktDate()))
1336  {
1337  value = localMktDateToTimestamp(fieldValue);
1338  return true;
1339  }
1340  return false;
1341  }
1342 
1343  /// Indicates session date corresponding to the reference
1344  /// price in tag 1150-TradingReferencePrice.
1347  {
1349 
1350  setOrdinary(offset, timestampToLocalMktDate(value));
1351  return *this;
1352  }
1353 
1356  {
1358 
1359  setOrdinary(offset, NullLocalMktDate());
1360  return *this;
1361  }
1362 
1363  /// Allowable high limit price for the trading day.
1365  bool highLimitPrice(PRICE9& value) const
1367  {
1369 
1370  return decimal(value, offset, NullPRICE9());
1371  }
1372 
1373  /// Allowable high limit price for the trading day.
1374  ThisType& setHighLimitPrice(PRICE9 value)
1376  {
1378 
1379  setOrdinary(offset, value);
1380  return *this;
1381  }
1382 
1385  {
1387 
1388  setOrdinary(offset, NullPRICE9());
1389  return *this;
1390  }
1391 
1392  /// Allowable low limit price for the trading day.
1394  bool lowLimitPrice(PRICE9& value) const
1396  {
1398 
1399  return decimal(value, offset, NullPRICE9());
1400  }
1401 
1402  /// Allowable low limit price for the trading day.
1403  ThisType& setLowLimitPrice(PRICE9 value)
1405  {
1407 
1408  setOrdinary(offset, value);
1409  return *this;
1410  }
1411 
1412  ThisType& lowLimitPriceNull()
1414  {
1416 
1417  setOrdinary(offset, NullPRICE9());
1418  return *this;
1419  }
1420 
1421  /// Differential value for price banding.
1423  bool maxPriceVariation(PRICE9& value) const
1425  {
1427 
1428  return decimal(value, offset, NullPRICE9());
1429  }
1430 
1431  /// Differential value for price banding.
1432  ThisType& setMaxPriceVariation(PRICE9 value)
1434  {
1436 
1437  setOrdinary(offset, value);
1438  return *this;
1439  }
1440 
1443  {
1445 
1446  setOrdinary(offset, NullPRICE9());
1447  return *this;
1448  }
1449 
1450  /// Monetary value equivalent to the minimum price
1451  /// fluctuation.
1453  bool minPriceIncrementAmount(PRICE9& value) const
1455  {
1457 
1458  return decimal(value, offset, NullPRICE9());
1459  }
1460 
1461  /// Monetary value equivalent to the minimum price
1462  /// fluctuation.
1465  {
1467 
1468  setOrdinary(offset, value);
1469  return *this;
1470  }
1471 
1474  {
1476 
1477  setOrdinary(offset, NullPRICE9());
1478  return *this;
1479  }
1480 
1481  /// Issue Date.
1483  bool issueDate(Timestamp& value) const
1485  {
1486  typedef LocalMktDate FieldValue;
1487 
1489 
1490  FieldValue fieldValue;
1491 
1492  if (ordinary(fieldValue, offset, NullLocalMktDate()))
1493  {
1494  value = localMktDateToTimestamp(fieldValue);
1495  return true;
1496  }
1497  return false;
1498  }
1499 
1500  /// Issue Date.
1501  ThisType& setIssueDate(Timestamp value)
1503  {
1505 
1506  setOrdinary(offset, timestampToLocalMktDate(value));
1507  return *this;
1508  }
1509 
1510  ThisType& issueDateNull()
1512  {
1514 
1515  setOrdinary(offset, NullLocalMktDate());
1516  return *this;
1517  }
1518 
1519  /// Dated Date.
1521  bool datedDate(Timestamp& value) const
1523  {
1524  typedef LocalMktDate FieldValue;
1525 
1527 
1528  FieldValue fieldValue;
1529 
1530  if (ordinary(fieldValue, offset, NullLocalMktDate()))
1531  {
1532  value = localMktDateToTimestamp(fieldValue);
1533  return true;
1534  }
1535  return false;
1536  }
1537 
1538  /// Dated Date.
1539  ThisType& setDatedDate(Timestamp value)
1541  {
1543 
1544  setOrdinary(offset, timestampToLocalMktDate(value));
1545  return *this;
1546  }
1547 
1548  ThisType& datedDateNull()
1550  {
1552 
1553  setOrdinary(offset, NullLocalMktDate());
1554  return *this;
1555  }
1556 
1557  /// Maturity Date.
1559  bool maturityDate(Timestamp& value) const
1561  {
1562  typedef LocalMktDate FieldValue;
1563 
1565 
1566  FieldValue fieldValue;
1567 
1568  if (ordinary(fieldValue, offset, NullLocalMktDate()))
1569  {
1570  value = localMktDateToTimestamp(fieldValue);
1571  return true;
1572  }
1573  return false;
1574  }
1575 
1576  /// Maturity Date.
1577  ThisType& setMaturityDate(Timestamp value)
1579  {
1581 
1582  setOrdinary(offset, timestampToLocalMktDate(value));
1583  return *this;
1584  }
1585 
1586  ThisType& maturityDateNull()
1588  {
1590 
1591  setOrdinary(offset, NullLocalMktDate());
1592  return *this;
1593  }
1594 
1595  /// The rate of interest that, when multiplied by the
1596  /// principal, par value, or face value of a bond, provides
1597  /// the currency amount of the periodic interest payment.
1599  bool couponRate(Decimal9& value) const
1601  {
1603 
1604  return decimal(value, offset, NullDecimal9());
1605  }
1606 
1607  /// The rate of interest that, when multiplied by the
1608  /// principal, par value, or face value of a bond, provides
1609  /// the currency amount of the periodic interest payment.
1610  ThisType& setCouponRate(Decimal9 value)
1612  {
1614 
1615  setOrdinary(offset, value);
1616  return *this;
1617  }
1618 
1619  ThisType& couponRateNull()
1621  {
1623 
1624  setOrdinary(offset, NullDecimal9());
1625  return *this;
1626  }
1627 
1628  /// Par value.
1630  bool parValue(PRICE9& value) const
1632  {
1634 
1635  return decimal(value, offset, NullPRICE9());
1636  }
1637 
1638  /// Par value.
1639  ThisType& setParValue(PRICE9 value)
1641  {
1643 
1644  setOrdinary(offset, value);
1645  return *this;
1646  }
1647 
1648  ThisType& parValueNull()
1650  {
1652 
1653  setOrdinary(offset, NullPRICE9());
1654  return *this;
1655  }
1656 
1657  /// Time unit associated with the frequency of the bond's
1658  /// coupon payment.
1662  {
1665 
1666  return fixedStr<length>(offset);
1667  }
1668 
1669  /// Time unit associated with the frequency of the bond's
1670  /// coupon payment.
1673  {
1676 
1677  setFixedStr<length>(offset, value);
1678  return *this;
1679  }
1680 
1681  /// Time unit multiplier for the frequency of the bond's
1682  /// coupon payment.
1684  bool couponFrequencyPeriod(UInt16& value) const
1686  {
1688 
1689  return ordinary(value, offset, NullUInt16());
1690  }
1691 
1692  /// Time unit multiplier for the frequency of the bond's
1693  /// coupon payment.
1696  {
1698 
1699  setOrdinary(offset, value);
1700  return *this;
1701  }
1702 
1705  {
1707 
1708  setOrdinary(offset, NullUInt16());
1709  return *this;
1710  }
1711 
1712  /// The day count convention used in interest calculations for
1713  /// a bond or an interest bearing security.
1717  {
1720 
1721  return fixedStr<length>(offset);
1722  }
1723 
1724  /// The day count convention used in interest calculations for
1725  /// a bond or an interest bearing security.
1726  ThisType& setCouponDayCount(StrRef value)
1728  {
1731 
1732  setFixedStr<length>(offset, value);
1733  return *this;
1734  }
1735 
1736  /// Country of Origin, ISO alpha-2 country code.
1740  {
1743 
1744  return fixedStr<length>(offset);
1745  }
1746 
1747  /// Country of Origin, ISO alpha-2 country code.
1748  ThisType& setCountryOfIssue(StrRef value)
1750  {
1753 
1754  setFixedStr<length>(offset, value);
1755  return *this;
1756  }
1757 
1758  /// Name of security issuer or the Legal Entity Identifier
1759  /// (LEI - the International ISO standard 17442).
1761  StrRef issuer() const
1763  {
1766 
1767  return fixedStr<length>(offset);
1768  }
1769 
1770  /// Name of security issuer or the Legal Entity Identifier
1771  /// (LEI - the International ISO standard 17442).
1772  ThisType& setIssuer(StrRef value)
1774  {
1777 
1778  setFixedStr<length>(offset, value);
1779  return *this;
1780  }
1781 
1782  /// Long name of the instrument.
1786  {
1789 
1790  return fixedStr<length>(offset);
1791  }
1792 
1793  /// Long name of the instrument.
1796  {
1799 
1800  setFixedStr<length>(offset, value);
1801  return *this;
1802  }
1803 
1804  /// Expanded instrument description. Will contain either ISIN
1805  /// or CUSIP.
1809  {
1812 
1813  return fixedStr<length>(offset);
1814  }
1815 
1816  /// Expanded instrument description. Will contain either ISIN
1817  /// or CUSIP.
1818  ThisType& setSecurityAltId(StrRef value)
1820  {
1823 
1824  setFixedStr<length>(offset, value);
1825  return *this;
1826  }
1827 
1828  /// Identifies class or source of the SecurityAltID (455)
1829  /// value.
1831  bool
1833  SecurityAltIDSource::Enum& value) const
1835  {
1837 
1838  return enumeration<SecurityAltIDSource>(value, offset, NullUInt8());
1839  }
1840 
1841  /// Identifies class or source of the SecurityAltID (455)
1842  /// value.
1843  ThisType&
1847  {
1849 
1850  setEnumeration<SecurityAltIDSource>(offset, value);
1851  return *this;
1852  }
1853 
1856  {
1858 
1859  setOrdinary(offset, NullUInt8());
1860  return *this;
1861  }
1862 
1863  /// Price quotation method.
1867  {
1870 
1871  return fixedStr<length>(offset);
1872  }
1873 
1874  /// Price quotation method.
1875  ThisType& setPriceQuoteMethod(StrRef value)
1877  {
1880 
1881  setFixedStr<length>(offset, value);
1882  return *this;
1883  }
1884 
1885  /// Clearing organization.
1889  {
1892 
1893  return fixedStr<length>(offset);
1894  }
1895 
1896  /// Clearing organization.
1899  {
1902 
1903  setFixedStr<length>(offset, value);
1904  return *this;
1905  }
1906 
1907  /// User-defined Instrument flag.
1911  {
1913 
1914  return ordinary<UserDefinedInstrument>(offset);
1915  }
1916 
1917  /// User-defined Instrument flag.
1918  ThisType&
1920  UserDefinedInstrument value)
1922  {
1924 
1925  setOrdinary(offset, value);
1926  return *this;
1927  }
1928 
1929  /// Risk Set identifies the list of instruments sharing credit
1930  /// limits set up.
1932  StrRef riskSet() const
1934  {
1937 
1938  return fixedStr<length>(offset);
1939  }
1940 
1941  /// Risk Set identifies the list of instruments sharing credit
1942  /// limits set up.
1943  ThisType& setRiskSet(StrRef value)
1945  {
1948 
1949  setFixedStr<length>(offset, value);
1950  return *this;
1951  }
1952 
1953  /// Market Set defines the bilateral relationship and Self
1954  /// Match Prevention configuration for eligible markets.
1958  {
1961 
1962  return fixedStr<length>(offset);
1963  }
1964 
1965  /// Market Set defines the bilateral relationship and Self
1966  /// Match Prevention configuration for eligible markets.
1967  ThisType& setMarketSet(StrRef value)
1969  {
1972 
1973  setFixedStr<length>(offset, value);
1974  return *this;
1975  }
1976 
1977  /// External unique instrument ID.
1979  bool instrumentGUId(UInt64& value) const
1981  {
1983 
1984  return ordinary(value, offset, NullUInt64());
1985  }
1986 
1987  /// External unique instrument ID.
1988  ThisType& setInstrumentGUId(UInt64 value)
1990  {
1992 
1993  setOrdinary(offset, value);
1994  return *this;
1995  }
1996 
1999  {
2001 
2002  setOrdinary(offset, NullUInt64());
2003  return *this;
2004  }
2005 
2006  /// \return instance of Events repeating group.
2008  Events events() const
2010  {
2011  return getGroup<Events>(EventsAccess(), *this);
2012  }
2013 
2014  /// \return instance of Events repeating group.
2018  {
2019  return getGroup<Events>(EventsAccess(), *this);
2020  }
2021 
2022  /// Setup repeating group with the given number of entries.
2023  /// Sets all optional fields of the group entries to null.
2024  /// \return NoEvents(864) repeating group.
2026  {
2027  return constructGroup<Events>(
2028  EventsAccess(),
2029  length,
2030  *this);
2031  }
2032 
2033  /// Setup repeating group with the given number of entries.
2034  /// \return NoEvents(864) repeating group.
2035  Events
2037  Events::Size length,
2038  NoFieldsInit)
2039  {
2040  return setupGroup<Events>(
2041  EventsAccess(),
2042  length,
2043  *this);
2044  }
2045 
2046  /// \return instance of FeedTypes repeating group.
2050  {
2051  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
2052  }
2053 
2054  /// \return instance of FeedTypes repeating group.
2058  {
2059  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
2060  }
2061 
2062  /// Setup repeating group with the given number of entries.
2063  /// Sets all optional fields of the group entries to null.
2064  /// \return NoMDFeedTypes(1141) repeating group.
2066  {
2067  return constructGroup<FeedTypes>(
2068  FeedTypesAccess(),
2069  length,
2070  *this);
2071  }
2072 
2073  /// Setup repeating group with the given number of entries.
2074  /// \return NoMDFeedTypes(1141) repeating group.
2075  FeedTypes
2077  FeedTypes::Size length,
2078  NoFieldsInit)
2079  {
2080  return setupGroup<FeedTypes>(
2081  FeedTypesAccess(),
2082  length,
2083  *this);
2084  }
2085 
2086  /// \return instance of InstAttrib repeating group.
2090  {
2091  return getGroup<InstAttrib>(
2092  InstAttribAccess(),
2093  *this);
2094  }
2095 
2096  /// \return instance of InstAttrib repeating group.
2100  {
2101  return getGroup<InstAttrib>(
2102  InstAttribAccess(),
2103  *this);
2104  }
2105 
2106  /// Setup repeating group with the given number of entries.
2107  /// Sets all optional fields of the group entries to null.
2108  /// \return NoInstAttrib(870) repeating group.
2110  {
2111  return constructGroup<InstAttrib>(
2112  InstAttribAccess(),
2113  length,
2114  *this);
2115  }
2116 
2117  /// Setup repeating group with the given number of entries.
2118  /// \return NoInstAttrib(870) repeating group.
2119  InstAttrib
2121  InstAttrib::Size length,
2122  NoFieldsInit)
2123  {
2124  return setupGroup<InstAttrib>(
2125  InstAttribAccess(),
2126  length,
2127  *this);
2128  }
2129 
2130  /// \return instance of LotTypeRules repeating group.
2134  {
2135  return getGroup<LotTypeRules>(
2136  LotTypeRulesAccess(),
2137  *this);
2138  }
2139 
2140  /// \return instance of LotTypeRules repeating group.
2144  {
2145  return getGroup<LotTypeRules>(
2146  LotTypeRulesAccess(),
2147  *this);
2148  }
2149 
2150  /// Setup repeating group with the given number of entries.
2151  /// Sets all optional fields of the group entries to null.
2152  /// \return NoLotTypeRules(1234) repeating group.
2153  LotTypeRules
2155  LotTypeRules::Size length)
2156  {
2157  return constructGroup<LotTypeRules>(
2158  LotTypeRulesAccess(),
2159  length,
2160  *this);
2161  }
2162 
2163  /// Setup repeating group with the given number of entries.
2164  /// \return NoLotTypeRules(1234) repeating group.
2165  LotTypeRules
2167  LotTypeRules::Size length,
2168  NoFieldsInit)
2169  {
2170  return setupGroup<LotTypeRules>(
2171  LotTypeRulesAccess(),
2172  length,
2173  *this);
2174  }
2175 
2176  /// Minimal size of message body in bytes.
2179  static
2180  BlockLength
2182  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
2184  {
2185  return
2186  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2187  338;
2188  }
2189 
2190  /// Size of message body in bytes.
2195  {
2196  return
2197  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2198  minimalBlockLength(version);
2199  }
2200 
2201  /// Minimal variable fields size (when variable-length fields are empty).
2205  static
2206  MessageSize
2208  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
2209  {
2210  return
2211  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2212  static_cast<MessageSize>(Events::EmptySize) + static_cast<MessageSize>(FeedTypes::EmptySize) + static_cast<MessageSize>(InstAttrib::EmptySize) + static_cast<MessageSize>(LotTypeRules::EmptySize);
2213  }
2214 
2215  /// Reset all variable-length fields if any.
2218  {
2219  eventsNull();
2220  feedTypesNull();
2221  instAttribNull();
2222  lotTypeRulesNull();
2223  return *this;
2224  }
2225 
2226  /// Reset all variable-length and optional fields if any.
2227  ThisType& reset()
2229  {
2230  totNumReportsNull();
2231  securityTradingStatusNull();
2232  minPriceIncrementNull();
2233  mainFractionNull();
2234  subFractionNull();
2235  priceDisplayFormatNull();
2236  unitOfMeasureQtyNull();
2237  tradingReferencePriceNull();
2238  tradingReferenceDateNull();
2239  highLimitPriceNull();
2240  lowLimitPriceNull();
2241  maxPriceVariationNull();
2242  minPriceIncrementAmountNull();
2243  issueDateNull();
2244  datedDateNull();
2245  maturityDateNull();
2246  couponRateNull();
2247  parValueNull();
2248  couponFrequencyPeriodNull();
2249  securityAltIdSourceNull();
2250  instrumentGUIdNull();
2251 
2252  resetVariableFields();
2253  return *this;
2254  }
2255 
2256  /// \return class name.
2260  static const Char* className()
2261  {
2262  return "InstrumentDefinitionFixedIncome57";
2263  }
2264 
2265  /// FIX message type.
2269  static StrRef fixType()
2271  {
2272  return constructStrRef("d");
2273  }
2274 
2275  /// \return the end of the message.
2277  const void* tail() const
2279  {
2280  return
2281  lotTypeRules().tail();
2282  }
2283 
2284  /// \return the size occupied by the message.
2288  {
2289  return
2290  SbeMessage::calculateBinarySize(tail());
2291  }
2292 
2293 private:
2294  void checkLength(
2295  EncodedLength length, SchemaVersion version) const
2296  {
2297  const EncodedLength minimalRequiredLength =
2298  minimalBlockLength(version) +
2299  MessageHeader::Size +
2300  getMinimalVariableFieldsSize(version);
2301 
2302  checkBinaryLength(
2303  *this, length, minimalRequiredLength);
2304  }
2305 
2306  /// Checks variable fields consistency.
2307  void checkVarLenFields() const
2308  {
2309  groups().
2310  checkTail<Events>().
2311  checkTail<FeedTypes>().
2312  checkTail<InstAttrib>().
2313  checkTail<LotTypeRules>();
2314  }
2315 
2316  void checkCompatibility() const
2317  {
2318  assert(TemplateId == templateId());
2319 
2320  checkSchema<Schema>(schemaId(), version());
2321  checkLength(bufferSize(), version());
2322  checkVarLenFields();
2323  }
2324 
2325  /// Access helper.
2326  struct EventsAccess
2327  {
2328  Events
2329  operator()(
2330  const InstrumentDefinitionFixedIncome57& obj) const
2332  {
2333  return obj.
2334  groups().
2335  head<Events>();
2336  }
2337  };
2338 
2339  /// Reset an instance of the repeating group.
2340  /// All the following data will be invalidated.
2341  void eventsNull()
2343  {
2344  resetGroup<Events>(EventsAccess(), *this);
2345  }
2346 
2347  /// Access helper.
2348  struct FeedTypesAccess
2349  {
2350  FeedTypes
2351  operator()(
2352  const InstrumentDefinitionFixedIncome57& obj) const
2354  {
2355  return obj.
2356  groups().
2357  tail<Events>().
2358  head<FeedTypes>();
2359  }
2360  };
2361 
2362  /// Reset an instance of the repeating group.
2363  /// All the following data will be invalidated.
2364  void feedTypesNull()
2366  {
2367  resetGroup<FeedTypes>(FeedTypesAccess(), *this);
2368  }
2369 
2370  /// Access helper.
2371  struct InstAttribAccess
2372  {
2373  InstAttrib
2374  operator()(
2375  const InstrumentDefinitionFixedIncome57& obj) const
2377  {
2378  return obj.
2379  groups().
2380  tail<Events>().
2381  tail<FeedTypes>().
2382  head<InstAttrib>();
2383  }
2384  };
2385 
2386  /// Reset an instance of the repeating group.
2387  /// All the following data will be invalidated.
2388  void instAttribNull()
2390  {
2391  resetGroup<InstAttrib>(
2392  InstAttribAccess(),
2393  *this);
2394  }
2395 
2396  /// Access helper.
2397  struct LotTypeRulesAccess
2398  {
2399  LotTypeRules
2400  operator()(
2401  const InstrumentDefinitionFixedIncome57& obj) const
2403  {
2404  return obj.
2405  groups().
2406  tail<Events>().
2407  tail<FeedTypes>().
2408  tail<InstAttrib>().
2409  head<LotTypeRules>();
2410  }
2411  };
2412 
2413  /// Reset an instance of the repeating group.
2414  /// All the following data will be invalidated.
2415  void lotTypeRulesNull()
2417  {
2418  resetGroup<LotTypeRules>(
2419  LotTypeRulesAccess(),
2420  *this);
2421  }
2422 };
2423 
2424 /// MDInstrumentDefinitionRepo.
2427 : SbeMessage
2428 {
2429  /// Used template schema.
2431 
2432  /// This type alias.
2434 
2435  /// Message template ID from SBE schema.
2436  enum { TemplateId = 58 };
2437 
2438  /// Number of repeating EventType entries.
2439  /// Entry of EventsEntry repeating group.
2442  <
2444  >
2445  {
2446  /// Base class type.
2447  typedef
2449  <
2451  >
2453 
2454  /// This type alias.
2456 
2457  /// Initializes instance of given
2458  /// version over given memory block.
2460  void* data,
2461  EncodedLength length,
2462  SchemaVersion version)
2463  : Base(data, length, version)
2464  {
2465  assert(version >= Schema::MinimalVersion);
2466  assert(length >= minimalBlockLength(version));
2467  }
2468 
2469  /// Reset all variable-length fields if any.
2472  {
2473  return *this;
2474  }
2475 
2476  /// Reset all variable-length and optional fields if any.
2477  ThisType& reset()
2479  {
2480  resetVariableFields();
2481  return *this;
2482  }
2483 
2484  /// Code to represent the type of event.
2488  {
2490 
2491  return enumeration<EventType>(offset);
2492  }
2493 
2494  /// Code to represent the type of event.
2497  {
2499 
2500  setEnumeration<EventType>(offset, value);
2501  return *this;
2502  }
2503 
2504  /// Date and Time of Instrument Activation or Expiration event
2505  /// sent as number of nanoseconds since Unix epoch.
2509  {
2511 
2512  return ordinary<Timestamp>(offset);
2513  }
2514 
2515  /// Date and Time of Instrument Activation or Expiration event
2516  /// sent as number of nanoseconds since Unix epoch.
2517  ThisType& setEventTime(Timestamp value)
2519  {
2521 
2522  setOrdinary(offset, value.sinceEpoch());
2523  return *this;
2524  }
2525 
2526  /// \return size of entry body in bytes
2527  /// for given version of message template.
2532  {
2533  return
2534  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2535  minimalBlockLength(version);
2536  }
2537 
2538  /// \return minimal size of entry body in bytes
2539  /// for given version of message template.
2542  static
2543  BlockLength
2545  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
2547  {
2548  return
2549  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2550  9;
2551  }
2552 
2553  /// Entity class name.
2557  static const Char* className()
2558  {
2559  return "InstrumentDefinitionRepo58.EventsEntry";
2560  }
2561  };
2562 
2563  /// Repeating group containing EventsEntry entries.
2564  typedef
2567 
2568  /// Number of repeating FeedType repeating group entries.
2569  /// Entry of FeedTypesEntry repeating group.
2572  <
2574  >
2575  {
2576  /// Base class type.
2577  typedef
2579  <
2581  >
2583 
2584  /// This type alias.
2586 
2587  /// Initializes instance of given
2588  /// version over given memory block.
2590  void* data,
2591  EncodedLength length,
2592  SchemaVersion version)
2593  : Base(data, length, version)
2594  {
2595  assert(version >= Schema::MinimalVersion);
2596  assert(length >= minimalBlockLength(version));
2597  }
2598 
2599  /// Reset all variable-length fields if any.
2602  {
2603  return *this;
2604  }
2605 
2606  /// Reset all variable-length and optional fields if any.
2607  ThisType& reset()
2609  {
2610  resetVariableFields();
2611  return *this;
2612  }
2613 
2614  /// Describes a class of service for a given data feed. GBX-
2615  /// Real Book, GBI-Implied Book.
2619  {
2622 
2623  return fixedStr<length>(offset);
2624  }
2625 
2626  /// Describes a class of service for a given data feed. GBX-
2627  /// Real Book, GBI-Implied Book.
2628  ThisType& setFeedType(StrRef value)
2630  {
2633 
2634  setFixedStr<length>(offset, value);
2635  return *this;
2636  }
2637 
2638  /// Book depth.
2642  {
2644 
2645  return ordinary<Int8>(offset);
2646  }
2647 
2648  /// Book depth.
2649  ThisType& setMarketDepth(Int8 value)
2651  {
2653 
2654  setOrdinary(offset, value);
2655  return *this;
2656  }
2657 
2658  /// \return size of entry body in bytes
2659  /// for given version of message template.
2664  {
2665  return
2666  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2667  minimalBlockLength(version);
2668  }
2669 
2670  /// \return minimal size of entry body in bytes
2671  /// for given version of message template.
2674  static
2675  BlockLength
2677  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
2679  {
2680  return
2681  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2682  4;
2683  }
2684 
2685  /// Entity class name.
2689  static const Char* className()
2690  {
2691  return "InstrumentDefinitionRepo58.FeedTypesEntry";
2692  }
2693  };
2694 
2695  /// Repeating group containing FeedTypesEntry entries.
2696  typedef
2699 
2700  /// Number of repeating InstrAttribType entries.
2701  /// Entry of InstAttribEntry repeating group.
2704  <
2706  >
2707  {
2708  /// Base class type.
2709  typedef
2711  <
2713  >
2715 
2716  /// This type alias.
2718 
2719  /// Initializes instance of given
2720  /// version over given memory block.
2722  void* data,
2723  EncodedLength length,
2724  SchemaVersion version)
2725  : Base(data, length, version)
2726  {
2727  assert(version >= Schema::MinimalVersion);
2728  assert(length >= minimalBlockLength(version));
2729  }
2730 
2731  /// Reset all variable-length fields if any.
2734  {
2735  return *this;
2736  }
2737 
2738  /// Reset all variable-length and optional fields if any.
2739  ThisType& reset()
2741  {
2742  resetVariableFields();
2743  return *this;
2744  }
2745 
2746  /// Instrument eligibility attributes.
2751  {
2752  return InstAttribType();
2753  }
2754 
2755  /// Bitmap field of 32 Boolean type indicators.
2759  {
2761 
2762  return ordinary<InstAttribValue>(offset);
2763  }
2764 
2765  /// Bitmap field of 32 Boolean type indicators.
2768  {
2770 
2771  setOrdinary(offset, value);
2772  return *this;
2773  }
2774 
2775  /// \return size of entry body in bytes
2776  /// for given version of message template.
2781  {
2782  return
2783  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2784  minimalBlockLength(version);
2785  }
2786 
2787  /// \return minimal size of entry body in bytes
2788  /// for given version of message template.
2791  static
2792  BlockLength
2794  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
2796  {
2797  return
2798  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2799  4;
2800  }
2801 
2802  /// Entity class name.
2806  static const Char* className()
2807  {
2808  return "InstrumentDefinitionRepo58.InstAttribEntry";
2809  }
2810  };
2811 
2812  /// Repeating group containing InstAttribEntry entries.
2813  typedef
2816 
2817  /// Number of entries.
2818  /// Entry of LotTypeRulesEntry repeating group.
2821  <
2823  >
2824  {
2825  /// Base class type.
2826  typedef
2828  <
2830  >
2832 
2833  /// This type alias.
2835 
2836  /// Initializes instance of given
2837  /// version over given memory block.
2839  void* data,
2840  EncodedLength length,
2841  SchemaVersion version)
2842  : Base(data, length, version)
2843  {
2844  assert(version >= Schema::MinimalVersion);
2845  assert(length >= minimalBlockLength(version));
2846  }
2847 
2848  /// Reset all variable-length fields if any.
2851  {
2852  return *this;
2853  }
2854 
2855  /// Reset all variable-length and optional fields if any.
2856  ThisType& reset()
2858  {
2859  minLotSizeNull();
2860 
2861  resetVariableFields();
2862  return *this;
2863  }
2864 
2865  /// This tag is required to interpret the value in tag
2866  /// 1231-MinLotSize.
2868  Int8 lotType() const
2870  {
2872 
2873  return ordinary<Int8>(offset);
2874  }
2875 
2876  /// This tag is required to interpret the value in tag
2877  /// 1231-MinLotSize.
2878  ThisType& setLotType(Int8 value)
2880  {
2882 
2883  setOrdinary(offset, value);
2884  return *this;
2885  }
2886 
2887  /// Minimum quantity accepted for order entry. If tag
2888  /// 1093-LotType=4, this value is the minimum quantity for
2889  /// order entry expressed in the applicable units, specified
2890  /// in tag 996-UnitOfMeasure, (e.g., megawatts). If tag
2891  /// 1093-LotType=5, this value represents order qty increment.
2893  bool minLotSize(DecimalQty& value) const
2895  {
2897 
2898  return decimal(value, offset, NullDecimalQty());
2899  }
2900 
2901  /// Minimum quantity accepted for order entry. If tag
2902  /// 1093-LotType=4, this value is the minimum quantity for
2903  /// order entry expressed in the applicable units, specified
2904  /// in tag 996-UnitOfMeasure, (e.g., megawatts). If tag
2905  /// 1093-LotType=5, this value represents order qty increment.
2906  ThisType& setMinLotSize(DecimalQty value)
2908  {
2910 
2911  setOrdinary(offset, value);
2912  return *this;
2913  }
2914 
2915  ThisType& minLotSizeNull()
2917  {
2919 
2920  setOrdinary(offset, NullDecimalQty());
2921  return *this;
2922  }
2923 
2924  /// \return size of entry body in bytes
2925  /// for given version of message template.
2930  {
2931  return
2932  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2933  minimalBlockLength(version);
2934  }
2935 
2936  /// \return minimal size of entry body in bytes
2937  /// for given version of message template.
2940  static
2941  BlockLength
2943  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
2945  {
2946  return
2947  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
2948  5;
2949  }
2950 
2951  /// Entity class name.
2955  static const Char* className()
2956  {
2957  return "InstrumentDefinitionRepo58.LotTypeRulesEntry";
2958  }
2959  };
2960 
2961  /// Repeating group containing LotTypeRulesEntry entries.
2962  typedef
2965 
2966  /// Number of underlying entries.
2967  /// Entry of UnderlyingsEntry repeating group.
2970  <
2972  >
2973  {
2974  /// Base class type.
2975  typedef
2977  <
2979  >
2981 
2982  /// This type alias.
2984 
2985  /// Initializes instance of given
2986  /// version over given memory block.
2988  void* data,
2989  EncodedLength length,
2990  SchemaVersion version)
2991  : Base(data, length, version)
2992  {
2993  assert(version >= Schema::MinimalVersion);
2994  assert(length >= minimalBlockLength(version));
2995  }
2996 
2997  /// Reset all variable-length fields if any.
3000  {
3001  return *this;
3002  }
3003 
3004  /// Reset all variable-length and optional fields if any.
3005  ThisType& reset()
3007  {
3008  underlyingSecurityIdNull();
3009  underlyingSecurityAltIdSourceNull();
3010  underlyingMaxLifeTimeNull();
3011  underlyingMinDaysToMaturityNull();
3012  underlyingInstrumentGUIdNull();
3013  underlyingMaturityDateNull();
3014 
3015  resetVariableFields();
3016  return *this;
3017  }
3018 
3019  /// Underlying Instrument Symbol (Short Name). When the
3020  /// underlying is a Globex listed Fixed Income instrument this
3021  /// value will be the same as that contained in Security
3022  /// Definition Tag 55-Symbol of the underlying instrument.
3026  {
3029 
3030  return fixedStr<length>(offset);
3031  }
3032 
3033  /// Underlying Instrument Symbol (Short Name). When the
3034  /// underlying is a Globex listed Fixed Income instrument this
3035  /// value will be the same as that contained in Security
3036  /// Definition Tag 55-Symbol of the underlying instrument.
3037  ThisType& setUnderlyingSymbol(StrRef value)
3039  {
3042 
3043  setFixedStr<length>(offset, value);
3044  return *this;
3045  }
3046 
3047  /// Underlying Security ID as qualified by tag
3048  /// 305-UnderlyingSecurityIDSource. Provided only if the
3049  /// underlying is a Globex listed instrument, this value will
3050  /// be the same as that contained in Security Definition Tag
3051  /// 48-SecurityID.
3053  bool underlyingSecurityId(Int32& value) const
3055  {
3057 
3058  return ordinary(value, offset, NullInt32());
3059  }
3060 
3061  /// Underlying Security ID as qualified by tag
3062  /// 305-UnderlyingSecurityIDSource. Provided only if the
3063  /// underlying is a Globex listed instrument, this value will
3064  /// be the same as that contained in Security Definition Tag
3065  /// 48-SecurityID.
3068  {
3070 
3071  setOrdinary(offset, value);
3072  return *this;
3073  }
3074 
3077  {
3079 
3080  setOrdinary(offset, NullInt32());
3081  return *this;
3082  }
3083 
3084  /// Identifies the class or source of UnderlyingSecurityID Tag
3085  /// 309 value. Always '8' for CME assigned IDs.
3090  {
3091  return SecurityIDSource();
3092  }
3093 
3094  /// Underlying Alternate Security identifier value as
3095  /// qualified by Tag 305-UnderlyingSecuityAltIDSource (e.g.
3096  /// CUSIP, ISIN, etc). For Repo special will contain
3097  /// underlying CUSIP or ISIN. For GC Repo may contain a
3098  /// synthetic CUSIP or ISIN representing a basket.
3102  {
3105 
3106  return fixedStr<length>(offset);
3107  }
3108 
3109  /// Underlying Alternate Security identifier value as
3110  /// qualified by Tag 305-UnderlyingSecuityAltIDSource (e.g.
3111  /// CUSIP, ISIN, etc). For Repo special will contain
3112  /// underlying CUSIP or ISIN. For GC Repo may contain a
3113  /// synthetic CUSIP or ISIN representing a basket.
3116  {
3119 
3120  setFixedStr<length>(offset, value);
3121  return *this;
3122  }
3123 
3124  /// Identifies class or source of the UnderlyingSecurityAltID
3125  /// (458) value.
3127  bool
3129  SecurityAltIDSource::Enum& value) const
3131  {
3133 
3134  return enumeration<SecurityAltIDSource>(value, offset, NullUInt8());
3135  }
3136 
3137  /// Identifies class or source of the UnderlyingSecurityAltID
3138  /// (458) value.
3139  ThisType&
3143  {
3145 
3146  setEnumeration<SecurityAltIDSource>(offset, value);
3147  return *this;
3148  }
3149 
3152  {
3154 
3155  setOrdinary(offset, NullUInt8());
3156  return *this;
3157  }
3158 
3159  /// Long Name of the Underlying Instrument. For the
3160  /// instruments listed on Globex this value will be the same
3161  /// as of that contained in Security Definition Tag
3162  /// 2714-FinancialInstrumentFullName.
3166  {
3169 
3170  return fixedStr<length>(offset);
3171  }
3172 
3173  /// Long Name of the Underlying Instrument. For the
3174  /// instruments listed on Globex this value will be the same
3175  /// as of that contained in Security Definition Tag
3176  /// 2714-FinancialInstrumentFullName.
3179  {
3182 
3183  setFixedStr<length>(offset, value);
3184  return *this;
3185  }
3186 
3187  /// Underlying Security Type.
3191  {
3194 
3195  return fixedStr<length>(offset);
3196  }
3197 
3198  /// Underlying Security Type.
3201  {
3204 
3205  setFixedStr<length>(offset, value);
3206  return *this;
3207  }
3208 
3209  /// Underlying Security's CountryOfIssue. See CountryOfIssue
3210  /// (470) field for description.
3214  {
3217 
3218  return fixedStr<length>(offset);
3219  }
3220 
3221  /// Underlying Security's CountryOfIssue. See CountryOfIssue
3222  /// (470) field for description.
3225  {
3228 
3229  setFixedStr<length>(offset, value);
3230  return *this;
3231  }
3232 
3233  /// Underlying Security's Issuer. See Tag 106-Issuer field for
3234  /// description.
3238  {
3241 
3242  return fixedStr<length>(offset);
3243  }
3244 
3245  /// Underlying Security's Issuer. See Tag 106-Issuer field for
3246  /// description.
3247  ThisType& setUnderlyingIssuer(StrRef value)
3249  {
3252 
3253  setFixedStr<length>(offset, value);
3254  return *this;
3255  }
3256 
3257  /// Max life time of the underlying instruments qualifying for
3258  /// the GC basket in number of year. Will contain null value
3259  /// for Repo specials.
3261  bool underlyingMaxLifeTime(UInt8& value) const
3263  {
3265 
3266  return ordinary(value, offset, NullUInt8());
3267  }
3268 
3269  /// Max life time of the underlying instruments qualifying for
3270  /// the GC basket in number of year. Will contain null value
3271  /// for Repo specials.
3274  {
3276 
3277  setOrdinary(offset, value);
3278  return *this;
3279  }
3280 
3283  {
3285 
3286  setOrdinary(offset, NullUInt8());
3287  return *this;
3288  }
3289 
3290  /// Minimum days to maturity remaining of the underlying
3291  /// instruments to qualify for GC basket. Will contain null
3292  /// value for Repo specials.
3296  {
3298 
3299  return ordinary(value, offset, NullUInt16());
3300  }
3301 
3302  /// Minimum days to maturity remaining of the underlying
3303  /// instruments to qualify for GC basket. Will contain null
3304  /// value for Repo specials.
3307  {
3309 
3310  setOrdinary(offset, value);
3311  return *this;
3312  }
3313 
3316  {
3318 
3319  setOrdinary(offset, NullUInt16());
3320  return *this;
3321  }
3322 
3323  /// Underlying GUID. For Repo specials populated with
3324  /// individual instrument GUID of the underlying security.
3328  {
3330 
3331  return ordinary(value, offset, NullUInt64());
3332  }
3333 
3334  /// Underlying GUID. For Repo specials populated with
3335  /// individual instrument GUID of the underlying security.
3338  {
3340 
3341  setOrdinary(offset, value);
3342  return *this;
3343  }
3344 
3347  {
3349 
3350  setOrdinary(offset, NullUInt64());
3351  return *this;
3352  }
3353 
3354  /// Underlying Security's Maturity Date. Will be populated
3355  /// with Maturity Date of the underlying security instrument
3356  /// for Repo Specials only.
3360  {
3361  typedef LocalMktDate FieldValue;
3362 
3364 
3365  FieldValue fieldValue;
3366 
3367  if (ordinary(fieldValue, offset, NullLocalMktDate()))
3368  {
3369  value = localMktDateToTimestamp(fieldValue);
3370  return true;
3371  }
3372  return false;
3373  }
3374 
3375  /// Underlying Security's Maturity Date. Will be populated
3376  /// with Maturity Date of the underlying security instrument
3377  /// for Repo Specials only.
3380  {
3382 
3383  setOrdinary(offset, timestampToLocalMktDate(value));
3384  return *this;
3385  }
3386 
3389  {
3391 
3392  setOrdinary(offset, NullLocalMktDate());
3393  return *this;
3394  }
3395 
3396  /// \return size of entry body in bytes
3397  /// for given version of message template.
3402  {
3403  return
3404  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
3405  minimalBlockLength(version);
3406  }
3407 
3408  /// \return minimal size of entry body in bytes
3409  /// for given version of message template.
3412  static
3413  BlockLength
3415  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
3417  {
3418  return
3419  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
3420  118;
3421  }
3422 
3423  /// Entity class name.
3427  static const Char* className()
3428  {
3429  return "InstrumentDefinitionRepo58.UnderlyingsEntry";
3430  }
3431  };
3432 
3433  /// Repeating group containing UnderlyingsEntry entries.
3434  typedef
3437 
3438  /// Number of related instruments group.
3439  /// Entry of RelatedInstrumentsEntry repeating group.
3442  <
3444  >
3445  {
3446  /// Base class type.
3447  typedef
3449  <
3451  >
3453 
3454  /// This type alias.
3456 
3457  /// Initializes instance of given
3458  /// version over given memory block.
3460  void* data,
3461  EncodedLength length,
3462  SchemaVersion version)
3463  : Base(data, length, version)
3464  {
3465  assert(version >= Schema::MinimalVersion);
3466  assert(length >= minimalBlockLength(version));
3467  }
3468 
3469  /// Reset all variable-length fields if any.
3472  {
3473  return *this;
3474  }
3475 
3476  /// Reset all variable-length and optional fields if any.
3477  ThisType& reset()
3479  {
3480  relatedInstrumentGUIdNull();
3481 
3482  resetVariableFields();
3483  return *this;
3484  }
3485 
3486  /// Related Security ID. For regular Repo contract will
3487  /// contain SecurityID of AoN Repo for the same underlying
3488  /// product, term, start and end dates. And vice versa - for
3489  /// AoN Repo will contain the related regular Repo SecurityID.
3493  {
3495 
3496  return ordinary<Int32>(offset);
3497  }
3498 
3499  /// Related Security ID. For regular Repo contract will
3500  /// contain SecurityID of AoN Repo for the same underlying
3501  /// product, term, start and end dates. And vice versa - for
3502  /// AoN Repo will contain the related regular Repo SecurityID.
3503  ThisType& setRelatedSecurityId(Int32 value)
3505  {
3507 
3508  setOrdinary(offset, value);
3509  return *this;
3510  }
3511 
3512  /// Related Security ID Source.
3517  {
3518  return SecurityIDSource();
3519  }
3520 
3521  /// Related Instrument Symbol.
3525  {
3528 
3529  return fixedStr<length>(offset);
3530  }
3531 
3532  /// Related Instrument Symbol.
3533  ThisType& setRelatedSymbol(StrRef value)
3535  {
3538 
3539  setFixedStr<length>(offset, value);
3540  return *this;
3541  }
3542 
3543  /// Related Instrument GUID.
3545  bool relatedInstrumentGUId(UInt64& value) const
3547  {
3549 
3550  return ordinary(value, offset, NullUInt64());
3551  }
3552 
3553  /// Related Instrument GUID.
3556  {
3558 
3559  setOrdinary(offset, value);
3560  return *this;
3561  }
3562 
3565  {
3567 
3568  setOrdinary(offset, NullUInt64());
3569  return *this;
3570  }
3571 
3572  /// \return size of entry body in bytes
3573  /// for given version of message template.
3578  {
3579  return
3580  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
3581  minimalBlockLength(version);
3582  }
3583 
3584  /// \return minimal size of entry body in bytes
3585  /// for given version of message template.
3588  static
3589  BlockLength
3591  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
3593  {
3594  return
3595  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
3596  32;
3597  }
3598 
3599  /// Entity class name.
3603  static const Char* className()
3604  {
3605  return "InstrumentDefinitionRepo58.RelatedInstrumentsEntry";
3606  }
3607  };
3608 
3609  /// Repeating group containing RelatedInstrumentsEntry entries.
3610  typedef
3613 
3614  /// This group indicates the number of broken dates and
3615  /// references individual broken contracts in user defined
3616  /// tailor made repo. Applicable only to tailor made repos
3617  /// requested by traders with broken dates.
3618  /// Entry of BrokenDatesEntry repeating group.
3621  <
3623  >
3624  {
3625  /// Base class type.
3626  typedef
3628  <
3630  >
3632 
3633  /// This type alias.
3635 
3636  /// Available since version.
3637  enum { SinceVersion = 13 };
3638 
3639  /// Initializes instance of given
3640  /// version over given memory block.
3642  void* data,
3643  EncodedLength length,
3644  SchemaVersion version)
3645  : Base(data, length, version)
3646  {
3647  assert(version >= SinceVersion);
3648  assert(length >= minimalBlockLength(version));
3649  }
3650 
3651  /// Reset all variable-length fields if any.
3654  {
3655  return *this;
3656  }
3657 
3658  /// Reset all variable-length and optional fields if any.
3659  ThisType& reset()
3661  {
3662  brokenDateStartNull();
3663  brokenDateEndNull();
3664 
3665  resetVariableFields();
3666  return *this;
3667  }
3668 
3669  /// External unique broken date Instrument ID.
3673  {
3675 
3676  return ordinary<UInt64>(offset);
3677  }
3678 
3679  /// External unique broken date Instrument ID.
3680  ThisType& setBrokenDateGUId(UInt64 value)
3682  {
3684 
3685  setOrdinary(offset, value);
3686  return *this;
3687  }
3688 
3689  /// Broken date Instrument Globex Security ID.
3693  {
3695 
3696  return ordinary<Int32>(offset);
3697  }
3698 
3699  /// Broken date Instrument Globex Security ID.
3702  {
3704 
3705  setOrdinary(offset, value);
3706  return *this;
3707  }
3708 
3709  /// Start date of a broken date period.
3711  bool brokenDateStart(Timestamp& value) const
3713  {
3714  typedef LocalMktDate FieldValue;
3715 
3717 
3718  FieldValue fieldValue;
3719 
3720  if (ordinary(fieldValue, offset, NullLocalMktDate()))
3721  {
3722  value = localMktDateToTimestamp(fieldValue);
3723  return true;
3724  }
3725  return false;
3726  }
3727 
3728  /// Start date of a broken date period.
3731  {
3733 
3734  setOrdinary(offset, timestampToLocalMktDate(value));
3735  return *this;
3736  }
3737 
3740  {
3742 
3743  setOrdinary(offset, NullLocalMktDate());
3744  return *this;
3745  }
3746 
3747  /// End date of a broken date period.
3749  bool brokenDateEnd(Timestamp& value) const
3751  {
3752  typedef LocalMktDate FieldValue;
3753 
3755 
3756  FieldValue fieldValue;
3757 
3758  if (ordinary(fieldValue, offset, NullLocalMktDate()))
3759  {
3760  value = localMktDateToTimestamp(fieldValue);
3761  return true;
3762  }
3763  return false;
3764  }
3765 
3766  /// End date of a broken date period.
3767  ThisType& setBrokenDateEnd(Timestamp value)
3769  {
3771 
3772  setOrdinary(offset, timestampToLocalMktDate(value));
3773  return *this;
3774  }
3775 
3776  ThisType& brokenDateEndNull()
3778  {
3780 
3781  setOrdinary(offset, NullLocalMktDate());
3782  return *this;
3783  }
3784 
3785  /// \return size of entry body in bytes
3786  /// for given version of message template.
3791  {
3792  return
3793  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
3794  minimalBlockLength(version);
3795  }
3796 
3797  /// \return minimal size of entry body in bytes
3798  /// for given version of message template.
3801  static
3802  BlockLength
3804  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
3806  {
3807  return
3808  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
3809  16;
3810  }
3811 
3812  /// Entity class name.
3816  static const Char* className()
3817  {
3818  return "InstrumentDefinitionRepo58.BrokenDatesEntry";
3819  }
3820  };
3821 
3822  /// Repeating group containing BrokenDatesEntry entries.
3823  typedef
3826 
3827  /// Initializes a blank instance.
3828  InstrumentDefinitionRepo58() ONIXS_CONFLATEDTCP_DEFAULT;
3829 
3830  /// Initializes an instance over the given memory block.
3832  void* data,
3833  EncodedLength length,
3834  SchemaVersion version = Schema::Version)
3835  : SbeMessage(data, length, version)
3836  {
3837  checkVersion<Schema>(version);
3838  checkLength(length, version);
3839  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
3840  reset();
3841  }
3842 
3843  /// Initializes an instance over the given memory block
3844  /// With no variable-length fields initialization
3845  /// It is assumed that the user does such an initialization manually.
3847  void* data,
3848  EncodedLength length,
3849  NoFieldsInit,
3850  SchemaVersion version = Schema::Version)
3851  : SbeMessage(data, length, version)
3852  {
3853  checkVersion<Schema>(version);
3854  checkLength(length, version);
3855  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
3856  resetVariableFields();
3857  }
3858 
3859  /// Creates an instance over the given memory block.
3861  void* data,
3862  EncodedLength length,
3863  NoInit)
3864  : SbeMessage(data, length)
3865  {
3866  checkCompatibility();
3867  }
3868 
3869  /// Creates an instance over the given SBE message.
3870  explicit
3872  const SbeMessage& message)
3873  : SbeMessage(message)
3874  {
3875  assert(message.valid());
3876 
3877  checkCompatibility();
3878  }
3879 
3880  /// Bitmap field of eight Boolean type indicators reflecting
3881  /// the end of updates for a given Globex event.
3885  {
3887 
3888  return ordinary<MatchEventIndicator>(offset);
3889  }
3890 
3891  /// Bitmap field of eight Boolean type indicators reflecting
3892  /// the end of updates for a given Globex event.
3893  ThisType&
3895  MatchEventIndicator value)
3897  {
3899 
3900  setOrdinary(offset, value);
3901  return *this;
3902  }
3903 
3904  /// Total number of instruments in the Replay loop. Used on
3905  /// Replay Feed only.
3907  bool totNumReports(UInt32& value) const
3909  {
3911 
3912  return ordinary(value, offset, NullUInt32());
3913  }
3914 
3915  /// Total number of instruments in the Replay loop. Used on
3916  /// Replay Feed only.
3917  ThisType& setTotNumReports(UInt32 value)
3919  {
3921 
3922  setOrdinary(offset, value);
3923  return *this;
3924  }
3925 
3926  ThisType& totNumReportsNull()
3928  {
3930 
3931  setOrdinary(offset, NullUInt32());
3932  return *this;
3933  }
3934 
3935  /// Last Security update action on Incremental feed, 'D' or
3936  /// 'M' is used when a mid-week deletion or modification (i.e.
3937  /// extension) occurs.
3942  {
3944 
3945  return enumeration<SecurityUpdateAction>(offset);
3946  }
3947 
3948  /// Last Security update action on Incremental feed, 'D' or
3949  /// 'M' is used when a mid-week deletion or modification (i.e.
3950  /// extension) occurs.
3951  ThisType&
3955  {
3957 
3958  setEnumeration<SecurityUpdateAction>(offset, value);
3959  return *this;
3960  }
3961 
3962  /// Timestamp of when the instrument was last added, modified
3963  /// or deleted. Sent in number of nanoseconds since Unix epoch.
3967  {
3969 
3970  return ordinary<Timestamp>(offset);
3971  }
3972 
3973  /// Timestamp of when the instrument was last added, modified
3974  /// or deleted. Sent in number of nanoseconds since Unix epoch.
3975  ThisType& setLastUpdateTime(Timestamp value)
3977  {
3979 
3980  setOrdinary(offset, value.sinceEpoch());
3981  return *this;
3982  }
3983 
3984  /// Identifies the current state of the instrument.
3986  bool
3988  SecurityTradingStatus::Enum& value) const
3990  {
3992 
3993  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
3994  }
3995 
3996  /// Identifies the current state of the instrument.
3997  ThisType&
4001  {
4003 
4004  setEnumeration<SecurityTradingStatus>(offset, value);
4005  return *this;
4006  }
4007 
4010  {
4012 
4013  setOrdinary(offset, NullUInt8());
4014  return *this;
4015  }
4016 
4017  /// The channel ID as defined in the XML Configuration file.
4019  Int16 applId() const
4021  {
4023 
4024  return ordinary<Int16>(offset);
4025  }
4026 
4027  /// The channel ID as defined in the XML Configuration file.
4028  ThisType& setApplId(Int16 value)
4030  {
4032 
4033  setOrdinary(offset, value);
4034  return *this;
4035  }
4036 
4037  /// Identifies the market segment for all CME Globex
4038  /// instruments.
4042  {
4044 
4045  return ordinary<UInt8>(offset);
4046  }
4047 
4048  /// Identifies the market segment for all CME Globex
4049  /// instruments.
4050  ThisType& setMarketSegmentId(UInt8 value)
4052  {
4054 
4055  setOrdinary(offset, value);
4056  return *this;
4057  }
4058 
4059  /// Product complex.
4063  {
4065 
4066  return ordinary<UInt8>(offset);
4067  }
4068 
4069  /// Product complex.
4070  ThisType& setUnderlyingProduct(UInt8 value)
4072  {
4074 
4075  setOrdinary(offset, value);
4076  return *this;
4077  }
4078 
4079  /// Exchange used to identify a security.
4083  {
4086 
4087  return fixedStr<length>(offset);
4088  }
4089 
4090  /// Exchange used to identify a security.
4091  ThisType& setSecurityExchange(StrRef value)
4093  {
4096 
4097  setFixedStr<length>(offset, value);
4098  return *this;
4099  }
4100 
4101  /// Security Group Code.
4105  {
4108 
4109  return fixedStr<length>(offset);
4110  }
4111 
4112  /// Security Group Code.
4113  ThisType& setSecurityGroup(StrRef value)
4115  {
4118 
4119  setFixedStr<length>(offset, value);
4120  return *this;
4121  }
4122 
4123  /// The underlying asset code also known as Product Code.
4125  StrRef asset() const
4127  {
4130 
4131  return fixedStr<length>(offset);
4132  }
4133 
4134  /// The underlying asset code also known as Product Code.
4135  ThisType& setAsset(StrRef value)
4137  {
4140 
4141  setFixedStr<length>(offset, value);
4142  return *this;
4143  }
4144 
4145  /// Instrument Name or Symbol.
4147  StrRef symbol() const
4149  {
4152 
4153  return fixedStr<length>(offset);
4154  }
4155 
4156  /// Instrument Name or Symbol.
4157  ThisType& setSymbol(StrRef value)
4159  {
4162 
4163  setFixedStr<length>(offset, value);
4164  return *this;
4165  }
4166 
4167  /// Unique instrument ID.
4171  {
4173 
4174  return ordinary<Int32>(offset);
4175  }
4176 
4177  /// Unique instrument ID.
4178  ThisType& setSecurityId(Int32 value)
4180  {
4182 
4183  setOrdinary(offset, value);
4184  return *this;
4185  }
4186 
4187  /// Identifies class or source of the SecurityID (Tag 48)
4188  /// value.
4193  {
4194  return SecurityIDSource();
4195  }
4196 
4197  /// Security Type.
4201  {
4204 
4205  return fixedStr<length>(offset);
4206  }
4207 
4208  /// Security Type.
4209  ThisType& setSecurityType(StrRef value)
4211  {
4214 
4215  setFixedStr<length>(offset, value);
4216  return *this;
4217  }
4218 
4219  /// ISO standard instrument categorization code.
4221  StrRef cfiCode() const
4223  {
4226 
4227  return fixedStr<length>(offset);
4228  }
4229 
4230  /// ISO standard instrument categorization code.
4231  ThisType& setCfiCode(StrRef value)
4233  {
4236 
4237  setFixedStr<length>(offset, value);
4238  return *this;
4239  }
4240 
4241  /// Identifies the currency for the instrument traded.
4245  {
4248 
4249  return fixedStr<length>(offset);
4250  }
4251 
4252  /// Identifies the currency for the instrument traded.
4253  ThisType& setCurrency(StrRef value)
4255  {
4258 
4259  setFixedStr<length>(offset, value);
4260  return *this;
4261  }
4262 
4263  /// Identifies currency used for settlement.
4267  {
4270 
4271  return fixedStr<length>(offset);
4272  }
4273 
4274  /// Identifies currency used for settlement.
4275  ThisType& setSettlCurrency(StrRef value)
4277  {
4280 
4281  setFixedStr<length>(offset, value);
4282  return *this;
4283  }
4284 
4285  /// Matching Algorithm - CME assigned values.
4289  {
4291 
4292  return ordinary<CHAR>(offset);
4293  }
4294 
4295  /// Matching Algorithm - CME assigned values.
4296  ThisType& setMatchAlgorithm(CHAR value)
4298  {
4300 
4301  setOrdinary(offset, value);
4302  return *this;
4303  }
4304 
4305  /// The minimum trading volume for a security.
4309  {
4311 
4312  return ordinary<UInt32>(offset);
4313  }
4314 
4315  /// The minimum trading volume for a security.
4316  ThisType& setMinTradeVol(UInt32 value)
4318  {
4320 
4321  setOrdinary(offset, value);
4322  return *this;
4323  }
4324 
4325  /// The maximum trading volume for a security.
4329  {
4331 
4332  return ordinary<UInt32>(offset);
4333  }
4334 
4335  /// The maximum trading volume for a security.
4336  ThisType& setMaxTradeVol(UInt32 value)
4338  {
4340 
4341  setOrdinary(offset, value);
4342  return *this;
4343  }
4344 
4345  /// Minimum constant tick for the instrument.
4349  {
4351 
4352  return decimal<PRICE9>(offset);
4353  }
4354 
4355  /// Minimum constant tick for the instrument.
4356  ThisType& setMinPriceIncrement(PRICE9 value)
4358  {
4360 
4361  setOrdinary(offset, value);
4362  return *this;
4363  }
4364 
4365  /// Contains the multiplier to convert the CME Globex display
4366  /// price to the conventional price.
4370  {
4372 
4373  return decimal<Decimal9>(offset);
4374  }
4375 
4376  /// Contains the multiplier to convert the CME Globex display
4377  /// price to the conventional price.
4378  ThisType& setDisplayFactor(Decimal9 value)
4380  {
4382 
4383  setOrdinary(offset, value);
4384  return *this;
4385  }
4386 
4387  /// Unit of measure for the products' original contract size.
4388  /// This will be populated for all products listed on CME
4389  /// Globex.
4393  {
4396 
4397  return fixedStr<length>(offset);
4398  }
4399 
4400  /// Unit of measure for the products' original contract size.
4401  /// This will be populated for all products listed on CME
4402  /// Globex.
4403  ThisType& setUnitOfMeasure(StrRef value)
4405  {
4408 
4409  setFixedStr<length>(offset, value);
4410  return *this;
4411  }
4412 
4413  /// This field contains the contract size for each instrument.
4414  /// Use in combination with tag 996-UnitofMeasure.
4416  bool unitOfMeasureQty(Decimal9& value) const
4418  {
4420 
4421  return decimal(value, offset, NullDecimal9());
4422  }
4423 
4424  /// This field contains the contract size for each instrument.
4425  /// Use in combination with tag 996-UnitofMeasure.
4428  {
4430 
4431  setOrdinary(offset, value);
4432  return *this;
4433  }
4434 
4437  {
4439 
4440  setOrdinary(offset, NullDecimal9());
4441  return *this;
4442  }
4443 
4444  /// Trading Reference price.
4446  bool tradingReferencePrice(PRICE9& value) const
4448  {
4450 
4451  return decimal(value, offset, NullPRICE9());
4452  }
4453 
4454  /// Trading Reference price.
4457  {
4459 
4460  setOrdinary(offset, value);
4461  return *this;
4462  }
4463 
4466  {
4468 
4469  setOrdinary(offset, NullPRICE9());
4470  return *this;
4471  }
4472 
4473  /// Indicates session date corresponding to the price in tag
4474  /// 1150-TradingReferencePrice.
4476  bool tradingReferenceDate(Timestamp& value) const
4478  {
4479  typedef LocalMktDate FieldValue;
4480 
4482 
4483  FieldValue fieldValue;
4484 
4485  if (ordinary(fieldValue, offset, NullLocalMktDate()))
4486  {
4487  value = localMktDateToTimestamp(fieldValue);
4488  return true;
4489  }
4490  return false;
4491  }
4492 
4493  /// Indicates session date corresponding to the price in tag
4494  /// 1150-TradingReferencePrice.
4497  {
4499 
4500  setOrdinary(offset, timestampToLocalMktDate(value));
4501  return *this;
4502  }
4503 
4506  {
4508 
4509  setOrdinary(offset, NullLocalMktDate());
4510  return *this;
4511  }
4512 
4513  /// Allowable high limit price for the trading day.
4515  bool highLimitPrice(PRICE9& value) const
4517  {
4519 
4520  return decimal(value, offset, NullPRICE9());
4521  }
4522 
4523  /// Allowable high limit price for the trading day.
4524  ThisType& setHighLimitPrice(PRICE9 value)
4526  {
4528 
4529  setOrdinary(offset, value);
4530  return *this;
4531  }
4532 
4535  {
4537 
4538  setOrdinary(offset, NullPRICE9());
4539  return *this;
4540  }
4541 
4542  /// Allowable low limit price for the trading day.
4544  bool lowLimitPrice(PRICE9& value) const
4546  {
4548 
4549  return decimal(value, offset, NullPRICE9());
4550  }
4551 
4552  /// Allowable low limit price for the trading day.
4553  ThisType& setLowLimitPrice(PRICE9 value)
4555  {
4557 
4558  setOrdinary(offset, value);
4559  return *this;
4560  }
4561 
4562  ThisType& lowLimitPriceNull()
4564  {
4566 
4567  setOrdinary(offset, NullPRICE9());
4568  return *this;
4569  }
4570 
4571  /// Differential value for price banding.
4573  bool maxPriceVariation(PRICE9& value) const
4575  {
4577 
4578  return decimal(value, offset, NullPRICE9());
4579  }
4580 
4581  /// Differential value for price banding.
4582  ThisType& setMaxPriceVariation(PRICE9 value)
4584  {
4586 
4587  setOrdinary(offset, value);
4588  return *this;
4589  }
4590 
4593  {
4595 
4596  setOrdinary(offset, NullPRICE9());
4597  return *this;
4598  }
4599 
4600  /// Long name of the instrument.
4604  {
4607 
4608  return fixedStr<length>(offset);
4609  }
4610 
4611  /// Long name of the instrument.
4614  {
4617 
4618  setFixedStr<length>(offset, value);
4619  return *this;
4620  }
4621 
4622  /// Clearing organization.
4626  {
4629 
4630  return fixedStr<length>(offset);
4631  }
4632 
4633  /// Clearing organization.
4636  {
4639 
4640  setFixedStr<length>(offset, value);
4641  return *this;
4642  }
4643 
4644  /// Start date of a financing deal, i.e. the date the buyer
4645  /// pays the seller cash and takes control of the collateral.
4647  bool startDate(Timestamp& value) const
4649  {
4650  typedef LocalMktDate FieldValue;
4651 
4653 
4654  FieldValue fieldValue;
4655 
4656  if (ordinary(fieldValue, offset, NullLocalMktDate()))
4657  {
4658  value = localMktDateToTimestamp(fieldValue);
4659  return true;
4660  }
4661  return false;
4662  }
4663 
4664  /// Start date of a financing deal, i.e. the date the buyer
4665  /// pays the seller cash and takes control of the collateral.
4666  ThisType& setStartDate(Timestamp value)
4668  {
4670 
4671  setOrdinary(offset, timestampToLocalMktDate(value));
4672  return *this;
4673  }
4674 
4675  ThisType& startDateNull()
4677  {
4679 
4680  setOrdinary(offset, NullLocalMktDate());
4681  return *this;
4682  }
4683 
4684  /// End date of a financing deal, i.e. the date the seller
4685  /// reimburses the buyer and takes back control of the
4686  /// collateral.
4688  bool endDate(Timestamp& value) const
4690  {
4691  typedef LocalMktDate FieldValue;
4692 
4694 
4695  FieldValue fieldValue;
4696 
4697  if (ordinary(fieldValue, offset, NullLocalMktDate()))
4698  {
4699  value = localMktDateToTimestamp(fieldValue);
4700  return true;
4701  }
4702  return false;
4703  }
4704 
4705  /// End date of a financing deal, i.e. the date the seller
4706  /// reimburses the buyer and takes back control of the
4707  /// collateral.
4708  ThisType& setEndDate(Timestamp value)
4710  {
4712 
4713  setOrdinary(offset, timestampToLocalMktDate(value));
4714  return *this;
4715  }
4716 
4717  ThisType& endDateNull()
4719  {
4721 
4722  setOrdinary(offset, NullLocalMktDate());
4723  return *this;
4724  }
4725 
4726  /// For Repos the timing or method for terminating the
4727  /// agreement. Term code.
4731  {
4734 
4735  return fixedStr<length>(offset);
4736  }
4737 
4738  /// For Repos the timing or method for terminating the
4739  /// agreement. Term code.
4740  ThisType& setTerminationType(StrRef value)
4742  {
4745 
4746  setFixedStr<length>(offset, value);
4747  return *this;
4748  }
4749 
4750  /// Repo Sub Security Type.
4754  {
4756 
4757  return enumeration<RepoSubType>(offset);
4758  }
4759 
4760  /// Repo Sub Security Type.
4763  {
4765 
4766  setEnumeration<RepoSubType>(offset, value);
4767  return *this;
4768  }
4769 
4770  /// Money or Par indicates if the GC is filled by par amount
4771  /// or by money amount.
4773  bool moneyOrPar(MoneyOrPar::Enum& value) const
4775  {
4777 
4778  return enumeration<MoneyOrPar>(value, offset, NullUInt8());
4779  }
4780 
4781  /// Money or Par indicates if the GC is filled by par amount
4782  /// or by money amount.
4785  {
4787 
4788  setEnumeration<MoneyOrPar>(offset, value);
4789  return *this;
4790  }
4791 
4792  ThisType& moneyOrParNull()
4794  {
4796 
4797  setOrdinary(offset, NullUInt8());
4798  return *this;
4799  }
4800 
4801  /// Max number of substitutions allowed. The value of 0
4802  /// indicates that substitutions are not allowed.
4806  {
4808 
4809  return ordinary<UInt8>(offset);
4810  }
4811 
4812  /// Max number of substitutions allowed. The value of 0
4813  /// indicates that substitutions are not allowed.
4816  {
4818 
4819  setOrdinary(offset, value);
4820  return *this;
4821  }
4822 
4823  /// Price quotation method.
4827  {
4830 
4831  return fixedStr<length>(offset);
4832  }
4833 
4834  /// Price quotation method.
4835  ThisType& setPriceQuoteMethod(StrRef value)
4837  {
4840 
4841  setFixedStr<length>(offset, value);
4842  return *this;
4843  }
4844 
4845  /// User-defined instrument flag.
4849  {
4851 
4852  return ordinary<UserDefinedInstrument>(offset);
4853  }
4854 
4855  /// User-defined instrument flag.
4856  ThisType&
4858  UserDefinedInstrument value)
4860  {
4862 
4863  setOrdinary(offset, value);
4864  return *this;
4865  }
4866 
4867  /// Risk Set identifies the list of instruments sharing credit
4868  /// limits set up.
4870  StrRef riskSet() const
4872  {
4875 
4876  return fixedStr<length>(offset);
4877  }
4878 
4879  /// Risk Set identifies the list of instruments sharing credit
4880  /// limits set up.
4881  ThisType& setRiskSet(StrRef value)
4883  {
4886 
4887  setFixedStr<length>(offset, value);
4888  return *this;
4889  }
4890 
4891  /// MarketSet defines the bilateral relationship and Self
4892  /// Match Prevention configuration for eligible markets.
4896  {
4899 
4900  return fixedStr<length>(offset);
4901  }
4902 
4903  /// MarketSet defines the bilateral relationship and Self
4904  /// Match Prevention configuration for eligible markets.
4905  ThisType& setMarketSet(StrRef value)
4907  {
4910 
4911  setFixedStr<length>(offset, value);
4912  return *this;
4913  }
4914 
4915  /// External unique instrument ID.
4917  bool instrumentGUId(UInt64& value) const
4919  {
4921 
4922  return ordinary(value, offset, NullUInt64());
4923  }
4924 
4925  /// External unique instrument ID.
4926  ThisType& setInstrumentGUId(UInt64 value)
4928  {
4930 
4931  setOrdinary(offset, value);
4932  return *this;
4933  }
4934 
4937  {
4939 
4940  setOrdinary(offset, NullUInt64());
4941  return *this;
4942  }
4943 
4944  /// Full Repo Term Code.
4948  {
4951 
4952  return fixedStr<length>(offset);
4953  }
4954 
4955  /// Full Repo Term Code.
4956  ThisType& setTermCode(StrRef value)
4958  {
4961 
4962  setFixedStr<length>(offset, value);
4963  return *this;
4964  }
4965 
4966  /// Optionally used in tailor made repo contracts and defines
4967  /// the type of broken dates as requested by trader. Null =
4968  /// Not applicable, 0 = Custom, 1 = Quarterly, 2 = Monthly.
4970  bool brokenDateTermType(UInt8& value) const
4972  {
4975 
4976  return ordinary(value, offset, NullUInt8(), since);
4977  }
4978 
4979  /// Optionally used in tailor made repo contracts and defines
4980  /// the type of broken dates as requested by trader. Null =
4981  /// Not applicable, 0 = Custom, 1 = Quarterly, 2 = Monthly.
4982  ThisType& setBrokenDateTermType(UInt8 value)
4983  {
4986 
4987  setOrdinary(offset, value, since);
4988  return *this;
4989  }
4990 
4992  {
4995 
4996  setOrdinary(offset, NullUInt8(), since);
4997  return *this;
4998  }
4999 
5000  /// \return instance of Events repeating group.
5002  Events events() const
5004  {
5005  return getGroup<Events>(EventsAccess(), *this);
5006  }
5007 
5008  /// \return instance of Events repeating group.
5012  {
5013  return getGroup<Events>(EventsAccess(), *this);
5014  }
5015 
5016  /// Setup repeating group with the given number of entries.
5017  /// Sets all optional fields of the group entries to null.
5018  /// \return NoEvents(864) repeating group.
5020  {
5021  return constructGroup<Events>(
5022  EventsAccess(),
5023  length,
5024  *this);
5025  }
5026 
5027  /// Setup repeating group with the given number of entries.
5028  /// \return NoEvents(864) repeating group.
5029  Events
5031  Events::Size length,
5032  NoFieldsInit)
5033  {
5034  return setupGroup<Events>(
5035  EventsAccess(),
5036  length,
5037  *this);
5038  }
5039 
5040  /// \return instance of FeedTypes repeating group.
5044  {
5045  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
5046  }
5047 
5048  /// \return instance of FeedTypes repeating group.
5052  {
5053  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
5054  }
5055 
5056  /// Setup repeating group with the given number of entries.
5057  /// Sets all optional fields of the group entries to null.
5058  /// \return NoMDFeedTypes(1141) repeating group.
5060  {
5061  return constructGroup<FeedTypes>(
5062  FeedTypesAccess(),
5063  length,
5064  *this);
5065  }
5066 
5067  /// Setup repeating group with the given number of entries.
5068  /// \return NoMDFeedTypes(1141) repeating group.
5069  FeedTypes
5071  FeedTypes::Size length,
5072  NoFieldsInit)
5073  {
5074  return setupGroup<FeedTypes>(
5075  FeedTypesAccess(),
5076  length,
5077  *this);
5078  }
5079 
5080  /// \return instance of InstAttrib repeating group.
5084  {
5085  return getGroup<InstAttrib>(
5086  InstAttribAccess(),
5087  *this);
5088  }
5089 
5090  /// \return instance of InstAttrib repeating group.
5094  {
5095  return getGroup<InstAttrib>(
5096  InstAttribAccess(),
5097  *this);
5098  }
5099 
5100  /// Setup repeating group with the given number of entries.
5101  /// Sets all optional fields of the group entries to null.
5102  /// \return NoInstAttrib(870) repeating group.
5104  {
5105  return constructGroup<InstAttrib>(
5106  InstAttribAccess(),
5107  length,
5108  *this);
5109  }
5110 
5111  /// Setup repeating group with the given number of entries.
5112  /// \return NoInstAttrib(870) repeating group.
5113  InstAttrib
5115  InstAttrib::Size length,
5116  NoFieldsInit)
5117  {
5118  return setupGroup<InstAttrib>(
5119  InstAttribAccess(),
5120  length,
5121  *this);
5122  }
5123 
5124  /// \return instance of LotTypeRules repeating group.
5128  {
5129  return getGroup<LotTypeRules>(
5130  LotTypeRulesAccess(),
5131  *this);
5132  }
5133 
5134  /// \return instance of LotTypeRules repeating group.
5138  {
5139  return getGroup<LotTypeRules>(
5140  LotTypeRulesAccess(),
5141  *this);
5142  }
5143 
5144  /// Setup repeating group with the given number of entries.
5145  /// Sets all optional fields of the group entries to null.
5146  /// \return NoLotTypeRules(1234) repeating group.
5147  LotTypeRules
5149  LotTypeRules::Size length)
5150  {
5151  return constructGroup<LotTypeRules>(
5152  LotTypeRulesAccess(),
5153  length,
5154  *this);
5155  }
5156 
5157  /// Setup repeating group with the given number of entries.
5158  /// \return NoLotTypeRules(1234) repeating group.
5159  LotTypeRules
5161  LotTypeRules::Size length,
5162  NoFieldsInit)
5163  {
5164  return setupGroup<LotTypeRules>(
5165  LotTypeRulesAccess(),
5166  length,
5167  *this);
5168  }
5169 
5170  /// \return instance of Underlyings repeating group.
5174  {
5175  return getGroup<Underlyings>(
5176  UnderlyingsAccess(),
5177  *this);
5178  }
5179 
5180  /// \return instance of Underlyings repeating group.
5184  {
5185  return getGroup<Underlyings>(
5186  UnderlyingsAccess(),
5187  *this);
5188  }
5189 
5190  /// Setup repeating group with the given number of entries.
5191  /// Sets all optional fields of the group entries to null.
5192  /// \return NoUnderlyings(711) repeating group.
5194  {
5195  return constructGroup<Underlyings>(
5196  UnderlyingsAccess(),
5197  length,
5198  *this);
5199  }
5200 
5201  /// Setup repeating group with the given number of entries.
5202  /// \return NoUnderlyings(711) repeating group.
5203  Underlyings
5205  Underlyings::Size length,
5206  NoFieldsInit)
5207  {
5208  return setupGroup<Underlyings>(
5209  UnderlyingsAccess(),
5210  length,
5211  *this);
5212  }
5213 
5214  /// \return instance of RelatedInstruments repeating group.
5218  {
5219  return getGroup<RelatedInstruments>(
5220  RelatedInstrumentsAccess(),
5221  *this);
5222  }
5223 
5224  /// \return instance of RelatedInstruments repeating group.
5228  {
5229  return getGroup<RelatedInstruments>(
5230  RelatedInstrumentsAccess(),
5231  *this);
5232  }
5233 
5234  /// Setup repeating group with the given number of entries.
5235  /// Sets all optional fields of the group entries to null.
5236  /// \return NoRelatedInstruments(1647) repeating group.
5239  RelatedInstruments::Size length)
5240  {
5241  return constructGroup<RelatedInstruments>(
5242  RelatedInstrumentsAccess(),
5243  length,
5244  *this);
5245  }
5246 
5247  /// Setup repeating group with the given number of entries.
5248  /// \return NoRelatedInstruments(1647) repeating group.
5251  RelatedInstruments::Size length,
5252  NoFieldsInit)
5253  {
5254  return setupGroup<RelatedInstruments>(
5255  RelatedInstrumentsAccess(),
5256  length,
5257  *this);
5258  }
5259 
5260  /// \return instance of BrokenDates repeating group.
5264  {
5266 
5267  return getGroup<BrokenDates>(
5268  BrokenDatesAccess(),
5269  since,
5270  *this);
5271  }
5272 
5273  /// \return instance of BrokenDates repeating group.
5277  {
5279 
5280  return getGroup<BrokenDates>(
5281  BrokenDatesAccess(),
5282  since,
5283  *this);
5284  }
5285 
5286  /// Setup repeating group with the given number of entries.
5287  /// Sets all optional fields of the group entries to null.
5288  /// \return NoBrokenDates(39026) repeating group.
5290  {
5292 
5293  return constructGroup<BrokenDates>(
5294  BrokenDatesAccess(),
5295  length,
5296  since,
5297  *this);
5298  }
5299 
5300  /// Setup repeating group with the given number of entries.
5301  /// \return NoBrokenDates(39026) repeating group.
5302  BrokenDates
5304  BrokenDates::Size length,
5305  NoFieldsInit)
5306  {
5308 
5309  return setupGroup<BrokenDates>(
5310  BrokenDatesAccess(),
5311  length,
5312  since,
5313  *this);
5314  }
5315 
5316  /// Minimal size of message body in bytes.
5321  {
5322  return
5323  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
5324  (version >= 13)
5325  ? 276
5326  : 275;
5327  }
5328 
5329  /// Size of message body in bytes.
5334  {
5335  return
5336  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
5337  minimalBlockLength(version);
5338  }
5339 
5340  /// Minimal variable fields size (when variable-length fields are empty).
5345  {
5346  return
5347  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
5348  (version >= 13)
5349  ? static_cast<MessageSize>(Events::EmptySize) + static_cast<MessageSize>(FeedTypes::EmptySize) + static_cast<MessageSize>(InstAttrib::EmptySize) + static_cast<MessageSize>(LotTypeRules::EmptySize) + static_cast<MessageSize>(Underlyings::EmptySize) + static_cast<MessageSize>(RelatedInstruments::EmptySize) + static_cast<MessageSize>(BrokenDates::EmptySize)
5350  : static_cast<MessageSize>(Events::EmptySize) + static_cast<MessageSize>(FeedTypes::EmptySize) + static_cast<MessageSize>(InstAttrib::EmptySize) + static_cast<MessageSize>(LotTypeRules::EmptySize) + static_cast<MessageSize>(Underlyings::EmptySize) + static_cast<MessageSize>(RelatedInstruments::EmptySize);
5351  }
5352 
5353  /// Reset all variable-length fields if any.
5356  {
5357  eventsNull();
5358  feedTypesNull();
5359  instAttribNull();
5360  lotTypeRulesNull();
5361  underlyingsNull();
5362  relatedInstrumentsNull();
5363  brokenDatesNull();
5364  return *this;
5365  }
5366 
5367  /// Reset all variable-length and optional fields if any.
5368  ThisType& reset()
5370  {
5371  totNumReportsNull();
5372  securityTradingStatusNull();
5373  unitOfMeasureQtyNull();
5374  tradingReferencePriceNull();
5375  tradingReferenceDateNull();
5376  highLimitPriceNull();
5377  lowLimitPriceNull();
5378  maxPriceVariationNull();
5379  startDateNull();
5380  endDateNull();
5381  moneyOrParNull();
5382  instrumentGUIdNull();
5383 
5384  if (version() >= 13)
5385  {
5386  brokenDateTermTypeNull();
5387  }
5388 
5389  resetVariableFields();
5390  return *this;
5391  }
5392 
5393  /// \return class name.
5397  static const Char* className()
5398  {
5399  return "InstrumentDefinitionRepo58";
5400  }
5401 
5402  /// FIX message type.
5406  static StrRef fixType()
5408  {
5409  return constructStrRef("d");
5410  }
5411 
5412  /// \return the end of the message.
5414  const void* tail() const
5416  {
5417  const SchemaVersion version =
5418  this->version();
5419 
5420  assert(version >= Schema::MinimalVersion);
5421 
5422  if (version < 13)
5423  {
5424  return
5425  relatedInstruments().tail();
5426  }
5427 
5428  return
5429  brokenDates().tail();
5430  }
5431 
5432  /// \return the size occupied by the message.
5436  {
5437  return
5438  SbeMessage::calculateBinarySize(tail());
5439  }
5440 
5441 private:
5442  void checkLength(
5443  EncodedLength length, SchemaVersion version) const
5444  {
5445  const EncodedLength minimalRequiredLength =
5446  minimalBlockLength(version) +
5447  MessageHeader::Size +
5448  getMinimalVariableFieldsSize(version);
5449 
5450  checkBinaryLength(
5451  *this, length, minimalRequiredLength);
5452  }
5453 
5454  /// Checks variable fields consistency.
5455  void checkVarLenFields() const
5456  {
5457  const SchemaVersion version =
5458  this->version();
5459 
5460  assert(version >= Schema::MinimalVersion);
5461 
5462  if (version < 13)
5463  {
5464  groups().
5465  checkTail<Events>().
5466  checkTail<FeedTypes>().
5467  checkTail<InstAttrib>().
5468  checkTail<LotTypeRules>().
5469  checkTail<Underlyings>().
5470  checkTail<RelatedInstruments>();
5471 
5472  return;
5473  }
5474 
5475  groups().
5476  checkTail<Events>().
5477  checkTail<FeedTypes>().
5478  checkTail<InstAttrib>().
5479  checkTail<LotTypeRules>().
5480  checkTail<Underlyings>().
5481  checkTail<RelatedInstruments>().
5482  checkTail<BrokenDates>();
5483  }
5484 
5485  void checkCompatibility() const
5486  {
5487  assert(TemplateId == templateId());
5488 
5489  checkSchema<Schema>(schemaId(), version());
5490  checkLength(bufferSize(), version());
5491  checkVarLenFields();
5492  }
5493 
5494  /// Access helper.
5495  struct EventsAccess
5496  {
5497  Events
5498  operator()(
5499  const InstrumentDefinitionRepo58& obj) const
5501  {
5502  return obj.
5503  groups().
5504  head<Events>();
5505  }
5506  };
5507 
5508  /// Reset an instance of the repeating group.
5509  /// All the following data will be invalidated.
5510  void eventsNull()
5512  {
5513  resetGroup<Events>(EventsAccess(), *this);
5514  }
5515 
5516  /// Access helper.
5517  struct FeedTypesAccess
5518  {
5519  FeedTypes
5520  operator()(
5521  const InstrumentDefinitionRepo58& obj) const
5523  {
5524  return obj.
5525  groups().
5526  tail<Events>().
5527  head<FeedTypes>();
5528  }
5529  };
5530 
5531  /// Reset an instance of the repeating group.
5532  /// All the following data will be invalidated.
5533  void feedTypesNull()
5535  {
5536  resetGroup<FeedTypes>(FeedTypesAccess(), *this);
5537  }
5538 
5539  /// Access helper.
5540  struct InstAttribAccess
5541  {
5542  InstAttrib
5543  operator()(
5544  const InstrumentDefinitionRepo58& obj) const
5546  {
5547  return obj.
5548  groups().
5549  tail<Events>().
5550  tail<FeedTypes>().
5551  head<InstAttrib>();
5552  }
5553  };
5554 
5555  /// Reset an instance of the repeating group.
5556  /// All the following data will be invalidated.
5557  void instAttribNull()
5559  {
5560  resetGroup<InstAttrib>(
5561  InstAttribAccess(),
5562  *this);
5563  }
5564 
5565  /// Access helper.
5566  struct LotTypeRulesAccess
5567  {
5568  LotTypeRules
5569  operator()(
5570  const InstrumentDefinitionRepo58& obj) const
5572  {
5573  return obj.
5574  groups().
5575  tail<Events>().
5576  tail<FeedTypes>().
5577  tail<InstAttrib>().
5578  head<LotTypeRules>();
5579  }
5580  };
5581 
5582  /// Reset an instance of the repeating group.
5583  /// All the following data will be invalidated.
5584  void lotTypeRulesNull()
5586  {
5587  resetGroup<LotTypeRules>(
5588  LotTypeRulesAccess(),
5589  *this);
5590  }
5591 
5592  /// Access helper.
5593  struct UnderlyingsAccess
5594  {
5595  Underlyings
5596  operator()(
5597  const InstrumentDefinitionRepo58& obj) const
5599  {
5600  return obj.
5601  groups().
5602  tail<Events>().
5603  tail<FeedTypes>().
5604  tail<InstAttrib>().
5605  tail<LotTypeRules>().
5606  head<Underlyings>();
5607  }
5608  };
5609 
5610  /// Reset an instance of the repeating group.
5611  /// All the following data will be invalidated.
5612  void underlyingsNull()
5614  {
5615  resetGroup<Underlyings>(
5616  UnderlyingsAccess(),
5617  *this);
5618  }
5619 
5620  /// Access helper.
5621  struct RelatedInstrumentsAccess
5622  {
5624  operator()(
5625  const InstrumentDefinitionRepo58& obj) const
5627  {
5628  return obj.
5629  groups().
5630  tail<Events>().
5631  tail<FeedTypes>().
5632  tail<InstAttrib>().
5633  tail<LotTypeRules>().
5634  tail<Underlyings>().
5635  head<RelatedInstruments>();
5636  }
5637  };
5638 
5639  /// Reset an instance of the repeating group.
5640  /// All the following data will be invalidated.
5641  void relatedInstrumentsNull()
5643  {
5644  resetGroup<RelatedInstruments>(
5645  RelatedInstrumentsAccess(),
5646  *this);
5647  }
5648 
5649  /// Access helper.
5650  struct BrokenDatesAccess
5651  {
5652  BrokenDates
5653  operator()(
5654  const InstrumentDefinitionRepo58& obj) const
5656  {
5657  return obj.
5658  groups().
5659  tail<Events>().
5660  tail<FeedTypes>().
5661  tail<InstAttrib>().
5662  tail<LotTypeRules>().
5663  tail<Underlyings>().
5664  tail<RelatedInstruments>().
5665  head<BrokenDates>();
5666  }
5667  };
5668 
5669  /// Reset an instance of the repeating group.
5670  /// All the following data will be invalidated.
5671  void brokenDatesNull()
5673  {
5675 
5676  resetGroup<BrokenDates>(
5677  BrokenDatesAccess(),
5678  since,
5679  *this);
5680  }
5681 };
5682 
5683 /// SnapshotRefreshTopOrders.
5686 : SbeMessage
5687 {
5688  /// Used template schema.
5690 
5691  /// This type alias.
5693 
5694  /// Message template ID from SBE schema.
5695  enum { TemplateId = 59 };
5696 
5697  /// Number of data blocks following.
5698  /// Entry of Entry repeating group.
5701  <
5703  >
5704  {
5705  /// Base class type.
5706  typedef
5708  <
5710  >
5712 
5713  /// This type alias.
5714  typedef Entry ThisType;
5715 
5716  /// Initializes instance of given
5717  /// version over given memory block.
5719  void* data,
5720  EncodedLength length,
5721  SchemaVersion version)
5722  : Base(data, length, version)
5723  {
5724  assert(version >= Schema::MinimalVersion);
5725  assert(length >= minimalBlockLength(version));
5726  }
5727 
5728  /// Reset all variable-length fields if any.
5731  {
5732  return *this;
5733  }
5734 
5735  /// Reset all variable-length and optional fields if any.
5736  ThisType& reset()
5738  {
5739  resetVariableFields();
5740  return *this;
5741  }
5742 
5743  /// Order ID.
5745  UInt64 orderId() const
5747  {
5749 
5750  return ordinary<UInt64>(offset);
5751  }
5752 
5753  /// Order ID.
5754  ThisType& setOrderId(UInt64 value)
5756  {
5758 
5759  setOrdinary(offset, value);
5760  return *this;
5761  }
5762 
5763  /// Order priority for execution on the order book.
5767  {
5769 
5770  return ordinary<UInt64>(offset);
5771  }
5772 
5773  /// Order priority for execution on the order book.
5774  ThisType& setOrderPriority(UInt64 value)
5776  {
5778 
5779  setOrdinary(offset, value);
5780  return *this;
5781  }
5782 
5783  /// Order price.
5785  PRICE9 entryPx() const
5787  {
5789 
5790  return decimal<PRICE9>(offset);
5791  }
5792 
5793  /// Order price.
5794  ThisType& setEntryPx(PRICE9 value)
5796  {
5798 
5799  setOrdinary(offset, value);
5800  return *this;
5801  }
5802 
5803  /// Visible qty of order.
5807  {
5809 
5810  return ordinary<Int32>(offset);
5811  }
5812 
5813  /// Visible qty of order.
5814  ThisType& setDisplayQty(Int32 value)
5816  {
5818 
5819  setOrdinary(offset, value);
5820  return *this;
5821  }
5822 
5823  /// Market Data entry type.
5827  {
5829 
5830  return enumeration<EntryTypeBook>(offset);
5831  }
5832 
5833  /// Market Data entry type.
5834  ThisType&
5836  EntryTypeBook::Enum value)
5838  {
5840 
5841  setEnumeration<EntryTypeBook>(offset, value);
5842  return *this;
5843  }
5844 
5845  /// \return size of entry body in bytes
5846  /// for given version of message template.
5851  {
5852  return
5853  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
5854  minimalBlockLength(version);
5855  }
5856 
5857  /// \return minimal size of entry body in bytes
5858  /// for given version of message template.
5861  static
5862  BlockLength
5864  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
5866  {
5867  return
5868  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
5869  29;
5870  }
5871 
5872  /// Entity class name.
5876  static const Char* className()
5877  {
5878  return "SnapshotRefreshTopOrders59.Entry";
5879  }
5880  };
5881 
5882  /// Repeating group containing Entry entries.
5883  typedef
5886 
5887  /// Initializes a blank instance.
5888  SnapshotRefreshTopOrders59() ONIXS_CONFLATEDTCP_DEFAULT;
5889 
5890  /// Initializes an instance over the given memory block.
5892  void* data,
5893  EncodedLength length,
5894  SchemaVersion version = Schema::Version)
5895  : SbeMessage(data, length, version)
5896  {
5897  checkVersion<Schema>(version);
5898  checkLength(length, version);
5899  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
5900  reset();
5901  }
5902 
5903  /// Initializes an instance over the given memory block
5904  /// With no variable-length fields initialization
5905  /// It is assumed that the user does such an initialization manually.
5907  void* data,
5908  EncodedLength length,
5909  NoFieldsInit,
5910  SchemaVersion version = Schema::Version)
5911  : SbeMessage(data, length, version)
5912  {
5913  checkVersion<Schema>(version);
5914  checkLength(length, version);
5915  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
5916  resetVariableFields();
5917  }
5918 
5919  /// Creates an instance over the given memory block.
5921  void* data,
5922  EncodedLength length,
5923  NoInit)
5924  : SbeMessage(data, length)
5925  {
5926  checkCompatibility();
5927  }
5928 
5929  /// Creates an instance over the given SBE message.
5930  explicit
5932  const SbeMessage& message)
5933  : SbeMessage(message)
5934  {
5935  assert(message.valid());
5936 
5937  checkCompatibility();
5938  }
5939 
5940  /// Start of event processing time in number of nanoseconds
5941  /// since Unix epoch.
5945  {
5947 
5948  return ordinary<Timestamp>(offset);
5949  }
5950 
5951  /// Start of event processing time in number of nanoseconds
5952  /// since Unix epoch.
5953  ThisType& setTransactTime(Timestamp value)
5955  {
5957 
5958  setOrdinary(offset, value.sinceEpoch());
5959  return *this;
5960  }
5961 
5962  /// Bitmap field of eight Boolean type indicators reflecting
5963  /// the end of updates for a given Globex event.
5967  {
5969 
5970  return ordinary<MatchEventIndicator>(offset);
5971  }
5972 
5973  /// Bitmap field of eight Boolean type indicators reflecting
5974  /// the end of updates for a given Globex event.
5975  ThisType&
5977  MatchEventIndicator value)
5979  {
5981 
5982  setOrdinary(offset, value);
5983  return *this;
5984  }
5985 
5986  /// Security ID.
5990  {
5992 
5993  return ordinary<Int32>(offset);
5994  }
5995 
5996  /// Security ID.
5997  ThisType& setSecurityId(Int32 value)
5999  {
6001 
6002  setOrdinary(offset, value);
6003  return *this;
6004  }
6005 
6006  /// \return instance of Entries repeating group.
6010  {
6011  return getGroup<Entries>(EntriesAccess(), *this);
6012  }
6013 
6014  /// \return instance of Entries repeating group.
6018  {
6019  return getGroup<Entries>(EntriesAccess(), *this);
6020  }
6021 
6022  /// Setup repeating group with the given number of entries.
6023  /// Sets all optional fields of the group entries to null.
6024  /// \return NoMDEntries(268) repeating group.
6026  {
6027  return constructGroup<Entries>(
6028  EntriesAccess(),
6029  length,
6030  *this);
6031  }
6032 
6033  /// Setup repeating group with the given number of entries.
6034  /// \return NoMDEntries(268) repeating group.
6035  Entries
6037  Entries::Size length,
6038  NoFieldsInit)
6039  {
6040  return setupGroup<Entries>(
6041  EntriesAccess(),
6042  length,
6043  *this);
6044  }
6045 
6046  /// Minimal size of message body in bytes.
6049  static
6050  BlockLength
6052  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
6054  {
6055  return
6056  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6057  13;
6058  }
6059 
6060  /// Size of message body in bytes.
6065  {
6066  return
6067  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6068  minimalBlockLength(version);
6069  }
6070 
6071  /// Minimal variable fields size (when variable-length fields are empty).
6075  static
6076  MessageSize
6078  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
6079  {
6080  return
6081  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6082  static_cast<MessageSize>(Entries::EmptySize);
6083  }
6084 
6085  /// Reset all variable-length fields if any.
6088  {
6089  entriesNull();
6090  return *this;
6091  }
6092 
6093  /// Reset all variable-length and optional fields if any.
6094  ThisType& reset()
6096  {
6097  resetVariableFields();
6098  return *this;
6099  }
6100 
6101  /// \return class name.
6105  static const Char* className()
6106  {
6107  return "SnapshotRefreshTopOrders59";
6108  }
6109 
6110  /// FIX message type.
6114  static StrRef fixType()
6116  {
6117  return constructStrRef("W");
6118  }
6119 
6120  /// \return the end of the message.
6122  const void* tail() const
6124  {
6125  return
6126  entries().tail();
6127  }
6128 
6129  /// \return the size occupied by the message.
6133  {
6134  return
6135  SbeMessage::calculateBinarySize(tail());
6136  }
6137 
6138 private:
6139  void checkLength(
6140  EncodedLength length, SchemaVersion version) const
6141  {
6142  const EncodedLength minimalRequiredLength =
6143  minimalBlockLength(version) +
6144  MessageHeader::Size +
6145  getMinimalVariableFieldsSize(version);
6146 
6147  checkBinaryLength(
6148  *this, length, minimalRequiredLength);
6149  }
6150 
6151  /// Checks variable fields consistency.
6152  void checkVarLenFields() const
6153  {
6154  groups().
6155  checkTail<Entries>();
6156  }
6157 
6158  void checkCompatibility() const
6159  {
6160  assert(TemplateId == templateId());
6161 
6162  checkSchema<Schema>(schemaId(), version());
6163  checkLength(bufferSize(), version());
6164  checkVarLenFields();
6165  }
6166 
6167  /// Access helper.
6168  struct EntriesAccess
6169  {
6170  Entries
6171  operator()(
6172  const SnapshotRefreshTopOrders59& obj) const
6174  {
6175  return obj.
6176  groups().
6177  head<Entries>();
6178  }
6179  };
6180 
6181  /// Reset an instance of the repeating group.
6182  /// All the following data will be invalidated.
6183  void entriesNull()
6185  {
6186  resetGroup<Entries>(EntriesAccess(), *this);
6187  }
6188 };
6189 
6190 /// SecurityStatusWorkup.
6193 : SbeMessage
6194 {
6195  /// Used template schema.
6197 
6198  /// This type alias.
6200 
6201  /// Message template ID from SBE schema.
6202  enum { TemplateId = 60 };
6203 
6204  /// Number of OrderID entries.
6205  /// Entry of OrderIDEntry repeating group.
6208  <
6210  >
6211  {
6212  /// Base class type.
6213  typedef
6215  <
6217  >
6219 
6220  /// This type alias.
6222 
6223  /// Initializes instance of given
6224  /// version over given memory block.
6226  void* data,
6227  EncodedLength length,
6228  SchemaVersion version)
6229  : Base(data, length, version)
6230  {
6231  assert(version >= Schema::MinimalVersion);
6232  assert(length >= minimalBlockLength(version));
6233  }
6234 
6235  /// Reset all variable-length fields if any.
6238  {
6239  return *this;
6240  }
6241 
6242  /// Reset all variable-length and optional fields if any.
6243  ThisType& reset()
6245  {
6246  aggressorIndicatorNull();
6247 
6248  resetVariableFields();
6249  return *this;
6250  }
6251 
6252  /// Unique Order ID assigned by the exchange.
6254  UInt64 orderId() const
6256  {
6258 
6259  return ordinary<UInt64>(offset);
6260  }
6261 
6262  /// Unique Order ID assigned by the exchange.
6263  ThisType& setOrderId(UInt64 value)
6265  {
6267 
6268  setOrdinary(offset, value);
6269  return *this;
6270  }
6271 
6272  /// Side of order.
6276  {
6278 
6279  return enumeration<Side>(offset);
6280  }
6281 
6282  /// Side of order.
6283  ThisType& setSide(Side::Enum value)
6285  {
6287 
6288  setEnumeration<Side>(offset, value);
6289  return *this;
6290  }
6291 
6292  /// Aggressor Indicator 1=Aggressor Order 0=Passive Order.
6294  bool
6296  AggressorFlag::Enum& value) const
6298  {
6300 
6301  return enumeration<AggressorFlag>(value, offset, NullUInt8());
6302  }
6303 
6304  /// Aggressor Indicator 1=Aggressor Order 0=Passive Order.
6305  ThisType&
6307  AggressorFlag::Enum value)
6309  {
6311 
6312  setEnumeration<AggressorFlag>(offset, value);
6313  return *this;
6314  }
6315 
6318  {
6320 
6321  setOrdinary(offset, NullUInt8());
6322  return *this;
6323  }
6324 
6325  /// \return size of entry body in bytes
6326  /// for given version of message template.
6331  {
6332  return
6333  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6334  minimalBlockLength(version);
6335  }
6336 
6337  /// \return minimal size of entry body in bytes
6338  /// for given version of message template.
6341  static
6342  BlockLength
6344  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
6346  {
6347  return
6348  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6349  10;
6350  }
6351 
6352  /// Entity class name.
6356  static const Char* className()
6357  {
6358  return "SecurityStatusWorkup60.OrderIDEntry";
6359  }
6360  };
6361 
6362  /// Repeating group containing OrderIDEntry entries.
6363  typedef
6366 
6367  /// Initializes a blank instance.
6368  SecurityStatusWorkup60() ONIXS_CONFLATEDTCP_DEFAULT;
6369 
6370  /// Initializes an instance over the given memory block.
6372  void* data,
6373  EncodedLength length,
6374  SchemaVersion version = Schema::Version)
6375  : SbeMessage(data, length, version)
6376  {
6377  checkVersion<Schema>(version);
6378  checkLength(length, version);
6379  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
6380  reset();
6381  }
6382 
6383  /// Initializes an instance over the given memory block
6384  /// With no variable-length fields initialization
6385  /// It is assumed that the user does such an initialization manually.
6387  void* data,
6388  EncodedLength length,
6389  NoFieldsInit,
6390  SchemaVersion version = Schema::Version)
6391  : SbeMessage(data, length, version)
6392  {
6393  checkVersion<Schema>(version);
6394  checkLength(length, version);
6395  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
6396  resetVariableFields();
6397  }
6398 
6399  /// Creates an instance over the given memory block.
6401  void* data,
6402  EncodedLength length,
6403  NoInit)
6404  : SbeMessage(data, length)
6405  {
6406  checkCompatibility();
6407  }
6408 
6409  /// Creates an instance over the given SBE message.
6410  explicit
6412  const SbeMessage& message)
6413  : SbeMessage(message)
6414  {
6415  assert(message.valid());
6416 
6417  checkCompatibility();
6418  }
6419 
6420  /// Start of event processing time in number of nanoseconds
6421  /// since Unix epoch.
6425  {
6427 
6428  return ordinary<Timestamp>(offset);
6429  }
6430 
6431  /// Start of event processing time in number of nanoseconds
6432  /// since Unix epoch.
6433  ThisType& setTransactTime(Timestamp value)
6435  {
6437 
6438  setOrdinary(offset, value.sinceEpoch());
6439  return *this;
6440  }
6441 
6442  /// Workup price.
6444  bool entryPx(PRICE9& value) const
6446  {
6448 
6449  return decimal(value, offset, NullPRICE9());
6450  }
6451 
6452  /// Workup price.
6453  ThisType& setEntryPx(PRICE9 value)
6455  {
6457 
6458  setOrdinary(offset, value);
6459  return *this;
6460  }
6461 
6462  ThisType& entryPxNull()
6464  {
6466 
6467  setOrdinary(offset, NullPRICE9());
6468  return *this;
6469  }
6470 
6471  /// Security ID.
6475  {
6477 
6478  return ordinary<Int32>(offset);
6479  }
6480 
6481  /// Security ID.
6482  ThisType& setSecurityId(Int32 value)
6484  {
6486 
6487  setOrdinary(offset, value);
6488  return *this;
6489  }
6490 
6491  /// Bitmap field of eight Boolean type indicators reflecting
6492  /// the end of updates for a given Globex event.
6496  {
6498 
6499  return ordinary<MatchEventIndicator>(offset);
6500  }
6501 
6502  /// Bitmap field of eight Boolean type indicators reflecting
6503  /// the end of updates for a given Globex event.
6504  ThisType&
6506  MatchEventIndicator value)
6508  {
6510 
6511  setOrdinary(offset, value);
6512  return *this;
6513  }
6514 
6515  /// Trade Date.
6517  bool tradeDate(Timestamp& value) const
6519  {
6520  typedef LocalMktDate FieldValue;
6521 
6523 
6524  FieldValue fieldValue;
6525 
6526  if (ordinary(fieldValue, offset, NullLocalMktDate()))
6527  {
6528  value = localMktDateToTimestamp(fieldValue);
6529  return true;
6530  }
6531  return false;
6532  }
6533 
6534  /// Trade Date.
6535  ThisType& setTradeDate(Timestamp value)
6537  {
6539 
6540  setOrdinary(offset, timestampToLocalMktDate(value));
6541  return *this;
6542  }
6543 
6544  ThisType& tradeDateNull()
6546  {
6548 
6549  setOrdinary(offset, NullLocalMktDate());
6550  return *this;
6551  }
6552 
6553  /// Contains the workup ID; unique per instrument per day.
6557  {
6559 
6560  return ordinary<UInt32>(offset);
6561  }
6562 
6563  /// Contains the workup ID; unique per instrument per day.
6564  ThisType& setTradeLinkId(UInt32 value)
6566  {
6568 
6569  setOrdinary(offset, value);
6570  return *this;
6571  }
6572 
6573  /// Identifies the trading status applicable to the instrument.
6578  {
6580 
6581  return enumeration<WorkupTradingStatus>(offset);
6582  }
6583 
6584  /// Identifies the trading status applicable to the instrument.
6585  ThisType&
6589  {
6591 
6592  setEnumeration<WorkupTradingStatus>(offset, value);
6593  return *this;
6594  }
6595 
6596  /// Indicates halt reason status due to surveillance activity.
6600  {
6602 
6603  return enumeration<HaltReason>(offset);
6604  }
6605 
6606  /// Indicates halt reason status due to surveillance activity.
6609  {
6611 
6612  setEnumeration<HaltReason>(offset, value);
6613  return *this;
6614  }
6615 
6616  /// Indicates the trading status applicable to the transaction.
6621  {
6623 
6624  return enumeration<SecurityTradingEvent>(offset);
6625  }
6626 
6627  /// Indicates the trading status applicable to the transaction.
6628  ThisType&
6632  {
6634 
6635  setEnumeration<SecurityTradingEvent>(offset, value);
6636  return *this;
6637  }
6638 
6639  /// \return instance of OrderIDEntries repeating group.
6643  {
6644  return getGroup<OrderIDEntries>(
6645  OrderIDEntriesAccess(),
6646  *this);
6647  }
6648 
6649  /// \return instance of OrderIDEntries repeating group.
6653  {
6654  return getGroup<OrderIDEntries>(
6655  OrderIDEntriesAccess(),
6656  *this);
6657  }
6658 
6659  /// Setup repeating group with the given number of entries.
6660  /// Sets all optional fields of the group entries to null.
6661  /// \return NoOrderIDEntries(37705) repeating group.
6664  OrderIDEntries::Size length)
6665  {
6666  return constructGroup<OrderIDEntries>(
6667  OrderIDEntriesAccess(),
6668  length,
6669  *this);
6670  }
6671 
6672  /// Setup repeating group with the given number of entries.
6673  /// \return NoOrderIDEntries(37705) repeating group.
6676  OrderIDEntries::Size length,
6677  NoFieldsInit)
6678  {
6679  return setupGroup<OrderIDEntries>(
6680  OrderIDEntriesAccess(),
6681  length,
6682  *this);
6683  }
6684 
6685  /// Minimal size of message body in bytes.
6688  static
6689  BlockLength
6691  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
6693  {
6694  return
6695  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6696  30;
6697  }
6698 
6699  /// Size of message body in bytes.
6704  {
6705  return
6706  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6707  minimalBlockLength(version);
6708  }
6709 
6710  /// Minimal variable fields size (when variable-length fields are empty).
6714  static
6715  MessageSize
6717  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
6718  {
6719  return
6720  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
6721  static_cast<MessageSize>(OrderIDEntries::EmptySize);
6722  }
6723 
6724  /// Reset all variable-length fields if any.
6727  {
6728  orderIdEntriesNull();
6729  return *this;
6730  }
6731 
6732  /// Reset all variable-length and optional fields if any.
6733  ThisType& reset()
6735  {
6736  entryPxNull();
6737  tradeDateNull();
6738 
6739  resetVariableFields();
6740  return *this;
6741  }
6742 
6743  /// \return class name.
6747  static const Char* className()
6748  {
6749  return "SecurityStatusWorkup60";
6750  }
6751 
6752  /// FIX message type.
6756  static StrRef fixType()
6758  {
6759  return constructStrRef("f");
6760  }
6761 
6762  /// \return the end of the message.
6764  const void* tail() const
6766  {
6767  return
6768  orderIdEntries().tail();
6769  }
6770 
6771  /// \return the size occupied by the message.
6775  {
6776  return
6777  SbeMessage::calculateBinarySize(tail());
6778  }
6779 
6780 private:
6781  void checkLength(
6782  EncodedLength length, SchemaVersion version) const
6783  {
6784  const EncodedLength minimalRequiredLength =
6785  minimalBlockLength(version) +
6786  MessageHeader::Size +
6787  getMinimalVariableFieldsSize(version);
6788 
6789  checkBinaryLength(
6790  *this, length, minimalRequiredLength);
6791  }
6792 
6793  /// Checks variable fields consistency.
6794  void checkVarLenFields() const
6795  {
6796  groups().
6797  checkTail<OrderIDEntries>();
6798  }
6799 
6800  void checkCompatibility() const
6801  {
6802  assert(TemplateId == templateId());
6803 
6804  checkSchema<Schema>(schemaId(), version());
6805  checkLength(bufferSize(), version());
6806  checkVarLenFields();
6807  }
6808 
6809  /// Access helper.
6810  struct OrderIDEntriesAccess
6811  {
6813  operator()(
6814  const SecurityStatusWorkup60& obj) const
6816  {
6817  return obj.
6818  groups().
6819  head<OrderIDEntries>();
6820  }
6821  };
6822 
6823  /// Reset an instance of the repeating group.
6824  /// All the following data will be invalidated.
6825  void orderIdEntriesNull()
6827  {
6828  resetGroup<OrderIDEntries>(
6829  OrderIDEntriesAccess(),
6830  *this);
6831  }
6832 };
6833 
6834 /// SnapshotFullRefreshTCP.
6837 : SbeMessage
6838 {
6839  /// Used template schema.
6841 
6842  /// This type alias.
6844 
6845  /// Message template ID from SBE schema.
6846  enum { TemplateId = 61 };
6847 
6848  /// Number of data blocks listed in the Incremental message.
6849  /// Entry of Entry repeating group.
6852  <
6854  >
6855  {
6856  /// Base class type.
6857  typedef
6859  <
6861  >
6863 
6864  /// This type alias.
6865  typedef Entry ThisType;
6866 
6867  /// Initializes instance of given
6868  /// version over given memory block.
6870  void* data,
6871  EncodedLength length,
6872  SchemaVersion version)
6873  : Base(data, length, version)
6874  {
6875  assert(version >= Schema::MinimalVersion);
6876  assert(length >= minimalBlockLength(version));
6877  }
6878 
6879  /// Reset all variable-length fields if any.
6882  {
6883  return *this;
6884  }
6885 
6886  /// Reset all variable-length and optional fields if any.
6887  ThisType& reset()
6889  {
6890  entryPxNull();
6891  entrySizeNull();
6892  tradeableSizeNull();
6893  numberOfOrdersNull();
6894  priceLevelNull();
6895  openCloseSettlFlagNull();
6896  tradingReferenceDateNull();
6897 
6898  resetVariableFields();
6899  return *this;
6900  }
6901 
6902  /// Price of the Market Data Entry.
6904  bool entryPx(PRICE9& value) const
6906  {
6908 
6909  return decimal(value, offset, NullPRICE9());
6910  }
6911 
6912  /// Price of the Market Data Entry.
6913  ThisType& setEntryPx(PRICE9 value)
6915  {
6917 
6918  setOrdinary(offset, value);
6919  return *this;
6920  }
6921 
6922  ThisType& entryPxNull()
6924  {
6926 
6927  setOrdinary(offset, NullPRICE9());
6928  return *this;
6929  }
6930 
6931  /// Quantity of the MD Entry.
6933  bool entrySize(Int32& value) const
6935  {
6937 
6938  return ordinary(value, offset, NullInt32());
6939  }
6940 
6941  /// Quantity of the MD Entry.
6942  ThisType& setEntrySize(Int32 value)
6944  {
6946 
6947  setOrdinary(offset, value);
6948  return *this;
6949  }
6950 
6951  ThisType& entrySizeNull()
6953  {
6955 
6956  setOrdinary(offset, NullInt32());
6957  return *this;
6958  }
6959 
6960  /// Tradeable qty.
6962  bool tradeableSize(Int32& value) const
6964  {
6966 
6967  return ordinary(value, offset, NullInt32());
6968  }
6969 
6970  /// Tradeable qty.
6971  ThisType& setTradeableSize(Int32 value)
6973  {
6975 
6976  setOrdinary(offset, value);
6977  return *this;
6978  }
6979 
6980  ThisType& tradeableSizeNull()
6982  {
6984 
6985  setOrdinary(offset, NullInt32());
6986  return *this;
6987  }
6988 
6989  /// Aggregate number of orders at given price level. In Trade
6990  /// Entry - Identifies the total number of real orders per
6991  /// instrument that participated in a match step within a
6992  /// match event.
6994  bool numberOfOrders(Int32& value) const
6996  {
6998 
6999  return ordinary(value, offset, NullInt32());
7000  }
7001 
7002  /// Aggregate number of orders at given price level. In Trade
7003  /// Entry - Identifies the total number of real orders per
7004  /// instrument that participated in a match step within a
7005  /// match event.
7006  ThisType& setNumberOfOrders(Int32 value)
7008  {
7010 
7011  setOrdinary(offset, value);
7012  return *this;
7013  }
7014 
7017  {
7019 
7020  setOrdinary(offset, NullInt32());
7021  return *this;
7022  }
7023 
7024  /// Aggregate book price level, number from 1 to 10.
7026  bool priceLevel(Int8& value) const
7028  {
7030 
7031  return ordinary(value, offset, NullInt8());
7032  }
7033 
7034  /// Aggregate book price level, number from 1 to 10.
7035  ThisType& setPriceLevel(Int8 value)
7037  {
7039 
7040  setOrdinary(offset, value);
7041  return *this;
7042  }
7043 
7044  ThisType& priceLevelNull()
7046  {
7048 
7049  setOrdinary(offset, NullInt8());
7050  return *this;
7051  }
7052 
7053  /// Flag that identifies a market data entry.
7055  bool
7057  OpenCloseSettlFlag::Enum& value) const
7059  {
7061 
7062  return enumeration<OpenCloseSettlFlag>(value, offset, NullUInt8());
7063  }
7064 
7065  /// Flag that identifies a market data entry.
7066  ThisType&
7070  {
7072 
7073  setEnumeration<OpenCloseSettlFlag>(offset, value);
7074  return *this;
7075  }
7076 
7079  {
7081 
7082  setOrdinary(offset, NullUInt8());
7083  return *this;
7084  }
7085 
7086  /// Market Data Entry Type.
7090  {
7092 
7093  return enumeration<EntryType>(offset);
7094  }
7095 
7096  /// Market Data Entry Type.
7099  {
7101 
7102  setEnumeration<EntryType>(offset, value);
7103  return *this;
7104  }
7105 
7106  /// Trading session date corresponding to a statistic entry,
7107  /// applicable only to Daily Statistics.
7109  bool tradingReferenceDate(Timestamp& value) const
7111  {
7112  typedef LocalMktDate FieldValue;
7113 
7115 
7116  FieldValue fieldValue;
7117 
7118  if (ordinary(fieldValue, offset, NullLocalMktDate()))
7119  {
7120  value = localMktDateToTimestamp(fieldValue);
7121  return true;
7122  }
7123  return false;
7124  }
7125 
7126  /// Trading session date corresponding to a statistic entry,
7127  /// applicable only to Daily Statistics.
7130  {
7132 
7133  setOrdinary(offset, timestampToLocalMktDate(value));
7134  return *this;
7135  }
7136 
7139  {
7141 
7142  setOrdinary(offset, NullLocalMktDate());
7143  return *this;
7144  }
7145 
7146  /// Bitmap field of eight Boolean type indicators representing
7147  /// settlement price type.
7151  {
7153 
7154  return ordinary<SettlPriceType>(offset);
7155  }
7156 
7157  /// Bitmap field of eight Boolean type indicators representing
7158  /// settlement price type.
7161  {
7163 
7164  setOrdinary(offset, value);
7165  return *this;
7166  }
7167 
7168  /// \return size of entry body in bytes
7169  /// for given version of message template.
7174  {
7175  return
7176  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
7177  minimalBlockLength(version);
7178  }
7179 
7180  /// \return minimal size of entry body in bytes
7181  /// for given version of message template.
7184  static
7185  BlockLength
7187  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
7189  {
7190  return
7191  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
7192  26;
7193  }
7194 
7195  /// Entity class name.
7199  static const Char* className()
7200  {
7201  return "SnapshotFullRefreshTCP61.Entry";
7202  }
7203  };
7204 
7205  /// Repeating group containing Entry entries.
7206  typedef
7209 
7210  /// Initializes a blank instance.
7211  SnapshotFullRefreshTCP61() ONIXS_CONFLATEDTCP_DEFAULT;
7212 
7213  /// Initializes an instance over the given memory block.
7215  void* data,
7216  EncodedLength length,
7217  SchemaVersion version = Schema::Version)
7218  : SbeMessage(data, length, version)
7219  {
7220  checkVersion<Schema>(version);
7221  checkLength(length, version);
7222  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
7223  reset();
7224  }
7225 
7226  /// Initializes an instance over the given memory block
7227  /// With no variable-length fields initialization
7228  /// It is assumed that the user does such an initialization manually.
7230  void* data,
7231  EncodedLength length,
7232  NoFieldsInit,
7233  SchemaVersion version = Schema::Version)
7234  : SbeMessage(data, length, version)
7235  {
7236  checkVersion<Schema>(version);
7237  checkLength(length, version);
7238  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
7239  resetVariableFields();
7240  }
7241 
7242  /// Creates an instance over the given memory block.
7244  void* data,
7245  EncodedLength length,
7246  NoInit)
7247  : SbeMessage(data, length)
7248  {
7249  checkCompatibility();
7250  }
7251 
7252  /// Creates an instance over the given SBE message.
7253  explicit
7255  const SbeMessage& message)
7256  : SbeMessage(message)
7257  {
7258  assert(message.valid());
7259 
7260  checkCompatibility();
7261  }
7262 
7263  /// Start of event processing time in number of nanoseconds
7264  /// since Unix epoch.
7268  {
7270 
7271  return ordinary<Timestamp>(offset);
7272  }
7273 
7274  /// Start of event processing time in number of nanoseconds
7275  /// since Unix epoch.
7276  ThisType& setTransactTime(Timestamp value)
7278  {
7280 
7281  setOrdinary(offset, value.sinceEpoch());
7282  return *this;
7283  }
7284 
7285  /// Bitmap field of eight Boolean type indicators reflecting
7286  /// the end of updates for a given Globex event.
7290  {
7292 
7293  return ordinary<MatchEventIndicator>(offset);
7294  }
7295 
7296  /// Bitmap field of eight Boolean type indicators reflecting
7297  /// the end of updates for a given Globex event.
7298  ThisType&
7300  MatchEventIndicator value)
7302  {
7304 
7305  setOrdinary(offset, value);
7306  return *this;
7307  }
7308 
7309  /// Unique instrument ID.
7313  {
7315 
7316  return ordinary<Int32>(offset);
7317  }
7318 
7319  /// Unique instrument ID.
7320  ThisType& setSecurityId(Int32 value)
7322  {
7324 
7325  setOrdinary(offset, value);
7326  return *this;
7327  }
7328 
7329  /// Upper price threshold for the instrument. Orders submitted
7330  /// with prices above the upper limit will be rejected.
7332  bool highLimitPrice(PRICE9& value) const
7334  {
7336 
7337  return decimal(value, offset, NullPRICE9());
7338  }
7339 
7340  /// Upper price threshold for the instrument. Orders submitted
7341  /// with prices above the upper limit will be rejected.
7342  ThisType& setHighLimitPrice(PRICE9 value)
7344  {
7346 
7347  setOrdinary(offset, value);
7348  return *this;
7349  }
7350 
7353  {
7355 
7356  setOrdinary(offset, NullPRICE9());
7357  return *this;
7358  }
7359 
7360  /// Lower price threshold for the instrument. Orders submitted
7361  /// with prices below the lower limit will be rejected.
7363  bool lowLimitPrice(PRICE9& value) const
7365  {
7367 
7368  return decimal(value, offset, NullPRICE9());
7369  }
7370 
7371  /// Lower price threshold for the instrument. Orders submitted
7372  /// with prices below the lower limit will be rejected.
7373  ThisType& setLowLimitPrice(PRICE9 value)
7375  {
7377 
7378  setOrdinary(offset, value);
7379  return *this;
7380  }
7381 
7382  ThisType& lowLimitPriceNull()
7384  {
7386 
7387  setOrdinary(offset, NullPRICE9());
7388  return *this;
7389  }
7390 
7391  /// Differential static value for price banding.
7393  bool maxPriceVariation(PRICE9& value) const
7395  {
7397 
7398  return decimal(value, offset, NullPRICE9());
7399  }
7400 
7401  /// Differential static value for price banding.
7402  ThisType& setMaxPriceVariation(PRICE9 value)
7404  {
7406 
7407  setOrdinary(offset, value);
7408  return *this;
7409  }
7410 
7413  {
7415 
7416  setOrdinary(offset, NullPRICE9());
7417  return *this;
7418  }
7419 
7420  /// \return instance of Entries repeating group.
7424  {
7425  return getGroup<Entries>(EntriesAccess(), *this);
7426  }
7427 
7428  /// \return instance of Entries repeating group.
7432  {
7433  return getGroup<Entries>(EntriesAccess(), *this);
7434  }
7435 
7436  /// Setup repeating group with the given number of entries.
7437  /// Sets all optional fields of the group entries to null.
7438  /// \return NoMDEntries(268) repeating group.
7440  {
7441  return constructGroup<Entries>(
7442  EntriesAccess(),
7443  length,
7444  *this);
7445  }
7446 
7447  /// Setup repeating group with the given number of entries.
7448  /// \return NoMDEntries(268) repeating group.
7449  Entries
7451  Entries::Size length,
7452  NoFieldsInit)
7453  {
7454  return setupGroup<Entries>(
7455  EntriesAccess(),
7456  length,
7457  *this);
7458  }
7459 
7460  /// Minimal size of message body in bytes.
7463  static
7464  BlockLength
7466  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
7468  {
7469  return
7470  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
7471  37;
7472  }
7473 
7474  /// Size of message body in bytes.
7479  {
7480  return
7481  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
7482  minimalBlockLength(version);
7483  }
7484 
7485  /// Minimal variable fields size (when variable-length fields are empty).
7489  static
7490  MessageSize
7492  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
7493  {
7494  return
7495  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
7496  static_cast<MessageSize>(Entries::EmptySize);
7497  }
7498 
7499  /// Reset all variable-length fields if any.
7502  {
7503  entriesNull();
7504  return *this;
7505  }
7506 
7507  /// Reset all variable-length and optional fields if any.
7508  ThisType& reset()
7510  {
7511  highLimitPriceNull();
7512  lowLimitPriceNull();
7513  maxPriceVariationNull();
7514 
7515  resetVariableFields();
7516  return *this;
7517  }
7518 
7519  /// \return class name.
7523  static const Char* className()
7524  {
7525  return "SnapshotFullRefreshTCP61";
7526  }
7527 
7528  /// FIX message type.
7532  static StrRef fixType()
7534  {
7535  return constructStrRef("W");
7536  }
7537 
7538  /// \return the end of the message.
7540  const void* tail() const
7542  {
7543  return
7544  entries().tail();
7545  }
7546 
7547  /// \return the size occupied by the message.
7551  {
7552  return
7553  SbeMessage::calculateBinarySize(tail());
7554  }
7555 
7556 private:
7557  void checkLength(
7558  EncodedLength length, SchemaVersion version) const
7559  {
7560  const EncodedLength minimalRequiredLength =
7561  minimalBlockLength(version) +
7562  MessageHeader::Size +
7563  getMinimalVariableFieldsSize(version);
7564 
7565  checkBinaryLength(
7566  *this, length, minimalRequiredLength);
7567  }
7568 
7569  /// Checks variable fields consistency.
7570  void checkVarLenFields() const
7571  {
7572  groups().
7573  checkTail<Entries>();
7574  }
7575 
7576  void checkCompatibility() const
7577  {
7578  assert(TemplateId == templateId());
7579 
7580  checkSchema<Schema>(schemaId(), version());
7581  checkLength(bufferSize(), version());
7582  checkVarLenFields();
7583  }
7584 
7585  /// Access helper.
7586  struct EntriesAccess
7587  {
7588  Entries
7589  operator()(
7590  const SnapshotFullRefreshTCP61& obj) const
7592  {
7593  return obj.
7594  groups().
7595  head<Entries>();
7596  }
7597  };
7598 
7599  /// Reset an instance of the repeating group.
7600  /// All the following data will be invalidated.
7601  void entriesNull()
7603  {
7604  resetGroup<Entries>(EntriesAccess(), *this);
7605  }
7606 };
7607 
7608 /// CollateralMarketValue.
7611 : SbeMessage
7612 {
7613  /// Used template schema.
7615 
7616  /// This type alias.
7618 
7619  /// Message template ID from SBE schema.
7620  enum { TemplateId = 62 };
7621 
7622  /// Number of data blocks listed in the Incremental message.
7623  /// Entry of Entry repeating group.
7626  <
7628  >
7629  {
7630  /// Base class type.
7631  typedef
7633  <
7635  >
7637 
7638  /// This type alias.
7639  typedef Entry ThisType;
7640 
7641  /// Initializes instance of given
7642  /// version over given memory block.
7644  void* data,
7645  EncodedLength length,
7646  SchemaVersion version)
7647  : Base(data, length, version)
7648  {
7649  assert(version >= Schema::MinimalVersion);
7650  assert(length >= minimalBlockLength(version));
7651  }
7652 
7653  /// Reset all variable-length fields if any.
7656  {
7657  return *this;
7658  }
7659 
7660  /// Reset all variable-length and optional fields if any.
7661  ThisType& reset()
7663  {
7664  underlyingSecurityAltIdSourceNull();
7665  streamIdNull();
7666 
7667  resetVariableFields();
7668  return *this;
7669  }
7670 
7671  /// Will contain either CUSIP or ISIN value identifying REPO
7672  /// collateral security.
7676  {
7679 
7680  return fixedStr<length>(offset);
7681  }
7682 
7683  /// Will contain either CUSIP or ISIN value identifying REPO
7684  /// collateral security.
7687  {
7690 
7691  setFixedStr<length>(offset, value);
7692  return *this;
7693  }
7694 
7695  /// Identifies class or source of the UnderlyingSecurityAltID
7696  /// (458) value.
7698  bool
7700  SecurityAltIDSource::Enum& value) const
7702  {
7704 
7705  return enumeration<SecurityAltIDSource>(value, offset, NullUInt8());
7706  }
7707 
7708  /// Identifies class or source of the UnderlyingSecurityAltID
7709  /// (458) value.
7710  ThisType&
7714  {
7716 
7717  setEnumeration<SecurityAltIDSource>(offset, value);
7718  return *this;
7719  }
7720 
7723  {
7725 
7726  setOrdinary(offset, NullUInt8());
7727  return *this;
7728  }
7729 
7730  /// Market price of the collateral, either from external
7731  /// market sources or a result of trading activity on the
7732  /// platform. Clean price.
7736  {
7738 
7739  return decimal<PRICE9>(offset);
7740  }
7741 
7742  /// Market price of the collateral, either from external
7743  /// market sources or a result of trading activity on the
7744  /// platform. Clean price.
7747  {
7749 
7750  setOrdinary(offset, value);
7751  return *this;
7752  }
7753 
7754  /// Dirty Price.
7758  {
7760 
7761  return decimal<PRICE9>(offset);
7762  }
7763 
7764  /// Dirty Price.
7765  ThisType& setDirtyPrice(PRICE9 value)
7767  {
7769 
7770  setOrdinary(offset, value);
7771  return *this;
7772  }
7773 
7774  /// Underlying Instrument GUID. Collateral security identifier
7775  /// in REF Data API services.
7779  {
7781 
7782  return ordinary<UInt64>(offset);
7783  }
7784 
7785  /// Underlying Instrument GUID. Collateral security identifier
7786  /// in REF Data API services.
7789  {
7791 
7792  setOrdinary(offset, value);
7793  return *this;
7794  }
7795 
7796  /// Source of the Clean Price.
7798  bool streamId(PriceSource::Enum& value) const
7800  {
7802 
7803  return enumeration<PriceSource>(value, offset, NullUInt8());
7804  }
7805 
7806  /// Source of the Clean Price.
7809  {
7811 
7812  setEnumeration<PriceSource>(offset, value);
7813  return *this;
7814  }
7815 
7816  ThisType& streamIdNull()
7818  {
7820 
7821  setOrdinary(offset, NullUInt8());
7822  return *this;
7823  }
7824 
7825  /// \return size of entry body in bytes
7826  /// for given version of message template.
7829  static
7830  BlockLength
7832  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
7834  {
7835  return
7836  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
7837  40;
7838  }
7839 
7840  /// \return minimal size of entry body in bytes
7841  /// for given version of message template.
7844  static
7845  BlockLength
7847  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
7849  {
7850  return
7851  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
7852  38;
7853  }
7854 
7855  /// Entity class name.
7859  static const Char* className()
7860  {
7861  return "CollateralMarketValue62.Entry";
7862  }
7863  };
7864 
7865  /// Repeating group containing Entry entries.
7866  typedef
7869 
7870  /// Initializes a blank instance.
7871  CollateralMarketValue62() ONIXS_CONFLATEDTCP_DEFAULT;
7872 
7873  /// Initializes an instance over the given memory block.
7875  void* data,
7876  EncodedLength length,
7877  SchemaVersion version = Schema::Version)
7878  : SbeMessage(data, length, version)
7879  {
7880  checkVersion<Schema>(version);
7881  checkLength(length, version);
7882  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
7883  reset();
7884  }
7885 
7886  /// Initializes an instance over the given memory block
7887  /// With no variable-length fields initialization
7888  /// It is assumed that the user does such an initialization manually.
7890  void* data,
7891  EncodedLength length,
7892  NoFieldsInit,
7893  SchemaVersion version = Schema::Version)
7894  : SbeMessage(data, length, version)
7895  {
7896  checkVersion<Schema>(version);
7897  checkLength(length, version);
7898  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
7899  resetVariableFields();
7900  }
7901 
7902  /// Creates an instance over the given memory block.
7904  void* data,
7905  EncodedLength length,
7906  NoInit)
7907  : SbeMessage(data, length)
7908  {
7909  checkCompatibility();
7910  }
7911 
7912  /// Creates an instance over the given SBE message.
7913  explicit
7915  const SbeMessage& message)
7916  : SbeMessage(message)
7917  {
7918  assert(message.valid());
7919 
7920  checkCompatibility();
7921  }
7922 
7923  /// Time of execution/order creation; expressed in UTC.
7927  {
7929 
7930  return ordinary<Timestamp>(offset);
7931  }
7932 
7933  /// Time of execution/order creation; expressed in UTC.
7934  ThisType& setTransactTime(Timestamp value)
7936  {
7938 
7939  setOrdinary(offset, value.sinceEpoch());
7940  return *this;
7941  }
7942 
7943  /// Bitmap field of eight Boolean type indicators reflecting
7944  /// the end of updates for a given Globex event.
7948  {
7950 
7951  return ordinary<MatchEventIndicator>(offset);
7952  }
7953 
7954  /// Bitmap field of eight Boolean type indicators reflecting
7955  /// the end of updates for a given Globex event.
7956  ThisType&
7958  MatchEventIndicator value)
7960  {
7962 
7963  setOrdinary(offset, value);
7964  return *this;
7965  }
7966 
7967  /// \return instance of Entries repeating group.
7971  {
7972  return getGroup<Entries>(EntriesAccess(), *this);
7973  }
7974 
7975  /// \return instance of Entries repeating group.
7979  {
7980  return getGroup<Entries>(EntriesAccess(), *this);
7981  }
7982 
7983  /// Setup repeating group with the given number of entries.
7984  /// Sets all optional fields of the group entries to null.
7985  /// \return NoMDEntries(268) repeating group.
7987  {
7988  return constructGroup<Entries>(
7989  EntriesAccess(),
7990  length,
7991  *this);
7992  }
7993 
7994  /// Setup repeating group with the given number of entries.
7995  /// \return NoMDEntries(268) repeating group.
7996  Entries
7998  Entries::Size length,
7999  NoFieldsInit)
8000  {
8001  return setupGroup<Entries>(
8002  EntriesAccess(),
8003  length,
8004  *this);
8005  }
8006 
8007  /// Minimal size of message body in bytes.
8010  static
8011  BlockLength
8013  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8015  {
8016  return
8017  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8018  9;
8019  }
8020 
8021  /// Size of message body in bytes.
8024  static
8025  BlockLength
8027  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8029  {
8030  return
8031  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8032  11;
8033  }
8034 
8035  /// Minimal variable fields size (when variable-length fields are empty).
8039  static
8040  MessageSize
8042  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8043  {
8044  return
8045  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8046  static_cast<MessageSize>(Entries::EmptySize);
8047  }
8048 
8049  /// Reset all variable-length fields if any.
8052  {
8053  entriesNull();
8054  return *this;
8055  }
8056 
8057  /// Reset all variable-length and optional fields if any.
8058  ThisType& reset()
8060  {
8061  resetVariableFields();
8062  return *this;
8063  }
8064 
8065  /// \return class name.
8069  static const Char* className()
8070  {
8071  return "CollateralMarketValue62";
8072  }
8073 
8074  /// FIX message type.
8078  static StrRef fixType()
8080  {
8081  return constructStrRef("X");
8082  }
8083 
8084  /// \return the end of the message.
8086  const void* tail() const
8088  {
8089  return
8090  entries().tail();
8091  }
8092 
8093  /// \return the size occupied by the message.
8097  {
8098  return
8099  SbeMessage::calculateBinarySize(tail());
8100  }
8101 
8102 private:
8103  void checkLength(
8104  EncodedLength length, SchemaVersion version) const
8105  {
8106  const EncodedLength minimalRequiredLength =
8107  minimalBlockLength(version) +
8108  MessageHeader::Size +
8109  getMinimalVariableFieldsSize(version);
8110 
8111  checkBinaryLength(
8112  *this, length, minimalRequiredLength);
8113  }
8114 
8115  /// Checks variable fields consistency.
8116  void checkVarLenFields() const
8117  {
8118  groups().
8119  checkTail<Entries>();
8120  }
8121 
8122  void checkCompatibility() const
8123  {
8124  assert(TemplateId == templateId());
8125 
8126  checkSchema<Schema>(schemaId(), version());
8127  checkLength(bufferSize(), version());
8128  checkVarLenFields();
8129  }
8130 
8131  /// Access helper.
8132  struct EntriesAccess
8133  {
8134  Entries
8135  operator()(
8136  const CollateralMarketValue62& obj) const
8138  {
8139  return obj.
8140  groups().
8141  head<Entries>();
8142  }
8143  };
8144 
8145  /// Reset an instance of the repeating group.
8146  /// All the following data will be invalidated.
8147  void entriesNull()
8149  {
8150  resetGroup<Entries>(EntriesAccess(), *this);
8151  }
8152 };
8153 
8154 /// MDInstrumentDefinitionFX.
8157 : SbeMessage
8158 {
8159  /// Used template schema.
8161 
8162  /// This type alias.
8164 
8165  /// Message template ID from SBE schema.
8166  enum { TemplateId = 63 };
8167 
8168  /// Available since version.
8169  enum { SinceVersion = 12 };
8170 
8171  /// Number of EventType entries.
8172  /// Entry of EventsEntry repeating group.
8175  <
8177  >
8178  {
8179  /// Base class type.
8180  typedef
8182  <
8184  >
8186 
8187  /// This type alias.
8189 
8190  /// Initializes instance of given
8191  /// version over given memory block.
8193  void* data,
8194  EncodedLength length,
8195  SchemaVersion version)
8196  : Base(data, length, version)
8197  {
8198  assert(version >= Schema::MinimalVersion);
8199  assert(length >= minimalBlockLength(version));
8200  }
8201 
8202  /// Reset all variable-length fields if any.
8205  {
8206  return *this;
8207  }
8208 
8209  /// Reset all variable-length and optional fields if any.
8210  ThisType& reset()
8212  {
8213  resetVariableFields();
8214  return *this;
8215  }
8216 
8217  /// Code to represent the type of event.
8221  {
8223 
8224  return enumeration<EventType>(offset);
8225  }
8226 
8227  /// Code to represent the type of event.
8230  {
8232 
8233  setEnumeration<EventType>(offset, value);
8234  return *this;
8235  }
8236 
8237  /// Date and Time of instument Activation or Expiration event
8238  /// sent as number of nanoseconds since Unix epoch.
8242  {
8244 
8245  return ordinary<Timestamp>(offset);
8246  }
8247 
8248  /// Date and Time of instument Activation or Expiration event
8249  /// sent as number of nanoseconds since Unix epoch.
8250  ThisType& setEventTime(Timestamp value)
8252  {
8254 
8255  setOrdinary(offset, value.sinceEpoch());
8256  return *this;
8257  }
8258 
8259  /// \return size of entry body in bytes
8260  /// for given version of message template.
8265  {
8266  return
8267  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8268  minimalBlockLength(version);
8269  }
8270 
8271  /// \return minimal size of entry body in bytes
8272  /// for given version of message template.
8275  static
8276  BlockLength
8278  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8280  {
8281  return
8282  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8283  9;
8284  }
8285 
8286  /// Entity class name.
8290  static const Char* className()
8291  {
8292  return "InstrumentDefinitionFX63.EventsEntry";
8293  }
8294  };
8295 
8296  /// Repeating group containing EventsEntry entries.
8297  typedef
8300 
8301  /// Number of FeedType entries.
8302  /// Entry of FeedTypesEntry repeating group.
8305  <
8307  >
8308  {
8309  /// Base class type.
8310  typedef
8312  <
8314  >
8316 
8317  /// This type alias.
8319 
8320  /// Initializes instance of given
8321  /// version over given memory block.
8323  void* data,
8324  EncodedLength length,
8325  SchemaVersion version)
8326  : Base(data, length, version)
8327  {
8328  assert(version >= Schema::MinimalVersion);
8329  assert(length >= minimalBlockLength(version));
8330  }
8331 
8332  /// Reset all variable-length fields if any.
8335  {
8336  return *this;
8337  }
8338 
8339  /// Reset all variable-length and optional fields if any.
8340  ThisType& reset()
8342  {
8343  resetVariableFields();
8344  return *this;
8345  }
8346 
8347  /// Describes a class of service for a given data feed.
8351  {
8354 
8355  return fixedStr<length>(offset);
8356  }
8357 
8358  /// Describes a class of service for a given data feed.
8359  ThisType& setFeedType(StrRef value)
8361  {
8364 
8365  setFixedStr<length>(offset, value);
8366  return *this;
8367  }
8368 
8369  /// Book depth.
8373  {
8375 
8376  return ordinary<Int8>(offset);
8377  }
8378 
8379  /// Book depth.
8380  ThisType& setMarketDepth(Int8 value)
8382  {
8384 
8385  setOrdinary(offset, value);
8386  return *this;
8387  }
8388 
8389  /// \return size of entry body in bytes
8390  /// for given version of message template.
8395  {
8396  return
8397  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8398  minimalBlockLength(version);
8399  }
8400 
8401  /// \return minimal size of entry body in bytes
8402  /// for given version of message template.
8405  static
8406  BlockLength
8408  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8410  {
8411  return
8412  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8413  4;
8414  }
8415 
8416  /// Entity class name.
8420  static const Char* className()
8421  {
8422  return "InstrumentDefinitionFX63.FeedTypesEntry";
8423  }
8424  };
8425 
8426  /// Repeating group containing FeedTypesEntry entries.
8427  typedef
8430 
8431  /// Number of InstrAttribType entries.
8432  /// Entry of InstAttribEntry repeating group.
8435  <
8437  >
8438  {
8439  /// Base class type.
8440  typedef
8442  <
8444  >
8446 
8447  /// This type alias.
8449 
8450  /// Initializes instance of given
8451  /// version over given memory block.
8453  void* data,
8454  EncodedLength length,
8455  SchemaVersion version)
8456  : Base(data, length, version)
8457  {
8458  assert(version >= Schema::MinimalVersion);
8459  assert(length >= minimalBlockLength(version));
8460  }
8461 
8462  /// Reset all variable-length fields if any.
8465  {
8466  return *this;
8467  }
8468 
8469  /// Reset all variable-length and optional fields if any.
8470  ThisType& reset()
8472  {
8473  resetVariableFields();
8474  return *this;
8475  }
8476 
8477  /// Instrument eligibility attributes.
8482  {
8483  return InstAttribType();
8484  }
8485 
8486  /// Bitmap field of 32 Boolean type instrument eligibility
8487  /// flags.
8491  {
8493 
8494  return ordinary<InstAttribValue>(offset);
8495  }
8496 
8497  /// Bitmap field of 32 Boolean type instrument eligibility
8498  /// flags.
8501  {
8503 
8504  setOrdinary(offset, value);
8505  return *this;
8506  }
8507 
8508  /// \return size of entry body in bytes
8509  /// for given version of message template.
8514  {
8515  return
8516  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8517  minimalBlockLength(version);
8518  }
8519 
8520  /// \return minimal size of entry body in bytes
8521  /// for given version of message template.
8524  static
8525  BlockLength
8527  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8529  {
8530  return
8531  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8532  4;
8533  }
8534 
8535  /// Entity class name.
8539  static const Char* className()
8540  {
8541  return "InstrumentDefinitionFX63.InstAttribEntry";
8542  }
8543  };
8544 
8545  /// Repeating group containing InstAttribEntry entries.
8546  typedef
8549 
8550  /// Number of LotTypeRules entries.
8551  /// Entry of LotTypeRulesEntry repeating group.
8554  <
8556  >
8557  {
8558  /// Base class type.
8559  typedef
8561  <
8563  >
8565 
8566  /// This type alias.
8568 
8569  /// Initializes instance of given
8570  /// version over given memory block.
8572  void* data,
8573  EncodedLength length,
8574  SchemaVersion version)
8575  : Base(data, length, version)
8576  {
8577  assert(version >= Schema::MinimalVersion);
8578  assert(length >= minimalBlockLength(version));
8579  }
8580 
8581  /// Reset all variable-length fields if any.
8584  {
8585  return *this;
8586  }
8587 
8588  /// Reset all variable-length and optional fields if any.
8589  ThisType& reset()
8591  {
8592  resetVariableFields();
8593  return *this;
8594  }
8595 
8596  /// This tag is required to interpret the value in tag
8597  /// 1231-MinLotSize.
8599  Int8 lotType() const
8601  {
8603 
8604  return ordinary<Int8>(offset);
8605  }
8606 
8607  /// This tag is required to interpret the value in tag
8608  /// 1231-MinLotSize.
8609  ThisType& setLotType(Int8 value)
8611  {
8613 
8614  setOrdinary(offset, value);
8615  return *this;
8616  }
8617 
8618  /// For FX instruments in the repeating group with Tag
8619  /// 1093-LotType=2, Tag 1231-MinLotSize provides a Regular
8620  /// Amount - a default order size on the Workstation screen.
8621  /// With tag 1093-LotType= 5, Tag 1231-MinLotSize value
8622  /// represents standard min order qty increment. With tag
8623  /// 1093-LotType=6 tag 1231-MinLotSize contains
8624  /// SizePriorityQty for instruments trading with Match
8625  /// Algorithm = P (Size Priority).
8629  {
8631 
8632  return ordinary<UInt64>(offset);
8633  }
8634 
8635  /// For FX instruments in the repeating group with Tag
8636  /// 1093-LotType=2, Tag 1231-MinLotSize provides a Regular
8637  /// Amount - a default order size on the Workstation screen.
8638  /// With tag 1093-LotType= 5, Tag 1231-MinLotSize value
8639  /// represents standard min order qty increment. With tag
8640  /// 1093-LotType=6 tag 1231-MinLotSize contains
8641  /// SizePriorityQty for instruments trading with Match
8642  /// Algorithm = P (Size Priority).
8643  ThisType& setMinLotSize(UInt64 value)
8645  {
8647 
8648  setOrdinary(offset, value);
8649  return *this;
8650  }
8651 
8652  /// \return size of entry body in bytes
8653  /// for given version of message template.
8658  {
8659  return
8660  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8661  minimalBlockLength(version);
8662  }
8663 
8664  /// \return minimal size of entry body in bytes
8665  /// for given version of message template.
8668  static
8669  BlockLength
8671  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8673  {
8674  return
8675  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8676  9;
8677  }
8678 
8679  /// Entity class name.
8683  static const Char* className()
8684  {
8685  return "InstrumentDefinitionFX63.LotTypeRulesEntry";
8686  }
8687  };
8688 
8689  /// Repeating group containing LotTypeRulesEntry entries.
8690  typedef
8693 
8694  /// Number of scheduled Trading Dates.
8695  /// Entry of TradingSessionsEntry repeating group.
8698  <
8700  >
8701  {
8702  /// Base class type.
8703  typedef
8705  <
8707  >
8709 
8710  /// This type alias.
8712 
8713  /// Initializes instance of given
8714  /// version over given memory block.
8716  void* data,
8717  EncodedLength length,
8718  SchemaVersion version)
8719  : Base(data, length, version)
8720  {
8721  assert(version >= Schema::MinimalVersion);
8722  assert(length >= minimalBlockLength(version));
8723  }
8724 
8725  /// Reset all variable-length fields if any.
8728  {
8729  return *this;
8730  }
8731 
8732  /// Reset all variable-length and optional fields if any.
8733  ThisType& reset()
8735  {
8736  tradeDateNull();
8737  settlDateNull();
8738  maturityDateNull();
8739 
8740  resetVariableFields();
8741  return *this;
8742  }
8743 
8744  /// Trade Date.
8746  bool tradeDate(Timestamp& value) const
8748  {
8749  typedef LocalMktDate FieldValue;
8750 
8752 
8753  FieldValue fieldValue;
8754 
8755  if (ordinary(fieldValue, offset, NullLocalMktDate()))
8756  {
8757  value = localMktDateToTimestamp(fieldValue);
8758  return true;
8759  }
8760  return false;
8761  }
8762 
8763  /// Trade Date.
8764  ThisType& setTradeDate(Timestamp value)
8766  {
8768 
8769  setOrdinary(offset, timestampToLocalMktDate(value));
8770  return *this;
8771  }
8772 
8773  ThisType& tradeDateNull()
8775  {
8777 
8778  setOrdinary(offset, NullLocalMktDate());
8779  return *this;
8780  }
8781 
8782  /// Settle (Value) Date corresponding to Trade Date.
8784  bool settlDate(Timestamp& value) const
8786  {
8787  typedef LocalMktDate FieldValue;
8788 
8790 
8791  FieldValue fieldValue;
8792 
8793  if (ordinary(fieldValue, offset, NullLocalMktDate()))
8794  {
8795  value = localMktDateToTimestamp(fieldValue);
8796  return true;
8797  }
8798  return false;
8799  }
8800 
8801  /// Settle (Value) Date corresponding to Trade Date.
8802  ThisType& setSettlDate(Timestamp value)
8804  {
8806 
8807  setOrdinary(offset, timestampToLocalMktDate(value));
8808  return *this;
8809  }
8810 
8811  ThisType& settlDateNull()
8813  {
8815 
8816  setOrdinary(offset, NullLocalMktDate());
8817  return *this;
8818  }
8819 
8820  /// For Spot instruments will not contain the value. For NDFs,
8821  /// the valuation (fixing) date of the NDF. For Fixed Date
8822  /// NDFs Value Date and Maturity Date remain constant for all
8823  /// Trade Dates.
8825  bool maturityDate(Timestamp& value) const
8827  {
8828  typedef LocalMktDate FieldValue;
8829 
8831 
8832  FieldValue fieldValue;
8833 
8834  if (ordinary(fieldValue, offset, NullLocalMktDate()))
8835  {
8836  value = localMktDateToTimestamp(fieldValue);
8837  return true;
8838  }
8839  return false;
8840  }
8841 
8842  /// For Spot instruments will not contain the value. For NDFs,
8843  /// the valuation (fixing) date of the NDF. For Fixed Date
8844  /// NDFs Value Date and Maturity Date remain constant for all
8845  /// Trade Dates.
8846  ThisType& setMaturityDate(Timestamp value)
8848  {
8850 
8851  setOrdinary(offset, timestampToLocalMktDate(value));
8852  return *this;
8853  }
8854 
8855  ThisType& maturityDateNull()
8857  {
8859 
8860  setOrdinary(offset, NullLocalMktDate());
8861  return *this;
8862  }
8863 
8864  /// ISIN value as provided by ANNA, Association of National
8865  /// Numbering Agencies. This field is populated for MTF-
8866  /// Regulated NDFs and is unique for each Settle Date.
8870  {
8873 
8874  return fixedStr<length>(offset);
8875  }
8876 
8877  /// ISIN value as provided by ANNA, Association of National
8878  /// Numbering Agencies. This field is populated for MTF-
8879  /// Regulated NDFs and is unique for each Settle Date.
8880  ThisType& setSecurityAltId(StrRef value)
8882  {
8885 
8886  setFixedStr<length>(offset, value);
8887  return *this;
8888  }
8889 
8890  /// Identifies class or source of the SecurityAltID (455)
8891  /// value.
8896  {
8897  return SecurityAltIDSourceISIN();
8898  }
8899 
8900  /// \return size of entry body in bytes
8901  /// for given version of message template.
8906  {
8907  return
8908  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8909  minimalBlockLength(version);
8910  }
8911 
8912  /// \return minimal size of entry body in bytes
8913  /// for given version of message template.
8916  static
8917  BlockLength
8919  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
8921  {
8922  return
8923  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
8924  18;
8925  }
8926 
8927  /// Entity class name.
8931  static const Char* className()
8932  {
8933  return "InstrumentDefinitionFX63.TradingSessionsEntry";
8934  }
8935  };
8936 
8937  /// Repeating group containing TradingSessionsEntry entries.
8938  typedef
8941 
8942  /// Initializes a blank instance.
8943  InstrumentDefinitionFX63() ONIXS_CONFLATEDTCP_DEFAULT;
8944 
8945  /// Initializes an instance over the given memory block.
8947  void* data,
8948  EncodedLength length,
8949  SchemaVersion version = Schema::Version)
8950  : SbeMessage(data, length, version)
8951  {
8952  checkVersion<Schema>(SinceVersion, version);
8953  checkLength(length, version);
8954  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
8955  reset();
8956  }
8957 
8958  /// Initializes an instance over the given memory block
8959  /// With no variable-length fields initialization
8960  /// It is assumed that the user does such an initialization manually.
8962  void* data,
8963  EncodedLength length,
8964  NoFieldsInit,
8965  SchemaVersion version = Schema::Version)
8966  : SbeMessage(data, length, version)
8967  {
8968  checkVersion<Schema>(SinceVersion, version);
8969  checkLength(length, version);
8970  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
8971  resetVariableFields();
8972  }
8973 
8974  /// Creates an instance over the given memory block.
8976  void* data,
8977  EncodedLength length,
8978  NoInit)
8979  : SbeMessage(data, length)
8980  {
8981  assert(this->version() >= SinceVersion);
8982  checkCompatibility();
8983  }
8984 
8985  /// Creates an instance over the given SBE message.
8986  explicit
8988  const SbeMessage& message)
8989  : SbeMessage(message)
8990  {
8991  assert(message.valid());
8992  assert(this->version() >= SinceVersion);
8993 
8994  checkCompatibility();
8995  }
8996 
8997  /// Bitmap field of eight Boolean type indicators reflecting
8998  /// the end of updates for a given Globex event.
9002  {
9004 
9005  return ordinary<MatchEventIndicator>(offset);
9006  }
9007 
9008  /// Bitmap field of eight Boolean type indicators reflecting
9009  /// the end of updates for a given Globex event.
9010  ThisType&
9012  MatchEventIndicator value)
9014  {
9016 
9017  setOrdinary(offset, value);
9018  return *this;
9019  }
9020 
9021  /// Total number of instruments in the Replay loop. Used on
9022  /// Replay Feed only.
9024  bool totNumReports(UInt32& value) const
9026  {
9028 
9029  return ordinary(value, offset, NullUInt32());
9030  }
9031 
9032  /// Total number of instruments in the Replay loop. Used on
9033  /// Replay Feed only.
9034  ThisType& setTotNumReports(UInt32 value)
9036  {
9038 
9039  setOrdinary(offset, value);
9040  return *this;
9041  }
9042 
9043  ThisType& totNumReportsNull()
9045  {
9047 
9048  setOrdinary(offset, NullUInt32());
9049  return *this;
9050  }
9051 
9052  /// Last Security update action on Incremental feed, 'D' or
9053  /// 'M' is used when a mid-week deletion or modification (i.e.
9054  /// extension) occurs.
9059  {
9061 
9062  return enumeration<SecurityUpdateAction>(offset);
9063  }
9064 
9065  /// Last Security update action on Incremental feed, 'D' or
9066  /// 'M' is used when a mid-week deletion or modification (i.e.
9067  /// extension) occurs.
9068  ThisType&
9072  {
9074 
9075  setEnumeration<SecurityUpdateAction>(offset, value);
9076  return *this;
9077  }
9078 
9079  /// Timestamp of when the instrument was last added, modified
9080  /// or deleted.
9084  {
9086 
9087  return ordinary<Timestamp>(offset);
9088  }
9089 
9090  /// Timestamp of when the instrument was last added, modified
9091  /// or deleted.
9092  ThisType& setLastUpdateTime(Timestamp value)
9094  {
9096 
9097  setOrdinary(offset, value.sinceEpoch());
9098  return *this;
9099  }
9100 
9101  /// Identifies the current state of the instrument. In
9102  /// Security Definition message this tag is available in the
9103  /// Instrument Replay feed only.
9105  bool
9107  SecurityTradingStatus::Enum& value) const
9109  {
9111 
9112  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
9113  }
9114 
9115  /// Identifies the current state of the instrument. In
9116  /// Security Definition message this tag is available in the
9117  /// Instrument Replay feed only.
9118  ThisType&
9122  {
9124 
9125  setEnumeration<SecurityTradingStatus>(offset, value);
9126  return *this;
9127  }
9128 
9131  {
9133 
9134  setOrdinary(offset, NullUInt8());
9135  return *this;
9136  }
9137 
9138  /// The channel ID as defined in the XML Configuration file.
9140  Int16 applId() const
9142  {
9144 
9145  return ordinary<Int16>(offset);
9146  }
9147 
9148  /// The channel ID as defined in the XML Configuration file.
9149  ThisType& setApplId(Int16 value)
9151  {
9153 
9154  setOrdinary(offset, value);
9155  return *this;
9156  }
9157 
9158  /// Identifies the market segment, populated for all CME
9159  /// Globex instruments.
9163  {
9165 
9166  return ordinary<UInt8>(offset);
9167  }
9168 
9169  /// Identifies the market segment, populated for all CME
9170  /// Globex instruments.
9171  ThisType& setMarketSegmentId(UInt8 value)
9173  {
9175 
9176  setOrdinary(offset, value);
9177  return *this;
9178  }
9179 
9180  /// Product complex.
9184  {
9186 
9187  return ordinary<UInt8>(offset);
9188  }
9189 
9190  /// Product complex.
9191  ThisType& setUnderlyingProduct(UInt8 value)
9193  {
9195 
9196  setOrdinary(offset, value);
9197  return *this;
9198  }
9199 
9200  /// Exchange used to identify a security.
9204  {
9207 
9208  return fixedStr<length>(offset);
9209  }
9210 
9211  /// Exchange used to identify a security.
9212  ThisType& setSecurityExchange(StrRef value)
9214  {
9217 
9218  setFixedStr<length>(offset, value);
9219  return *this;
9220  }
9221 
9222  /// Security Group Code.
9226  {
9229 
9230  return fixedStr<length>(offset);
9231  }
9232 
9233  /// Security Group Code.
9234  ThisType& setSecurityGroup(StrRef value)
9236  {
9239 
9240  setFixedStr<length>(offset, value);
9241  return *this;
9242  }
9243 
9244  /// The underlying asset code also known as Product Code.
9246  StrRef asset() const
9248  {
9251 
9252  return fixedStr<length>(offset);
9253  }
9254 
9255  /// The underlying asset code also known as Product Code.
9256  ThisType& setAsset(StrRef value)
9258  {
9261 
9262  setFixedStr<length>(offset, value);
9263  return *this;
9264  }
9265 
9266  /// Instrument Name or Symbol.
9268  StrRef symbol() const
9270  {
9273 
9274  return fixedStr<length>(offset);
9275  }
9276 
9277  /// Instrument Name or Symbol.
9278  ThisType& setSymbol(StrRef value)
9280  {
9283 
9284  setFixedStr<length>(offset, value);
9285  return *this;
9286  }
9287 
9288  /// Unique instrument ID.
9292  {
9294 
9295  return ordinary<Int32>(offset);
9296  }
9297 
9298  /// Unique instrument ID.
9299  ThisType& setSecurityId(Int32 value)
9301  {
9303 
9304  setOrdinary(offset, value);
9305  return *this;
9306  }
9307 
9308  /// Identifies class or source of tag 48-SecurityID value.
9313  {
9314  return SecurityIDSource();
9315  }
9316 
9317  /// Security Type.
9321  {
9324 
9325  return fixedStr<length>(offset);
9326  }
9327 
9328  /// Security Type.
9329  ThisType& setSecurityType(StrRef value)
9331  {
9334 
9335  setFixedStr<length>(offset, value);
9336  return *this;
9337  }
9338 
9339  /// ISO standard instrument categorization code.
9341  StrRef cfiCode() const
9343  {
9346 
9347  return fixedStr<length>(offset);
9348  }
9349 
9350  /// ISO standard instrument categorization code.
9351  ThisType& setCfiCode(StrRef value)
9353  {
9356 
9357  setFixedStr<length>(offset, value);
9358  return *this;
9359  }
9360 
9361  /// Base currency.
9365  {
9368 
9369  return fixedStr<length>(offset);
9370  }
9371 
9372  /// Base currency.
9373  ThisType& setCurrency(StrRef value)
9375  {
9378 
9379  setFixedStr<length>(offset, value);
9380  return *this;
9381  }
9382 
9383  /// Currency used for settlement, which may be different from
9384  /// Local currency specified in Tag 1524 PriceQuoteCurrency.
9388  {
9391 
9392  return fixedStr<length>(offset);
9393  }
9394 
9395  /// Currency used for settlement, which may be different from
9396  /// Local currency specified in Tag 1524 PriceQuoteCurrency.
9397  ThisType& setSettlCurrency(StrRef value)
9399  {
9402 
9403  setFixedStr<length>(offset, value);
9404  return *this;
9405  }
9406 
9407  /// Local (counter) currency.
9411  {
9414 
9415  return fixedStr<length>(offset);
9416  }
9417 
9418  /// Local (counter) currency.
9421  {
9424 
9425  setFixedStr<length>(offset, value);
9426  return *this;
9427  }
9428 
9429  /// Matching algorithm.
9433  {
9435 
9436  return ordinary<CHAR>(offset);
9437  }
9438 
9439  /// Matching algorithm.
9440  ThisType& setMatchAlgorithm(CHAR value)
9442  {
9444 
9445  setOrdinary(offset, value);
9446  return *this;
9447  }
9448 
9449  /// The minimum trading volume for a security.
9453  {
9455 
9456  return ordinary<UInt32>(offset);
9457  }
9458 
9459  /// The minimum trading volume for a security.
9460  ThisType& setMinTradeVol(UInt32 value)
9462  {
9464 
9465  setOrdinary(offset, value);
9466  return *this;
9467  }
9468 
9469  /// The maximum trading volume for a security.
9473  {
9475 
9476  return ordinary<UInt32>(offset);
9477  }
9478 
9479  /// The maximum trading volume for a security.
9480  ThisType& setMaxTradeVol(UInt32 value)
9482  {
9484 
9485  setOrdinary(offset, value);
9486  return *this;
9487  }
9488 
9489  /// Minimum price tick.
9493  {
9495 
9496  return decimal<PRICE9>(offset);
9497  }
9498 
9499  /// Minimum price tick.
9500  ThisType& setMinPriceIncrement(PRICE9 value)
9502  {
9504 
9505  setOrdinary(offset, value);
9506  return *this;
9507  }
9508 
9509  /// Contains the multiplier to convert the CME Globex display
9510  /// price to the conventional price.
9514  {
9516 
9517  return decimal<Decimal9>(offset);
9518  }
9519 
9520  /// Contains the multiplier to convert the CME Globex display
9521  /// price to the conventional price.
9522  ThisType& setDisplayFactor(Decimal9 value)
9524  {
9526 
9527  setOrdinary(offset, value);
9528  return *this;
9529  }
9530 
9531  /// Specifies price decimal precision for EBS instrument.
9535  {
9537 
9538  return ordinary<UInt8>(offset);
9539  }
9540 
9541  /// Specifies price decimal precision for EBS instrument.
9542  ThisType& setPricePrecision(UInt8 value)
9544  {
9546 
9547  setOrdinary(offset, value);
9548  return *this;
9549  }
9550 
9551  /// Unit of measure for the products' original contract size.
9552  /// This will be populated for all products listed on CME
9553  /// Globex.
9557  {
9560 
9561  return fixedStr<length>(offset);
9562  }
9563 
9564  /// Unit of measure for the products' original contract size.
9565  /// This will be populated for all products listed on CME
9566  /// Globex.
9567  ThisType& setUnitOfMeasure(StrRef value)
9569  {
9572 
9573  setFixedStr<length>(offset, value);
9574  return *this;
9575  }
9576 
9577  /// This field contains the contract size for each instrument.
9578  /// Used in combination with tag 996-UnitofMeasure.
9580  bool unitOfMeasureQty(Decimal9& value) const
9582  {
9584 
9585  return decimal(value, offset, NullDecimal9());
9586  }
9587 
9588  /// This field contains the contract size for each instrument.
9589  /// Used in combination with tag 996-UnitofMeasure.
9592  {
9594 
9595  setOrdinary(offset, value);
9596  return *this;
9597  }
9598 
9601  {
9603 
9604  setOrdinary(offset, NullDecimal9());
9605  return *this;
9606  }
9607 
9608  /// Allowable high limit price for the trading day.
9610  bool highLimitPrice(PRICE9& value) const
9612  {
9614 
9615  return decimal(value, offset, NullPRICE9());
9616  }
9617 
9618  /// Allowable high limit price for the trading day.
9619  ThisType& setHighLimitPrice(PRICE9 value)
9621  {
9623 
9624  setOrdinary(offset, value);
9625  return *this;
9626  }
9627 
9630  {
9632 
9633  setOrdinary(offset, NullPRICE9());
9634  return *this;
9635  }
9636 
9637  /// Allowable low limit price for the trading day.
9639  bool lowLimitPrice(PRICE9& value) const
9641  {
9643 
9644  return decimal(value, offset, NullPRICE9());
9645  }
9646 
9647  /// Allowable low limit price for the trading day.
9648  ThisType& setLowLimitPrice(PRICE9 value)
9650  {
9652 
9653  setOrdinary(offset, value);
9654  return *this;
9655  }
9656 
9657  ThisType& lowLimitPriceNull()
9659  {
9661 
9662  setOrdinary(offset, NullPRICE9());
9663  return *this;
9664  }
9665 
9666  /// Differential value for price banding.
9668  bool maxPriceVariation(PRICE9& value) const
9670  {
9672 
9673  return decimal(value, offset, NullPRICE9());
9674  }
9675 
9676  /// Differential value for price banding.
9677  ThisType& setMaxPriceVariation(PRICE9 value)
9679  {
9681 
9682  setOrdinary(offset, value);
9683  return *this;
9684  }
9685 
9688  {
9690 
9691  setOrdinary(offset, NullPRICE9());
9692  return *this;
9693  }
9694 
9695  /// User-defined instruments flag.
9699  {
9701 
9702  return ordinary<UserDefinedInstrument>(offset);
9703  }
9704 
9705  /// User-defined instruments flag.
9706  ThisType&
9708  UserDefinedInstrument value)
9710  {
9712 
9713  setOrdinary(offset, value);
9714  return *this;
9715  }
9716 
9717  /// EBS instrument long name.
9721  {
9724 
9725  return fixedStr<length>(offset);
9726  }
9727 
9728  /// EBS instrument long name.
9731  {
9734 
9735  setFixedStr<length>(offset, value);
9736  return *this;
9737  }
9738 
9739  /// Base/Local. Denotes the currency pair in CCY1/CCY2
9740  /// convention.
9744  {
9747 
9748  return fixedStr<length>(offset);
9749  }
9750 
9751  /// Base/Local. Denotes the currency pair in CCY1/CCY2
9752  /// convention.
9753  ThisType& setFxCurrencySymbol(StrRef value)
9755  {
9758 
9759  setFixedStr<length>(offset, value);
9760  return *this;
9761  }
9762 
9763  /// For SPOTs will contain 0. For Fixed date NDFs will contain
9764  /// the value 'B'. For the standard NDFs tenors expressed
9765  /// using Dx, Mx, Wx, and Yx values, where 'x' does not denote
9766  /// business days, but calendar days.
9770  {
9773 
9774  return fixedStr<length>(offset);
9775  }
9776 
9777  /// For SPOTs will contain 0. For Fixed date NDFs will contain
9778  /// the value 'B'. For the standard NDFs tenors expressed
9779  /// using Dx, Mx, Wx, and Yx values, where 'x' does not denote
9780  /// business days, but calendar days.
9781  ThisType& setSettlType(StrRef value)
9783  {
9786 
9787  setFixedStr<length>(offset, value);
9788  return *this;
9789  }
9790 
9791  /// For SPOT, number of business days between trade date and
9792  /// value (settlement) date. For NDF, number of business days
9793  /// between NDF valuation (fixing) and settlement.
9797  {
9799 
9800  return ordinary<UInt16>(offset);
9801  }
9802 
9803  /// For SPOT, number of business days between trade date and
9804  /// value (settlement) date. For NDF, number of business days
9805  /// between NDF valuation (fixing) and settlement.
9806  ThisType& setInterveningDays(UInt16 value)
9808  {
9810 
9811  setOrdinary(offset, value);
9812  return *this;
9813  }
9814 
9815  /// Fixing Rate Description.
9819  {
9822 
9823  return fixedStr<length>(offset);
9824  }
9825 
9826  /// Fixing Rate Description.
9829  {
9832 
9833  setFixedStr<length>(offset, value);
9834  return *this;
9835  }
9836 
9837  /// Fixing Rate Source.
9841  {
9844 
9845  return fixedStr<length>(offset);
9846  }
9847 
9848  /// Fixing Rate Source.
9849  ThisType& setRateSource(StrRef value)
9851  {
9854 
9855  setFixedStr<length>(offset, value);
9856  return *this;
9857  }
9858 
9859  /// Fixing Rate Local Time, denoted in HH:MM:SS format.
9863  {
9866 
9867  return fixedStr<length>(offset);
9868  }
9869 
9870  /// Fixing Rate Local Time, denoted in HH:MM:SS format.
9871  ThisType& setFixRateLocalTime(StrRef value)
9873  {
9876 
9877  setFixedStr<length>(offset, value);
9878  return *this;
9879  }
9880 
9881  /// Fixing Rate Local Time Zone corresponding to Fixing Local
9882  /// Time.
9886  {
9889 
9890  return fixedStr<length>(offset);
9891  }
9892 
9893  /// Fixing Rate Local Time Zone corresponding to Fixing Local
9894  /// Time.
9897  {
9900 
9901  setFixedStr<length>(offset, value);
9902  return *this;
9903  }
9904 
9905  /// Minimum Quote Life in number of microseconds.
9909  {
9911 
9912  return ordinary<UInt32>(offset);
9913  }
9914 
9915  /// Minimum Quote Life in number of microseconds.
9916  ThisType& setMinQuoteLife(UInt32 value)
9918  {
9920 
9921  setOrdinary(offset, value);
9922  return *this;
9923  }
9924 
9925  /// Max allowed discretionary offset from Limit order price.
9926  /// When the value in this field = 0, discretionary price
9927  /// cannot be submitted for the instrument.
9931  {
9933 
9934  return decimal<PRICE9>(offset);
9935  }
9936 
9937  /// Max allowed discretionary offset from Limit order price.
9938  /// When the value in this field = 0, discretionary price
9939  /// cannot be submitted for the instrument.
9942  {
9944 
9945  setOrdinary(offset, value);
9946  return *this;
9947  }
9948 
9949  /// External unique instrument ID.
9951  bool instrumentGUId(UInt64& value) const
9953  {
9955 
9956  return ordinary(value, offset, NullUInt64());
9957  }
9958 
9959  /// External unique instrument ID.
9960  ThisType& setInstrumentGUId(UInt64 value)
9962  {
9964 
9965  setOrdinary(offset, value);
9966  return *this;
9967  }
9968 
9971  {
9973 
9974  setOrdinary(offset, NullUInt64());
9975  return *this;
9976  }
9977 
9978  /// Fixed Date NDF Maturity.
9982  {
9984 
9985  return ordinary(value, offset, NullMaturityMonthYear());
9986  }
9987 
9988  /// Fixed Date NDF Maturity.
9991  {
9993 
9994  setOrdinary(offset, value);
9995  return *this;
9996  }
9997 
10000  {
10002 
10003  setOrdinary(offset, NullMaturityMonthYear());
10004  return *this;
10005  }
10006 
10007  /// Settlement Locale. Optionally used to differentiate
10008  /// settlement location.
10012  {
10015 
10016  return fixedStr<length>(offset);
10017  }
10018 
10019  /// Settlement Locale. Optionally used to differentiate
10020  /// settlement location.
10021  ThisType& setSettlementLocale(StrRef value)
10023  {
10026 
10027  setFixedStr<length>(offset, value);
10028  return *this;
10029  }
10030 
10031  /// New sub-tick which is only available for order entry when
10032  /// certain conditions are met, tick value which corresponds
10033  /// to the Alt Min Quote Life.
10035  bool altMinPriceIncrement(PRICE9& value) const
10037  {
10040 
10041  return decimal(value, offset, NullPRICE9(), since);
10042  }
10043 
10044  /// New sub-tick which is only available for order entry when
10045  /// certain conditions are met, tick value which corresponds
10046  /// to the Alt Min Quote Life.
10048  {
10051 
10052  setOrdinary(offset, value, since);
10053  return *this;
10054  }
10055 
10057  {
10060 
10061  setOrdinary(offset, NullPRICE9(), since);
10062  return *this;
10063  }
10064 
10065  /// MQL duration in number of microseconds applied to orders
10066  /// at AltMinPriceIncrement.
10068  bool altMinQuoteLife(UInt32& value) const
10070  {
10073 
10074  return ordinary(value, offset, NullUInt32(), since);
10075  }
10076 
10077  /// MQL duration in number of microseconds applied to orders
10078  /// at AltMinPriceIncrement.
10079  ThisType& setAltMinQuoteLife(UInt32 value)
10080  {
10083 
10084  setOrdinary(offset, value, since);
10085  return *this;
10086  }
10087 
10089  {
10092 
10093  setOrdinary(offset, NullUInt32(), since);
10094  return *this;
10095  }
10096 
10097  /// Minimum price offset better than the best Standard Tick
10098  /// order for an order to be allowed into the market.
10102  {
10105 
10106  return decimal(value, offset, NullPRICE9(), since);
10107  }
10108 
10109  /// Minimum price offset better than the best Standard Tick
10110  /// order for an order to be allowed into the market.
10112  {
10115 
10116  setOrdinary(offset, value, since);
10117  return *this;
10118  }
10119 
10121  {
10124 
10125  setOrdinary(offset, NullPRICE9(), since);
10126  return *this;
10127  }
10128 
10129  /// Maximum bid/ask spread for which sub-tick orders will be
10130  /// accepted (Sub tick orders will be rejected if bid/ask
10131  /// spread is greater than this value).
10133  bool maxBidAskConstraint(PRICE9& value) const
10135  {
10138 
10139  return decimal(value, offset, NullPRICE9(), since);
10140  }
10141 
10142  /// Maximum bid/ask spread for which sub-tick orders will be
10143  /// accepted (Sub tick orders will be rejected if bid/ask
10144  /// spread is greater than this value).
10146  {
10149 
10150  setOrdinary(offset, value, since);
10151  return *this;
10152  }
10153 
10155  {
10158 
10159  setOrdinary(offset, NullPRICE9(), since);
10160  return *this;
10161  }
10162 
10163  /// \return instance of Events repeating group.
10165  Events events() const
10167  {
10168  return getGroup<Events>(EventsAccess(), *this);
10169  }
10170 
10171  /// \return instance of Events repeating group.
10175  {
10176  return getGroup<Events>(EventsAccess(), *this);
10177  }
10178 
10179  /// Setup repeating group with the given number of entries.
10180  /// Sets all optional fields of the group entries to null.
10181  /// \return NoEvents(864) repeating group.
10183  {
10184  return constructGroup<Events>(
10185  EventsAccess(),
10186  length,
10187  *this);
10188  }
10189 
10190  /// Setup repeating group with the given number of entries.
10191  /// \return NoEvents(864) repeating group.
10192  Events
10194  Events::Size length,
10195  NoFieldsInit)
10196  {
10197  return setupGroup<Events>(
10198  EventsAccess(),
10199  length,
10200  *this);
10201  }
10202 
10203  /// \return instance of FeedTypes repeating group.
10207  {
10208  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
10209  }
10210 
10211  /// \return instance of FeedTypes repeating group.
10215  {
10216  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
10217  }
10218 
10219  /// Setup repeating group with the given number of entries.
10220  /// Sets all optional fields of the group entries to null.
10221  /// \return NoMDFeedTypes(1141) repeating group.
10223  {
10224  return constructGroup<FeedTypes>(
10225  FeedTypesAccess(),
10226  length,
10227  *this);
10228  }
10229 
10230  /// Setup repeating group with the given number of entries.
10231  /// \return NoMDFeedTypes(1141) repeating group.
10232  FeedTypes
10234  FeedTypes::Size length,
10235  NoFieldsInit)
10236  {
10237  return setupGroup<FeedTypes>(
10238  FeedTypesAccess(),
10239  length,
10240  *this);
10241  }
10242 
10243  /// \return instance of InstAttrib repeating group.
10247  {
10248  return getGroup<InstAttrib>(
10249  InstAttribAccess(),
10250  *this);
10251  }
10252 
10253  /// \return instance of InstAttrib repeating group.
10257  {
10258  return getGroup<InstAttrib>(
10259  InstAttribAccess(),
10260  *this);
10261  }
10262 
10263  /// Setup repeating group with the given number of entries.
10264  /// Sets all optional fields of the group entries to null.
10265  /// \return NoInstAttrib(870) repeating group.
10267  {
10268  return constructGroup<InstAttrib>(
10269  InstAttribAccess(),
10270  length,
10271  *this);
10272  }
10273 
10274  /// Setup repeating group with the given number of entries.
10275  /// \return NoInstAttrib(870) repeating group.
10276  InstAttrib
10278  InstAttrib::Size length,
10279  NoFieldsInit)
10280  {
10281  return setupGroup<InstAttrib>(
10282  InstAttribAccess(),
10283  length,
10284  *this);
10285  }
10286 
10287  /// \return instance of LotTypeRules repeating group.
10291  {
10292  return getGroup<LotTypeRules>(
10293  LotTypeRulesAccess(),
10294  *this);
10295  }
10296 
10297  /// \return instance of LotTypeRules repeating group.
10301  {
10302  return getGroup<LotTypeRules>(
10303  LotTypeRulesAccess(),
10304  *this);
10305  }
10306 
10307  /// Setup repeating group with the given number of entries.
10308  /// Sets all optional fields of the group entries to null.
10309  /// \return NoLotTypeRules(1234) repeating group.
10310  LotTypeRules
10312  LotTypeRules::Size length)
10313  {
10314  return constructGroup<LotTypeRules>(
10315  LotTypeRulesAccess(),
10316  length,
10317  *this);
10318  }
10319 
10320  /// Setup repeating group with the given number of entries.
10321  /// \return NoLotTypeRules(1234) repeating group.
10322  LotTypeRules
10324  LotTypeRules::Size length,
10325  NoFieldsInit)
10326  {
10327  return setupGroup<LotTypeRules>(
10328  LotTypeRulesAccess(),
10329  length,
10330  *this);
10331  }
10332 
10333  /// \return instance of TradingSessions repeating group.
10337  {
10338  return getGroup<TradingSessions>(
10339  TradingSessionsAccess(),
10340  *this);
10341  }
10342 
10343  /// \return instance of TradingSessions repeating group.
10347  {
10348  return getGroup<TradingSessions>(
10349  TradingSessionsAccess(),
10350  *this);
10351  }
10352 
10353  /// Setup repeating group with the given number of entries.
10354  /// Sets all optional fields of the group entries to null.
10355  /// \return NoTradingSessions(386) repeating group.
10358  TradingSessions::Size length)
10359  {
10360  return constructGroup<TradingSessions>(
10361  TradingSessionsAccess(),
10362  length,
10363  *this);
10364  }
10365 
10366  /// Setup repeating group with the given number of entries.
10367  /// \return NoTradingSessions(386) repeating group.
10370  TradingSessions::Size length,
10371  NoFieldsInit)
10372  {
10373  return setupGroup<TradingSessions>(
10374  TradingSessionsAccess(),
10375  length,
10376  *this);
10377  }
10378 
10379  /// Minimal size of message body in bytes.
10384  {
10385  return
10386  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
10387  (version >= 13)
10388  ? 337
10389  : 309;
10390  }
10391 
10392  /// Size of message body in bytes.
10397  {
10398  return
10399  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
10400  minimalBlockLength(version);
10401  }
10402 
10403  /// Minimal variable fields size (when variable-length fields are empty).
10407  static
10408  MessageSize
10410  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
10411  {
10412  return
10413  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
10414  static_cast<MessageSize>(Events::EmptySize) + static_cast<MessageSize>(FeedTypes::EmptySize) + static_cast<MessageSize>(InstAttrib::EmptySize) + static_cast<MessageSize>(LotTypeRules::EmptySize) + static_cast<MessageSize>(TradingSessions::EmptySize);
10415  }
10416 
10417  /// Reset all variable-length fields if any.
10420  {
10421  eventsNull();
10422  feedTypesNull();
10423  instAttribNull();
10424  lotTypeRulesNull();
10425  tradingSessionsNull();
10426  return *this;
10427  }
10428 
10429  /// Reset all variable-length and optional fields if any.
10430  ThisType& reset()
10432  {
10433  totNumReportsNull();
10434  securityTradingStatusNull();
10435  unitOfMeasureQtyNull();
10436  highLimitPriceNull();
10437  lowLimitPriceNull();
10438  maxPriceVariationNull();
10439  instrumentGUIdNull();
10440  maturityMonthYearNull();
10441 
10442  if (version() >= 13)
10443  {
10444  altMinPriceIncrementNull();
10445  altMinQuoteLifeNull();
10446  altPriceIncrementConstraintNull();
10447  maxBidAskConstraintNull();
10448  }
10449 
10450  resetVariableFields();
10451  return *this;
10452  }
10453 
10454  /// \return class name.
10458  static const Char* className()
10459  {
10460  return "InstrumentDefinitionFX63";
10461  }
10462 
10463  /// FIX message type.
10467  static StrRef fixType()
10469  {
10470  return constructStrRef("d");
10471  }
10472 
10473  /// \return the end of the message.
10475  const void* tail() const
10477  {
10478  return
10479  tradingSessions().tail();
10480  }
10481 
10482  /// \return the size occupied by the message.
10486  {
10487  return
10488  SbeMessage::calculateBinarySize(tail());
10489  }
10490 
10491 private:
10492  void checkLength(
10493  EncodedLength length, SchemaVersion version) const
10494  {
10495  const EncodedLength minimalRequiredLength =
10496  minimalBlockLength(version) +
10497  MessageHeader::Size +
10498  getMinimalVariableFieldsSize(version);
10499 
10500  checkBinaryLength(
10501  *this, length, minimalRequiredLength);
10502  }
10503 
10504  /// Checks variable fields consistency.
10505  void checkVarLenFields() const
10506  {
10507  groups().
10508  checkTail<Events>().
10509  checkTail<FeedTypes>().
10510  checkTail<InstAttrib>().
10511  checkTail<LotTypeRules>().
10512  checkTail<TradingSessions>();
10513  }
10514 
10515  void checkCompatibility() const
10516  {
10517  assert(TemplateId == templateId());
10518 
10519  checkSchema<Schema>(schemaId(), version());
10520  checkLength(bufferSize(), version());
10521  checkVarLenFields();
10522  }
10523 
10524  /// Access helper.
10525  struct EventsAccess
10526  {
10527  Events
10528  operator()(
10529  const InstrumentDefinitionFX63& obj) const
10531  {
10532  return obj.
10533  groups().
10534  head<Events>();
10535  }
10536  };
10537 
10538  /// Reset an instance of the repeating group.
10539  /// All the following data will be invalidated.
10540  void eventsNull()
10542  {
10543  resetGroup<Events>(EventsAccess(), *this);
10544  }
10545 
10546  /// Access helper.
10547  struct FeedTypesAccess
10548  {
10549  FeedTypes
10550  operator()(
10551  const InstrumentDefinitionFX63& obj) const
10553  {
10554  return obj.
10555  groups().
10556  tail<Events>().
10557  head<FeedTypes>();
10558  }
10559  };
10560 
10561  /// Reset an instance of the repeating group.
10562  /// All the following data will be invalidated.
10563  void feedTypesNull()
10565  {
10566  resetGroup<FeedTypes>(FeedTypesAccess(), *this);
10567  }
10568 
10569  /// Access helper.
10570  struct InstAttribAccess
10571  {
10572  InstAttrib
10573  operator()(
10574  const InstrumentDefinitionFX63& obj) const
10576  {
10577  return obj.
10578  groups().
10579  tail<Events>().
10580  tail<FeedTypes>().
10581  head<InstAttrib>();
10582  }
10583  };
10584 
10585  /// Reset an instance of the repeating group.
10586  /// All the following data will be invalidated.
10587  void instAttribNull()
10589  {
10590  resetGroup<InstAttrib>(
10591  InstAttribAccess(),
10592  *this);
10593  }
10594 
10595  /// Access helper.
10596  struct LotTypeRulesAccess
10597  {
10598  LotTypeRules
10599  operator()(
10600  const InstrumentDefinitionFX63& obj) const
10602  {
10603  return obj.
10604  groups().
10605  tail<Events>().
10606  tail<FeedTypes>().
10607  tail<InstAttrib>().
10608  head<LotTypeRules>();
10609  }
10610  };
10611 
10612  /// Reset an instance of the repeating group.
10613  /// All the following data will be invalidated.
10614  void lotTypeRulesNull()
10616  {
10617  resetGroup<LotTypeRules>(
10618  LotTypeRulesAccess(),
10619  *this);
10620  }
10621 
10622  /// Access helper.
10623  struct TradingSessionsAccess
10624  {
10626  operator()(
10627  const InstrumentDefinitionFX63& obj) const
10629  {
10630  return obj.
10631  groups().
10632  tail<Events>().
10633  tail<FeedTypes>().
10634  tail<InstAttrib>().
10635  tail<LotTypeRules>().
10636  head<TradingSessions>();
10637  }
10638  };
10639 
10640  /// Reset an instance of the repeating group.
10641  /// All the following data will be invalidated.
10642  void tradingSessionsNull()
10644  {
10645  resetGroup<TradingSessions>(
10646  TradingSessionsAccess(),
10647  *this);
10648  }
10649 };
10650 
10651 /// MDIncrementalRefreshBookLongQty.
10654 : SbeMessage
10655 {
10656  /// Used template schema.
10658 
10659  /// This type alias.
10661 
10662  /// Message template ID from SBE schema.
10663  enum { TemplateId = 64 };
10664 
10665  /// Available since version.
10666  enum { SinceVersion = 12 };
10667 
10668  /// Number of entries in Market Data message.
10669  /// Entry of Entry repeating group.
10672  <
10674  >
10675  {
10676  /// Base class type.
10677  typedef
10679  <
10681  >
10683 
10684  /// This type alias.
10685  typedef Entry ThisType;
10686 
10687  /// Initializes instance of given
10688  /// version over given memory block.
10690  void* data,
10691  EncodedLength length,
10692  SchemaVersion version)
10693  : Base(data, length, version)
10694  {
10695  assert(version >= Schema::MinimalVersion);
10696  assert(length >= minimalBlockLength(version));
10697  }
10698 
10699  /// Reset all variable-length fields if any.
10702  {
10703  return *this;
10704  }
10705 
10706  /// Reset all variable-length and optional fields if any.
10707  ThisType& reset()
10709  {
10710  entryPxNull();
10711  entrySizeNull();
10712  numberOfOrdersNull();
10713 
10714  resetVariableFields();
10715  return *this;
10716  }
10717 
10718  /// Market Data entry price.
10720  bool entryPx(PRICE9& value) const
10722  {
10724 
10725  return decimal(value, offset, NullPRICE9());
10726  }
10727 
10728  /// Market Data entry price.
10729  ThisType& setEntryPx(PRICE9 value)
10731  {
10733 
10734  setOrdinary(offset, value);
10735  return *this;
10736  }
10737 
10738  ThisType& entryPxNull()
10740  {
10742 
10743  setOrdinary(offset, NullPRICE9());
10744  return *this;
10745  }
10746 
10747  /// Aggregate booked qty at price level, notional.
10749  bool entrySize(UInt64& value) const
10751  {
10753 
10754  return ordinary(value, offset, NullUInt64());
10755  }
10756 
10757  /// Aggregate booked qty at price level, notional.
10758  ThisType& setEntrySize(UInt64 value)
10760  {
10762 
10763  setOrdinary(offset, value);
10764  return *this;
10765  }
10766 
10767  ThisType& entrySizeNull()
10769  {
10771 
10772  setOrdinary(offset, NullUInt64());
10773  return *this;
10774  }
10775 
10776  /// SecurityID.
10780  {
10782 
10783  return ordinary<Int32>(offset);
10784  }
10785 
10786  /// SecurityID.
10787  ThisType& setSecurityId(Int32 value)
10789  {
10791 
10792  setOrdinary(offset, value);
10793  return *this;
10794  }
10795 
10796  /// Market Data entry sequence number per instrument update.
10798  UInt32 rptSeq() const
10800  {
10802 
10803  return ordinary<UInt32>(offset);
10804  }
10805 
10806  /// Market Data entry sequence number per instrument update.
10807  ThisType& setRptSeq(UInt32 value)
10809  {
10811 
10812  setOrdinary(offset, value);
10813  return *this;
10814  }
10815 
10816  /// In Book entry - aggregate number of orders at given price
10817  /// level.
10819  bool numberOfOrders(Int32& value) const
10821  {
10823 
10824  return ordinary(value, offset, NullInt32());
10825  }
10826 
10827  /// In Book entry - aggregate number of orders at given price
10828  /// level.
10829  ThisType& setNumberOfOrders(Int32 value)
10831  {
10833 
10834  setOrdinary(offset, value);
10835  return *this;
10836  }
10837 
10840  {
10842 
10843  setOrdinary(offset, NullInt32());
10844  return *this;
10845  }
10846 
10847  /// Aggregate book level.
10851  {
10853 
10854  return ordinary<UInt8>(offset);
10855  }
10856 
10857  /// Aggregate book level.
10858  ThisType& setPriceLevel(UInt8 value)
10860  {
10862 
10863  setOrdinary(offset, value);
10864  return *this;
10865  }
10866 
10867  /// Market Data update action.
10871  {
10873 
10874  return enumeration<UpdateAction>(offset);
10875  }
10876 
10877  /// Market Data update action.
10880  {
10882 
10883  setEnumeration<UpdateAction>(offset, value);
10884  return *this;
10885  }
10886 
10887  /// Market Data entry type.
10891  {
10893 
10894  return enumeration<EntryTypeBook>(offset);
10895  }
10896 
10897  /// Market Data entry type.
10898  ThisType&
10900  EntryTypeBook::Enum value)
10902  {
10904 
10905  setEnumeration<EntryTypeBook>(offset, value);
10906  return *this;
10907  }
10908 
10909  /// \return size of entry body in bytes
10910  /// for given version of message template.
10913  static
10914  BlockLength
10916  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
10918  {
10919  return
10920  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
10921  32;
10922  }
10923 
10924  /// \return minimal size of entry body in bytes
10925  /// for given version of message template.
10928  static
10929  BlockLength
10931  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
10933  {
10934  return
10935  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
10936  31;
10937  }
10938 
10939  /// Entity class name.
10943  static const Char* className()
10944  {
10945  return "IncrementalRefreshBookLongQty64.Entry";
10946  }
10947  };
10948 
10949  /// Repeating group containing Entry entries.
10950  typedef
10953 
10954  /// Number of OrderID entries.
10955  /// Entry of OrderIDEntry repeating group.
10958  <
10960  >
10961  {
10962  /// Base class type.
10963  typedef
10965  <
10967  >
10969 
10970  /// This type alias.
10972 
10973  /// Initializes instance of given
10974  /// version over given memory block.
10976  void* data,
10977  EncodedLength length,
10978  SchemaVersion version)
10979  : Base(data, length, version)
10980  {
10981  assert(version >= Schema::MinimalVersion);
10982  assert(length >= minimalBlockLength(version));
10983  }
10984 
10985  /// Reset all variable-length fields if any.
10988  {
10989  return *this;
10990  }
10991 
10992  /// Reset all variable-length and optional fields if any.
10993  ThisType& reset()
10995  {
10996  orderPriorityNull();
10997  displayQtyNull();
10998  referenceIdNull();
10999 
11000  resetVariableFields();
11001  return *this;
11002  }
11003 
11004  /// Unique Order ID.
11006  UInt64 orderId() const
11008  {
11010 
11011  return ordinary<UInt64>(offset);
11012  }
11013 
11014  /// Unique Order ID.
11015  ThisType& setOrderId(UInt64 value)
11017  {
11019 
11020  setOrdinary(offset, value);
11021  return *this;
11022  }
11023 
11024  /// Order priority for execution on the order book.
11026  bool orderPriority(UInt64& value) const
11028  {
11030 
11031  return ordinary(value, offset, NullUInt64());
11032  }
11033 
11034  /// Order priority for execution on the order book.
11035  ThisType& setOrderPriority(UInt64 value)
11037  {
11039 
11040  setOrdinary(offset, value);
11041  return *this;
11042  }
11043 
11044  ThisType& orderPriorityNull()
11046  {
11048 
11049  setOrdinary(offset, NullUInt64());
11050  return *this;
11051  }
11052 
11053  /// Visible qty of order.
11055  bool displayQty(Int32& value) const
11057  {
11059 
11060  return ordinary(value, offset, NullInt32());
11061  }
11062 
11063  /// Visible qty of order.
11064  ThisType& setDisplayQty(Int32 value)
11066  {
11068 
11069  setOrdinary(offset, value);
11070  return *this;
11071  }
11072 
11073  ThisType& displayQtyNull()
11075  {
11077 
11078  setOrdinary(offset, NullInt32());
11079  return *this;
11080  }
11081 
11082  /// Reference to corresponding Price and SecurityID, sequence
11083  /// of MD entry in the message.
11085  bool referenceId(UInt8& value) const
11087  {
11089 
11090  return ordinary(value, offset, NullUInt8());
11091  }
11092 
11093  /// Reference to corresponding Price and SecurityID, sequence
11094  /// of MD entry in the message.
11095  ThisType& setReferenceId(UInt8 value)
11097  {
11099 
11100  setOrdinary(offset, value);
11101  return *this;
11102  }
11103 
11104  ThisType& referenceIdNull()
11106  {
11108 
11109  setOrdinary(offset, NullUInt8());
11110  return *this;
11111  }
11112 
11113  /// Order book update action to be applied to the order
11114  /// referenced by OrderID.
11118  {
11120 
11121  return enumeration<OrderUpdateAction>(offset);
11122  }
11123 
11124  /// Order book update action to be applied to the order
11125  /// referenced by OrderID.
11126  ThisType&
11130  {
11132 
11133  setEnumeration<OrderUpdateAction>(offset, value);
11134  return *this;
11135  }
11136 
11137  /// \return size of entry body in bytes
11138  /// for given version of message template.
11141  static
11142  BlockLength
11144  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11146  {
11147  return
11148  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
11149  24;
11150  }
11151 
11152  /// \return minimal size of entry body in bytes
11153  /// for given version of message template.
11156  static
11157  BlockLength
11159  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11161  {
11162  return
11163  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
11164  22;
11165  }
11166 
11167  /// Entity class name.
11171  static const Char* className()
11172  {
11173  return "IncrementalRefreshBookLongQty64.OrderIDEntry";
11174  }
11175  };
11176 
11177  /// Repeating group containing OrderIDEntry entries.
11178  typedef
11181 
11182  /// Initializes a blank instance.
11183  IncrementalRefreshBookLongQty64() ONIXS_CONFLATEDTCP_DEFAULT;
11184 
11185  /// Initializes an instance over the given memory block.
11187  void* data,
11188  EncodedLength length,
11189  SchemaVersion version = Schema::Version)
11190  : SbeMessage(data, length, version)
11191  {
11192  checkVersion<Schema>(SinceVersion, version);
11193  checkLength(length, version);
11194  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
11195  reset();
11196  }
11197 
11198  /// Initializes an instance over the given memory block
11199  /// With no variable-length fields initialization
11200  /// It is assumed that the user does such an initialization manually.
11202  void* data,
11203  EncodedLength length,
11204  NoFieldsInit,
11205  SchemaVersion version = Schema::Version)
11206  : SbeMessage(data, length, version)
11207  {
11208  checkVersion<Schema>(SinceVersion, version);
11209  checkLength(length, version);
11210  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
11211  resetVariableFields();
11212  }
11213 
11214  /// Creates an instance over the given memory block.
11216  void* data,
11217  EncodedLength length,
11218  NoInit)
11219  : SbeMessage(data, length)
11220  {
11221  assert(this->version() >= SinceVersion);
11222  checkCompatibility();
11223  }
11224 
11225  /// Creates an instance over the given SBE message.
11226  explicit
11228  const SbeMessage& message)
11229  : SbeMessage(message)
11230  {
11231  assert(message.valid());
11232  assert(this->version() >= SinceVersion);
11233 
11234  checkCompatibility();
11235  }
11236 
11237  /// Start of event processing time in number of nanoseconds
11238  /// since Unix epoch.
11242  {
11244 
11245  return ordinary<Timestamp>(offset);
11246  }
11247 
11248  /// Start of event processing time in number of nanoseconds
11249  /// since Unix epoch.
11250  ThisType& setTransactTime(Timestamp value)
11252  {
11254 
11255  setOrdinary(offset, value.sinceEpoch());
11256  return *this;
11257  }
11258 
11259  /// Bitmap field of eight Boolean type indicators reflecting
11260  /// the end of updates for a given Globex event.
11264  {
11266 
11267  return ordinary<MatchEventIndicator>(offset);
11268  }
11269 
11270  /// Bitmap field of eight Boolean type indicators reflecting
11271  /// the end of updates for a given Globex event.
11272  ThisType&
11274  MatchEventIndicator value)
11276  {
11278 
11279  setOrdinary(offset, value);
11280  return *this;
11281  }
11282 
11283  /// \return instance of Entries repeating group.
11287  {
11288  return getGroup<Entries>(EntriesAccess(), *this);
11289  }
11290 
11291  /// \return instance of Entries repeating group.
11295  {
11296  return getGroup<Entries>(EntriesAccess(), *this);
11297  }
11298 
11299  /// Setup repeating group with the given number of entries.
11300  /// Sets all optional fields of the group entries to null.
11301  /// \return NoMDEntries(268) repeating group.
11303  {
11304  return constructGroup<Entries>(
11305  EntriesAccess(),
11306  length,
11307  *this);
11308  }
11309 
11310  /// Setup repeating group with the given number of entries.
11311  /// \return NoMDEntries(268) repeating group.
11312  Entries
11314  Entries::Size length,
11315  NoFieldsInit)
11316  {
11317  return setupGroup<Entries>(
11318  EntriesAccess(),
11319  length,
11320  *this);
11321  }
11322 
11323  /// \return instance of OrderIDEntries repeating group.
11327  {
11328  return getGroup<OrderIDEntries>(
11329  OrderIDEntriesAccess(),
11330  *this);
11331  }
11332 
11333  /// \return instance of OrderIDEntries repeating group.
11337  {
11338  return getGroup<OrderIDEntries>(
11339  OrderIDEntriesAccess(),
11340  *this);
11341  }
11342 
11343  /// Setup repeating group with the given number of entries.
11344  /// Sets all optional fields of the group entries to null.
11345  /// \return NoOrderIDEntries(37705) repeating group.
11348  OrderIDEntries::Size length)
11349  {
11350  return constructGroup<OrderIDEntries>(
11351  OrderIDEntriesAccess(),
11352  length,
11353  *this);
11354  }
11355 
11356  /// Setup repeating group with the given number of entries.
11357  /// \return NoOrderIDEntries(37705) repeating group.
11360  OrderIDEntries::Size length,
11361  NoFieldsInit)
11362  {
11363  return setupGroup<OrderIDEntries>(
11364  OrderIDEntriesAccess(),
11365  length,
11366  *this);
11367  }
11368 
11369  /// Minimal size of message body in bytes.
11372  static
11373  BlockLength
11375  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11377  {
11378  return
11379  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
11380  9;
11381  }
11382 
11383  /// Size of message body in bytes.
11386  static
11387  BlockLength
11389  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11391  {
11392  return
11393  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
11394  11;
11395  }
11396 
11397  /// Minimal variable fields size (when variable-length fields are empty).
11401  static
11402  MessageSize
11404  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11405  {
11406  return
11407  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
11408  static_cast<MessageSize>(Entries::EmptySize) + static_cast<MessageSize>(OrderIDEntries::EmptySize);
11409  }
11410 
11411  /// Reset all variable-length fields if any.
11414  {
11415  entriesNull();
11416  orderIdEntriesNull();
11417  return *this;
11418  }
11419 
11420  /// Reset all variable-length and optional fields if any.
11421  ThisType& reset()
11423  {
11424  resetVariableFields();
11425  return *this;
11426  }
11427 
11428  /// \return class name.
11432  static const Char* className()
11433  {
11434  return "IncrementalRefreshBookLongQty64";
11435  }
11436 
11437  /// FIX message type.
11441  static StrRef fixType()
11443  {
11444  return constructStrRef("X");
11445  }
11446 
11447  /// \return the end of the message.
11449  const void* tail() const
11451  {
11452  return
11453  orderIdEntries().tail();
11454  }
11455 
11456  /// \return the size occupied by the message.
11460  {
11461  return
11462  SbeMessage::calculateBinarySize(tail());
11463  }
11464 
11465 private:
11466  void checkLength(
11467  EncodedLength length, SchemaVersion version) const
11468  {
11469  const EncodedLength minimalRequiredLength =
11470  minimalBlockLength(version) +
11471  MessageHeader::Size +
11472  getMinimalVariableFieldsSize(version);
11473 
11474  checkBinaryLength(
11475  *this, length, minimalRequiredLength);
11476  }
11477 
11478  /// Checks variable fields consistency.
11479  void checkVarLenFields() const
11480  {
11481  groups().
11482  checkTail<Entries>().
11483  checkTail<OrderIDEntries>();
11484  }
11485 
11486  void checkCompatibility() const
11487  {
11488  assert(TemplateId == templateId());
11489 
11490  checkSchema<Schema>(schemaId(), version());
11491  checkLength(bufferSize(), version());
11492  checkVarLenFields();
11493  }
11494 
11495  /// Access helper.
11496  struct EntriesAccess
11497  {
11498  Entries
11499  operator()(
11500  const IncrementalRefreshBookLongQty64& obj) const
11502  {
11503  return obj.
11504  groups().
11505  head<Entries>();
11506  }
11507  };
11508 
11509  /// Reset an instance of the repeating group.
11510  /// All the following data will be invalidated.
11511  void entriesNull()
11513  {
11514  resetGroup<Entries>(EntriesAccess(), *this);
11515  }
11516 
11517  /// Access helper.
11518  struct OrderIDEntriesAccess
11519  {
11521  operator()(
11522  const IncrementalRefreshBookLongQty64& obj) const
11524  {
11525  return obj.
11526  groups().
11527  tail<Entries>().
11528  head<OrderIDEntries>();
11529  }
11530  };
11531 
11532  /// Reset an instance of the repeating group.
11533  /// All the following data will be invalidated.
11534  void orderIdEntriesNull()
11536  {
11537  resetGroup<OrderIDEntries>(
11538  OrderIDEntriesAccess(),
11539  *this);
11540  }
11541 };
11542 
11543 /// MDIncrementalRefreshTradeSummaryLongQty.
11546 : SbeMessage
11547 {
11548  /// Used template schema.
11550 
11551  /// This type alias.
11553 
11554  /// Message template ID from SBE schema.
11555  enum { TemplateId = 65 };
11556 
11557  /// Available since version.
11558  enum { SinceVersion = 12 };
11559 
11560  /// Number of Trade Summary entries.
11561  /// Entry of Entry repeating group.
11564  <
11566  >
11567  {
11568  /// Base class type.
11569  typedef
11571  <
11573  >
11575 
11576  /// This type alias.
11577  typedef Entry ThisType;
11578 
11579  /// Initializes instance of given
11580  /// version over given memory block.
11582  void* data,
11583  EncodedLength length,
11584  SchemaVersion version)
11585  : Base(data, length, version)
11586  {
11587  assert(version >= Schema::MinimalVersion);
11588  assert(length >= minimalBlockLength(version));
11589  }
11590 
11591  /// Reset all variable-length fields if any.
11594  {
11595  return *this;
11596  }
11597 
11598  /// Reset all variable-length and optional fields if any.
11599  ThisType& reset()
11601  {
11602  aggressorSideNull();
11603 
11604  resetVariableFields();
11605  return *this;
11606  }
11607 
11608  /// Trade price.
11610  PRICE9 entryPx() const
11612  {
11614 
11615  return decimal<PRICE9>(offset);
11616  }
11617 
11618  /// Trade price.
11619  ThisType& setEntryPx(PRICE9 value)
11621  {
11623 
11624  setOrdinary(offset, value);
11625  return *this;
11626  }
11627 
11628  /// Consolidated trade quantity, notional.
11632  {
11634 
11635  return ordinary<UInt64>(offset);
11636  }
11637 
11638  /// Consolidated trade quantity, notional.
11639  ThisType& setEntrySize(UInt64 value)
11641  {
11643 
11644  setOrdinary(offset, value);
11645  return *this;
11646  }
11647 
11648  /// Security ID.
11652  {
11654 
11655  return ordinary<Int32>(offset);
11656  }
11657 
11658  /// Security ID.
11659  ThisType& setSecurityId(Int32 value)
11661  {
11663 
11664  setOrdinary(offset, value);
11665  return *this;
11666  }
11667 
11668  /// MD Entry sequence number per instrument update. Reset
11669  /// weekly.
11671  UInt32 rptSeq() const
11673  {
11675 
11676  return ordinary<UInt32>(offset);
11677  }
11678 
11679  /// MD Entry sequence number per instrument update. Reset
11680  /// weekly.
11681  ThisType& setRptSeq(UInt32 value)
11683  {
11685 
11686  setOrdinary(offset, value);
11687  return *this;
11688  }
11689 
11690  /// The total number of real orders per instrument that
11691  /// participated in a match step within a match event.
11695  {
11697 
11698  return ordinary<Int32>(offset);
11699  }
11700 
11701  /// The total number of real orders per instrument that
11702  /// participated in a match step within a match event.
11703  ThisType& setNumberOfOrders(Int32 value)
11705  {
11707 
11708  setOrdinary(offset, value);
11709  return *this;
11710  }
11711 
11712  /// Market Data Trade Entry ID.
11716  {
11718 
11719  return ordinary<UInt32>(offset);
11720  }
11721 
11722  /// Market Data Trade Entry ID.
11723  ThisType& setTradeEntryId(UInt32 value)
11725  {
11727 
11728  setOrdinary(offset, value);
11729  return *this;
11730  }
11731 
11732  /// Indicates which side is the aggressor or if there is no
11733  /// aggressor.
11735  bool
11737  AggressorSide::Enum& value) const
11739  {
11741 
11742  return enumeration<AggressorSide>(value, offset, NullUInt8());
11743  }
11744 
11745  /// Indicates which side is the aggressor or if there is no
11746  /// aggressor.
11747  ThisType&
11749  AggressorSide::Enum value)
11751  {
11753 
11754  setEnumeration<AggressorSide>(offset, value);
11755  return *this;
11756  }
11757 
11758  ThisType& aggressorSideNull()
11760  {
11762 
11763  setOrdinary(offset, NullUInt8());
11764  return *this;
11765  }
11766 
11767  /// Market Data update action.
11771  {
11773 
11774  return enumeration<UpdateAction>(offset);
11775  }
11776 
11777  /// Market Data update action.
11780  {
11782 
11783  setEnumeration<UpdateAction>(offset, value);
11784  return *this;
11785  }
11786 
11787  /// Market Data entry type.
11792  {
11793  return EntryTypeTrade();
11794  }
11795 
11796  /// \return size of entry body in bytes
11797  /// for given version of message template.
11800  static
11801  BlockLength
11803  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11805  {
11806  return
11807  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
11808  40;
11809  }
11810 
11811  /// \return minimal size of entry body in bytes
11812  /// for given version of message template.
11815  static
11816  BlockLength
11818  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11820  {
11821  return
11822  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
11823  34;
11824  }
11825 
11826  /// Entity class name.
11830  static const Char* className()
11831  {
11832  return "IncrementalRefreshTradeSummaryLongQty65.Entry";
11833  }
11834  };
11835 
11836  /// Repeating group containing Entry entries.
11837  typedef
11840 
11841  /// Number of OrderID and LastQty entries in Trade Summary
11842  /// message.
11843  /// Entry of OrderIDEntry repeating group.
11846  <
11848  >
11849  {
11850  /// Base class type.
11851  typedef
11853  <
11855  >
11857 
11858  /// This type alias.
11860 
11861  /// Initializes instance of given
11862  /// version over given memory block.
11864  void* data,
11865  EncodedLength length,
11866  SchemaVersion version)
11867  : Base(data, length, version)
11868  {
11869  assert(version >= Schema::MinimalVersion);
11870  assert(length >= minimalBlockLength(version));
11871  }
11872 
11873  /// Reset all variable-length fields if any.
11876  {
11877  return *this;
11878  }
11879 
11880  /// Reset all variable-length and optional fields if any.
11881  ThisType& reset()
11883  {
11884  resetVariableFields();
11885  return *this;
11886  }
11887 
11888  /// Unique order identifier as assigned by the exchange.
11890  UInt64 orderId() const
11892  {
11894 
11895  return ordinary<UInt64>(offset);
11896  }
11897 
11898  /// Unique order identifier as assigned by the exchange.
11899  ThisType& setOrderId(UInt64 value)
11901  {
11903 
11904  setOrdinary(offset, value);
11905  return *this;
11906  }
11907 
11908  /// Quantity bought or sold on this last fill.
11910  Int32 lastQty() const
11912  {
11914 
11915  return ordinary<Int32>(offset);
11916  }
11917 
11918  /// Quantity bought or sold on this last fill.
11919  ThisType& setLastQty(Int32 value)
11921  {
11923 
11924  setOrdinary(offset, value);
11925  return *this;
11926  }
11927 
11928  /// \return size of entry body in bytes
11929  /// for given version of message template.
11932  static
11933  BlockLength
11935  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11937  {
11938  return
11939  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
11940  16;
11941  }
11942 
11943  /// \return minimal size of entry body in bytes
11944  /// for given version of message template.
11947  static
11948  BlockLength
11950  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
11952  {
11953  return
11954  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
11955  12;
11956  }
11957 
11958  /// Entity class name.
11962  static const Char* className()
11963  {
11964  return "IncrementalRefreshTradeSummaryLongQty65.OrderIDEntry";
11965  }
11966  };
11967 
11968  /// Repeating group containing OrderIDEntry entries.
11969  typedef
11972 
11973  /// Initializes a blank instance.
11974  IncrementalRefreshTradeSummaryLongQty65() ONIXS_CONFLATEDTCP_DEFAULT;
11975 
11976  /// Initializes an instance over the given memory block.
11978  void* data,
11979  EncodedLength length,
11980  SchemaVersion version = Schema::Version)
11981  : SbeMessage(data, length, version)
11982  {
11983  checkVersion<Schema>(SinceVersion, version);
11984  checkLength(length, version);
11985  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
11986  reset();
11987  }
11988 
11989  /// Initializes an instance over the given memory block
11990  /// With no variable-length fields initialization
11991  /// It is assumed that the user does such an initialization manually.
11993  void* data,
11994  EncodedLength length,
11995  NoFieldsInit,
11996  SchemaVersion version = Schema::Version)
11997  : SbeMessage(data, length, version)
11998  {
11999  checkVersion<Schema>(SinceVersion, version);
12000  checkLength(length, version);
12001  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
12002  resetVariableFields();
12003  }
12004 
12005  /// Creates an instance over the given memory block.
12007  void* data,
12008  EncodedLength length,
12009  NoInit)
12010  : SbeMessage(data, length)
12011  {
12012  assert(this->version() >= SinceVersion);
12013  checkCompatibility();
12014  }
12015 
12016  /// Creates an instance over the given SBE message.
12017  explicit
12019  const SbeMessage& message)
12020  : SbeMessage(message)
12021  {
12022  assert(message.valid());
12023  assert(this->version() >= SinceVersion);
12024 
12025  checkCompatibility();
12026  }
12027 
12028  /// Start of event processing time in number of nanoseconds
12029  /// since Unix epoch.
12033  {
12035 
12036  return ordinary<Timestamp>(offset);
12037  }
12038 
12039  /// Start of event processing time in number of nanoseconds
12040  /// since Unix epoch.
12041  ThisType& setTransactTime(Timestamp value)
12043  {
12045 
12046  setOrdinary(offset, value.sinceEpoch());
12047  return *this;
12048  }
12049 
12050  /// Bitmap field of eight Boolean type indicators reflecting
12051  /// the end of updates for a given Globex event.
12055  {
12057 
12058  return ordinary<MatchEventIndicator>(offset);
12059  }
12060 
12061  /// Bitmap field of eight Boolean type indicators reflecting
12062  /// the end of updates for a given Globex event.
12063  ThisType&
12065  MatchEventIndicator value)
12067  {
12069 
12070  setOrdinary(offset, value);
12071  return *this;
12072  }
12073 
12074  /// \return instance of Entries repeating group.
12078  {
12079  return getGroup<Entries>(EntriesAccess(), *this);
12080  }
12081 
12082  /// \return instance of Entries repeating group.
12086  {
12087  return getGroup<Entries>(EntriesAccess(), *this);
12088  }
12089 
12090  /// Setup repeating group with the given number of entries.
12091  /// Sets all optional fields of the group entries to null.
12092  /// \return NoMDEntries(268) repeating group.
12094  {
12095  return constructGroup<Entries>(
12096  EntriesAccess(),
12097  length,
12098  *this);
12099  }
12100 
12101  /// Setup repeating group with the given number of entries.
12102  /// \return NoMDEntries(268) repeating group.
12103  Entries
12105  Entries::Size length,
12106  NoFieldsInit)
12107  {
12108  return setupGroup<Entries>(
12109  EntriesAccess(),
12110  length,
12111  *this);
12112  }
12113 
12114  /// \return instance of OrderIDEntries repeating group.
12118  {
12119  return getGroup<OrderIDEntries>(
12120  OrderIDEntriesAccess(),
12121  *this);
12122  }
12123 
12124  /// \return instance of OrderIDEntries repeating group.
12128  {
12129  return getGroup<OrderIDEntries>(
12130  OrderIDEntriesAccess(),
12131  *this);
12132  }
12133 
12134  /// Setup repeating group with the given number of entries.
12135  /// Sets all optional fields of the group entries to null.
12136  /// \return NoOrderIDEntries(37705) repeating group.
12139  OrderIDEntries::Size length)
12140  {
12141  return constructGroup<OrderIDEntries>(
12142  OrderIDEntriesAccess(),
12143  length,
12144  *this);
12145  }
12146 
12147  /// Setup repeating group with the given number of entries.
12148  /// \return NoOrderIDEntries(37705) repeating group.
12151  OrderIDEntries::Size length,
12152  NoFieldsInit)
12153  {
12154  return setupGroup<OrderIDEntries>(
12155  OrderIDEntriesAccess(),
12156  length,
12157  *this);
12158  }
12159 
12160  /// Minimal size of message body in bytes.
12163  static
12164  BlockLength
12166  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12168  {
12169  return
12170  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
12171  9;
12172  }
12173 
12174  /// Size of message body in bytes.
12177  static
12178  BlockLength
12180  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12182  {
12183  return
12184  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
12185  11;
12186  }
12187 
12188  /// Minimal variable fields size (when variable-length fields are empty).
12192  static
12193  MessageSize
12195  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12196  {
12197  return
12198  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
12199  static_cast<MessageSize>(Entries::EmptySize) + static_cast<MessageSize>(OrderIDEntries::EmptySize);
12200  }
12201 
12202  /// Reset all variable-length fields if any.
12205  {
12206  entriesNull();
12207  orderIdEntriesNull();
12208  return *this;
12209  }
12210 
12211  /// Reset all variable-length and optional fields if any.
12212  ThisType& reset()
12214  {
12215  resetVariableFields();
12216  return *this;
12217  }
12218 
12219  /// \return class name.
12223  static const Char* className()
12224  {
12225  return "IncrementalRefreshTradeSummaryLongQty65";
12226  }
12227 
12228  /// FIX message type.
12232  static StrRef fixType()
12234  {
12235  return constructStrRef("X");
12236  }
12237 
12238  /// \return the end of the message.
12240  const void* tail() const
12242  {
12243  return
12244  orderIdEntries().tail();
12245  }
12246 
12247  /// \return the size occupied by the message.
12251  {
12252  return
12253  SbeMessage::calculateBinarySize(tail());
12254  }
12255 
12256 private:
12257  void checkLength(
12258  EncodedLength length, SchemaVersion version) const
12259  {
12260  const EncodedLength minimalRequiredLength =
12261  minimalBlockLength(version) +
12262  MessageHeader::Size +
12263  getMinimalVariableFieldsSize(version);
12264 
12265  checkBinaryLength(
12266  *this, length, minimalRequiredLength);
12267  }
12268 
12269  /// Checks variable fields consistency.
12270  void checkVarLenFields() const
12271  {
12272  groups().
12273  checkTail<Entries>().
12274  checkTail<OrderIDEntries>();
12275  }
12276 
12277  void checkCompatibility() const
12278  {
12279  assert(TemplateId == templateId());
12280 
12281  checkSchema<Schema>(schemaId(), version());
12282  checkLength(bufferSize(), version());
12283  checkVarLenFields();
12284  }
12285 
12286  /// Access helper.
12287  struct EntriesAccess
12288  {
12289  Entries
12290  operator()(
12291  const IncrementalRefreshTradeSummaryLongQty65& obj) const
12293  {
12294  return obj.
12295  groups().
12296  head<Entries>();
12297  }
12298  };
12299 
12300  /// Reset an instance of the repeating group.
12301  /// All the following data will be invalidated.
12302  void entriesNull()
12304  {
12305  resetGroup<Entries>(EntriesAccess(), *this);
12306  }
12307 
12308  /// Access helper.
12309  struct OrderIDEntriesAccess
12310  {
12312  operator()(
12313  const IncrementalRefreshTradeSummaryLongQty65& obj) const
12315  {
12316  return obj.
12317  groups().
12318  tail<Entries>().
12319  head<OrderIDEntries>();
12320  }
12321  };
12322 
12323  /// Reset an instance of the repeating group.
12324  /// All the following data will be invalidated.
12325  void orderIdEntriesNull()
12327  {
12328  resetGroup<OrderIDEntries>(
12329  OrderIDEntriesAccess(),
12330  *this);
12331  }
12332 };
12333 
12334 /// MDIncrementalRefreshVolumeLongQty.
12337 : SbeMessage
12338 {
12339  /// Used template schema.
12341 
12342  /// This type alias.
12344 
12345  /// Message template ID from SBE schema.
12346  enum { TemplateId = 66 };
12347 
12348  /// Available since version.
12349  enum { SinceVersion = 12 };
12350 
12351  /// Number of entries in Market Data message.
12352  /// Entry of Entry repeating group.
12355  <
12357  >
12358  {
12359  /// Base class type.
12360  typedef
12362  <
12364  >
12366 
12367  /// This type alias.
12368  typedef Entry ThisType;
12369 
12370  /// Initializes instance of given
12371  /// version over given memory block.
12373  void* data,
12374  EncodedLength length,
12375  SchemaVersion version)
12376  : Base(data, length, version)
12377  {
12378  assert(version >= Schema::MinimalVersion);
12379  assert(length >= minimalBlockLength(version));
12380  }
12381 
12382  /// Reset all variable-length fields if any.
12385  {
12386  return *this;
12387  }
12388 
12389  /// Reset all variable-length and optional fields if any.
12390  ThisType& reset()
12392  {
12393  resetVariableFields();
12394  return *this;
12395  }
12396 
12397  /// Cumulative traded volume, notional.
12401  {
12403 
12404  return ordinary<UInt64>(offset);
12405  }
12406 
12407  /// Cumulative traded volume, notional.
12408  ThisType& setEntrySize(UInt64 value)
12410  {
12412 
12413  setOrdinary(offset, value);
12414  return *this;
12415  }
12416 
12417  /// Security ID.
12421  {
12423 
12424  return ordinary<Int32>(offset);
12425  }
12426 
12427  /// Security ID.
12428  ThisType& setSecurityId(Int32 value)
12430  {
12432 
12433  setOrdinary(offset, value);
12434  return *this;
12435  }
12436 
12437  /// Market Data entry sequence number per instrument update.
12439  UInt32 rptSeq() const
12441  {
12443 
12444  return ordinary<UInt32>(offset);
12445  }
12446 
12447  /// Market Data entry sequence number per instrument update.
12448  ThisType& setRptSeq(UInt32 value)
12450  {
12452 
12453  setOrdinary(offset, value);
12454  return *this;
12455  }
12456 
12457  /// Market Data update action.
12461  {
12463 
12464  return enumeration<UpdateAction>(offset);
12465  }
12466 
12467  /// Market Data update action.
12470  {
12472 
12473  setEnumeration<UpdateAction>(offset, value);
12474  return *this;
12475  }
12476 
12477  /// Electronic Volume entry provides cumulative session trade
12478  /// volume updated with the event.
12483  {
12484  return EntryTypeVol();
12485  }
12486 
12487  /// \return size of entry body in bytes
12488  /// for given version of message template.
12491  static
12492  BlockLength
12494  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12496  {
12497  return
12498  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
12499  24;
12500  }
12501 
12502  /// \return minimal size of entry body in bytes
12503  /// for given version of message template.
12506  static
12507  BlockLength
12509  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12511  {
12512  return
12513  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
12514  17;
12515  }
12516 
12517  /// Entity class name.
12521  static const Char* className()
12522  {
12523  return "IncrementalRefreshVolumeLongQty66.Entry";
12524  }
12525  };
12526 
12527  /// Repeating group containing Entry entries.
12528  typedef
12531 
12532  /// Initializes a blank instance.
12533  IncrementalRefreshVolumeLongQty66() ONIXS_CONFLATEDTCP_DEFAULT;
12534 
12535  /// Initializes an instance over the given memory block.
12537  void* data,
12538  EncodedLength length,
12539  SchemaVersion version = Schema::Version)
12540  : SbeMessage(data, length, version)
12541  {
12542  checkVersion<Schema>(SinceVersion, version);
12543  checkLength(length, version);
12544  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
12545  reset();
12546  }
12547 
12548  /// Initializes an instance over the given memory block
12549  /// With no variable-length fields initialization
12550  /// It is assumed that the user does such an initialization manually.
12552  void* data,
12553  EncodedLength length,
12554  NoFieldsInit,
12555  SchemaVersion version = Schema::Version)
12556  : SbeMessage(data, length, version)
12557  {
12558  checkVersion<Schema>(SinceVersion, version);
12559  checkLength(length, version);
12560  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
12561  resetVariableFields();
12562  }
12563 
12564  /// Creates an instance over the given memory block.
12566  void* data,
12567  EncodedLength length,
12568  NoInit)
12569  : SbeMessage(data, length)
12570  {
12571  assert(this->version() >= SinceVersion);
12572  checkCompatibility();
12573  }
12574 
12575  /// Creates an instance over the given SBE message.
12576  explicit
12578  const SbeMessage& message)
12579  : SbeMessage(message)
12580  {
12581  assert(message.valid());
12582  assert(this->version() >= SinceVersion);
12583 
12584  checkCompatibility();
12585  }
12586 
12587  /// Start of event processing time in number of nanoseconds
12588  /// since Unix epoch.
12592  {
12594 
12595  return ordinary<Timestamp>(offset);
12596  }
12597 
12598  /// Start of event processing time in number of nanoseconds
12599  /// since Unix epoch.
12600  ThisType& setTransactTime(Timestamp value)
12602  {
12604 
12605  setOrdinary(offset, value.sinceEpoch());
12606  return *this;
12607  }
12608 
12609  /// Bitmap field of eight Boolean type indicators reflecting
12610  /// the end of updates for a given Globex event.
12614  {
12616 
12617  return ordinary<MatchEventIndicator>(offset);
12618  }
12619 
12620  /// Bitmap field of eight Boolean type indicators reflecting
12621  /// the end of updates for a given Globex event.
12622  ThisType&
12624  MatchEventIndicator value)
12626  {
12628 
12629  setOrdinary(offset, value);
12630  return *this;
12631  }
12632 
12633  /// \return instance of Entries repeating group.
12637  {
12638  return getGroup<Entries>(EntriesAccess(), *this);
12639  }
12640 
12641  /// \return instance of Entries repeating group.
12645  {
12646  return getGroup<Entries>(EntriesAccess(), *this);
12647  }
12648 
12649  /// Setup repeating group with the given number of entries.
12650  /// Sets all optional fields of the group entries to null.
12651  /// \return NoMDEntries(268) repeating group.
12653  {
12654  return constructGroup<Entries>(
12655  EntriesAccess(),
12656  length,
12657  *this);
12658  }
12659 
12660  /// Setup repeating group with the given number of entries.
12661  /// \return NoMDEntries(268) repeating group.
12662  Entries
12664  Entries::Size length,
12665  NoFieldsInit)
12666  {
12667  return setupGroup<Entries>(
12668  EntriesAccess(),
12669  length,
12670  *this);
12671  }
12672 
12673  /// Minimal size of message body in bytes.
12676  static
12677  BlockLength
12679  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12681  {
12682  return
12683  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
12684  9;
12685  }
12686 
12687  /// Size of message body in bytes.
12690  static
12691  BlockLength
12693  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12695  {
12696  return
12697  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
12698  11;
12699  }
12700 
12701  /// Minimal variable fields size (when variable-length fields are empty).
12705  static
12706  MessageSize
12708  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
12709  {
12710  return
12711  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
12712  static_cast<MessageSize>(Entries::EmptySize);
12713  }
12714 
12715  /// Reset all variable-length fields if any.
12718  {
12719  entriesNull();
12720  return *this;
12721  }
12722 
12723  /// Reset all variable-length and optional fields if any.
12724  ThisType& reset()
12726  {
12727  resetVariableFields();
12728  return *this;
12729  }
12730 
12731  /// \return class name.
12735  static const Char* className()
12736  {
12737  return "IncrementalRefreshVolumeLongQty66";
12738  }
12739 
12740  /// FIX message type.
12744  static StrRef fixType()
12746  {
12747  return constructStrRef("X");
12748  }
12749 
12750  /// \return the end of the message.
12752  const void* tail() const
12754  {
12755  return
12756  entries().tail();
12757  }
12758 
12759  /// \return the size occupied by the message.
12763  {
12764  return
12765  SbeMessage::calculateBinarySize(tail());
12766  }
12767 
12768 private:
12769  void checkLength(
12770  EncodedLength length, SchemaVersion version) const
12771  {
12772  const EncodedLength minimalRequiredLength =
12773  minimalBlockLength(version) +
12774  MessageHeader::Size +
12775  getMinimalVariableFieldsSize(version);
12776 
12777  checkBinaryLength(
12778  *this, length, minimalRequiredLength);
12779  }
12780 
12781  /// Checks variable fields consistency.
12782  void checkVarLenFields() const
12783  {
12784  groups().
12785  checkTail<Entries>();
12786  }
12787 
12788  void checkCompatibility() const
12789  {
12790  assert(TemplateId == templateId());
12791 
12792  checkSchema<Schema>(schemaId(), version());
12793  checkLength(bufferSize(), version());
12794  checkVarLenFields();
12795  }
12796 
12797  /// Access helper.
12798  struct EntriesAccess
12799  {
12800  Entries
12801  operator()(
12802  const IncrementalRefreshVolumeLongQty66& obj) const
12804  {
12805  return obj.
12806  groups().
12807  head<Entries>();
12808  }
12809  };
12810 
12811  /// Reset an instance of the repeating group.
12812  /// All the following data will be invalidated.
12813  void entriesNull()
12815  {
12816  resetGroup<Entries>(EntriesAccess(), *this);
12817  }
12818 };
12819 
12820 /// MDIncrementalRefreshSessionStatisticsLongQty.
12823 : SbeMessage
12824 {
12825  /// Used template schema.
12827 
12828  /// This type alias.
12830 
12831  /// Message template ID from SBE schema.
12832  enum { TemplateId = 67 };
12833 
12834  /// Available since version.
12835  enum { SinceVersion = 12 };
12836 
12837  /// Number of entries in Market Data message.
12838  /// Entry of Entry repeating group.
12841  <
12843  >
12844  {
12845  /// Base class type.
12846  typedef
12848  <
12850  >
12852 
12853  /// This type alias.
12854  typedef Entry ThisType;
12855 
12856  /// Initializes instance of given
12857  /// version over given memory block.
12859  void* data,
12860  EncodedLength length,
12861  SchemaVersion version)
12862  : Base(data, length, version)
12863  {
12864  assert(version >= Schema::MinimalVersion);
12865  assert(length >= minimalBlockLength(version));
12866  }
12867 
12868  /// Reset all variable-length fields if any.
12871  {
12872  return *this;
12873  }
12874 
12875  /// Reset all variable-length and optional fields if any.
12876  ThisType& reset()
12878  {
12879  entrySizeNull();
12880  openCloseSettlFlagNull();
12881 
12882  resetVariableFields();
12883  return *this;
12884  }
12885 
12886  /// Market Data entry price.
12888  PRICE9 entryPx() const
12890  {
12892 
12893  return decimal<PRICE9>(offset);
12894  }
12895 
12896  /// Market Data entry price.
12897  ThisType& setEntryPx(PRICE9 value)
12899  {
12901 
12902  setOrdinary(offset, value);
12903  return *this;
12904  }
12905 
12906  /// Indicative Opening Quantity.
12908  bool entrySize(UInt64& value) const
12910  {
12912 
12913  return ordinary(value, offset, NullUInt64());
12914  }
12915 
12916  /// Indicative Opening Quantity.
12917  ThisType& setEntrySize(UInt64 value)
12919  {
12921 
12922  setOrdinary(offset, value);
12923  return *this;
12924  }
12925 
12926  ThisType& entrySizeNull()
12928  {
12930 
12931  setOrdinary(offset, NullUInt64());
12932  return *this;
12933  }
12934 
12935  /// Security ID.
12939  {
12941 
12942  return ordinary<Int32>(offset);
12943  }
12944 
12945  /// Security ID.
12946  ThisType& setSecurityId(Int32 value)
12948  {
12950 
12951  setOrdinary(offset, value);
12952  return *this;
12953  }
12954 
12955  /// MD Entry sequence number per instrument update.
12957  UInt32 rptSeq() const
12959  {
12961 
12962  return ordinary<UInt32>(offset);
12963  }
12964 
12965  /// MD Entry sequence number per instrument update.
12966  ThisType& setRptSeq(UInt32 value)
12968  {
12970 
12971  setOrdinary(offset, value);
12972  return *this;
12973  }
12974 
12975  /// Flag that additionally describes market data entry type.
12977  bool
12979  OpenCloseSettlFlag::Enum& value) const
12981  {
12983 
12984  return enumeration<OpenCloseSettlFlag>(value, offset, NullUInt8());
12985  }
12986 
12987  /// Flag that additionally describes market data entry type.
12988  ThisType&
12992  {
12994 
12995  setEnumeration<OpenCloseSettlFlag>(offset, value);
12996  return *this;
12997  }
12998 
13001  {
13003 
13004  setOrdinary(offset, NullUInt8());
13005  return *this;
13006  }
13007 
13008  /// Market Data update action.
13012  {
13014 
13015  return enumeration<UpdateAction>(offset);
13016  }
13017 
13018  /// Market Data update action.
13021  {
13023 
13024  setEnumeration<UpdateAction>(offset, value);
13025  return *this;
13026  }
13027 
13028  /// Market Data entry type.
13031  entryType() const
13033  {
13035 
13036  return enumeration<EntryTypeStatistics>(offset);
13037  }
13038 
13039  /// Market Data entry type.
13040  ThisType&
13044  {
13046 
13047  setEnumeration<EntryTypeStatistics>(offset, value);
13048  return *this;
13049  }
13050 
13051  /// \return size of entry body in bytes
13052  /// for given version of message template.
13055  static
13056  BlockLength
13058  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13060  {
13061  return
13062  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
13063  32;
13064  }
13065 
13066  /// \return minimal size of entry body in bytes
13067  /// for given version of message template.
13070  static
13071  BlockLength
13073  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13075  {
13076  return
13077  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
13078  27;
13079  }
13080 
13081  /// Entity class name.
13085  static const Char* className()
13086  {
13087  return "IncrementalRefreshSessionStatisticsLongQty67.Entry";
13088  }
13089  };
13090 
13091  /// Repeating group containing Entry entries.
13092  typedef
13095 
13096  /// Initializes a blank instance.
13097  IncrementalRefreshSessionStatisticsLongQty67() ONIXS_CONFLATEDTCP_DEFAULT;
13098 
13099  /// Initializes an instance over the given memory block.
13101  void* data,
13102  EncodedLength length,
13103  SchemaVersion version = Schema::Version)
13104  : SbeMessage(data, length, version)
13105  {
13106  checkVersion<Schema>(SinceVersion, version);
13107  checkLength(length, version);
13108  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
13109  reset();
13110  }
13111 
13112  /// Initializes an instance over the given memory block
13113  /// With no variable-length fields initialization
13114  /// It is assumed that the user does such an initialization manually.
13116  void* data,
13117  EncodedLength length,
13118  NoFieldsInit,
13119  SchemaVersion version = Schema::Version)
13120  : SbeMessage(data, length, version)
13121  {
13122  checkVersion<Schema>(SinceVersion, version);
13123  checkLength(length, version);
13124  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
13125  resetVariableFields();
13126  }
13127 
13128  /// Creates an instance over the given memory block.
13130  void* data,
13131  EncodedLength length,
13132  NoInit)
13133  : SbeMessage(data, length)
13134  {
13135  assert(this->version() >= SinceVersion);
13136  checkCompatibility();
13137  }
13138 
13139  /// Creates an instance over the given SBE message.
13140  explicit
13142  const SbeMessage& message)
13143  : SbeMessage(message)
13144  {
13145  assert(message.valid());
13146  assert(this->version() >= SinceVersion);
13147 
13148  checkCompatibility();
13149  }
13150 
13151  /// Start of event processing time in number of nanoseconds
13152  /// since Unix epoch.
13156  {
13158 
13159  return ordinary<Timestamp>(offset);
13160  }
13161 
13162  /// Start of event processing time in number of nanoseconds
13163  /// since Unix epoch.
13164  ThisType& setTransactTime(Timestamp value)
13166  {
13168 
13169  setOrdinary(offset, value.sinceEpoch());
13170  return *this;
13171  }
13172 
13173  /// Bitmap field of eight Boolean type indicators reflecting
13174  /// the end of updates for a given Globex event.
13178  {
13180 
13181  return ordinary<MatchEventIndicator>(offset);
13182  }
13183 
13184  /// Bitmap field of eight Boolean type indicators reflecting
13185  /// the end of updates for a given Globex event.
13186  ThisType&
13188  MatchEventIndicator value)
13190  {
13192 
13193  setOrdinary(offset, value);
13194  return *this;
13195  }
13196 
13197  /// \return instance of Entries repeating group.
13201  {
13202  return getGroup<Entries>(EntriesAccess(), *this);
13203  }
13204 
13205  /// \return instance of Entries repeating group.
13209  {
13210  return getGroup<Entries>(EntriesAccess(), *this);
13211  }
13212 
13213  /// Setup repeating group with the given number of entries.
13214  /// Sets all optional fields of the group entries to null.
13215  /// \return NoMDEntries(268) repeating group.
13217  {
13218  return constructGroup<Entries>(
13219  EntriesAccess(),
13220  length,
13221  *this);
13222  }
13223 
13224  /// Setup repeating group with the given number of entries.
13225  /// \return NoMDEntries(268) repeating group.
13226  Entries
13228  Entries::Size length,
13229  NoFieldsInit)
13230  {
13231  return setupGroup<Entries>(
13232  EntriesAccess(),
13233  length,
13234  *this);
13235  }
13236 
13237  /// Minimal size of message body in bytes.
13240  static
13241  BlockLength
13243  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13245  {
13246  return
13247  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
13248  9;
13249  }
13250 
13251  /// Size of message body in bytes.
13254  static
13255  BlockLength
13257  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13259  {
13260  return
13261  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
13262  11;
13263  }
13264 
13265  /// Minimal variable fields size (when variable-length fields are empty).
13269  static
13270  MessageSize
13272  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13273  {
13274  return
13275  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
13276  static_cast<MessageSize>(Entries::EmptySize);
13277  }
13278 
13279  /// Reset all variable-length fields if any.
13282  {
13283  entriesNull();
13284  return *this;
13285  }
13286 
13287  /// Reset all variable-length and optional fields if any.
13288  ThisType& reset()
13290  {
13291  resetVariableFields();
13292  return *this;
13293  }
13294 
13295  /// \return class name.
13299  static const Char* className()
13300  {
13301  return "IncrementalRefreshSessionStatisticsLongQty67";
13302  }
13303 
13304  /// FIX message type.
13308  static StrRef fixType()
13310  {
13311  return constructStrRef("X");
13312  }
13313 
13314  /// \return the end of the message.
13316  const void* tail() const
13318  {
13319  return
13320  entries().tail();
13321  }
13322 
13323  /// \return the size occupied by the message.
13327  {
13328  return
13329  SbeMessage::calculateBinarySize(tail());
13330  }
13331 
13332 private:
13333  void checkLength(
13334  EncodedLength length, SchemaVersion version) const
13335  {
13336  const EncodedLength minimalRequiredLength =
13337  minimalBlockLength(version) +
13338  MessageHeader::Size +
13339  getMinimalVariableFieldsSize(version);
13340 
13341  checkBinaryLength(
13342  *this, length, minimalRequiredLength);
13343  }
13344 
13345  /// Checks variable fields consistency.
13346  void checkVarLenFields() const
13347  {
13348  groups().
13349  checkTail<Entries>();
13350  }
13351 
13352  void checkCompatibility() const
13353  {
13354  assert(TemplateId == templateId());
13355 
13356  checkSchema<Schema>(schemaId(), version());
13357  checkLength(bufferSize(), version());
13358  checkVarLenFields();
13359  }
13360 
13361  /// Access helper.
13362  struct EntriesAccess
13363  {
13364  Entries
13365  operator()(
13368  {
13369  return obj.
13370  groups().
13371  head<Entries>();
13372  }
13373  };
13374 
13375  /// Reset an instance of the repeating group.
13376  /// All the following data will be invalidated.
13377  void entriesNull()
13379  {
13380  resetGroup<Entries>(EntriesAccess(), *this);
13381  }
13382 };
13383 
13384 /// SnapshotFullRefreshTCPLongQty.
13387 : SbeMessage
13388 {
13389  /// Used template schema.
13391 
13392  /// This type alias.
13394 
13395  /// Message template ID from SBE schema.
13396  enum { TemplateId = 68 };
13397 
13398  /// Available since version.
13399  enum { SinceVersion = 12 };
13400 
13401  /// Number of entries in Market Data message.
13402  /// Entry of Entry repeating group.
13405  <
13407  >
13408  {
13409  /// Base class type.
13410  typedef
13412  <
13414  >
13416 
13417  /// This type alias.
13418  typedef Entry ThisType;
13419 
13420  /// Initializes instance of given
13421  /// version over given memory block.
13423  void* data,
13424  EncodedLength length,
13425  SchemaVersion version)
13426  : Base(data, length, version)
13427  {
13428  assert(version >= Schema::MinimalVersion);
13429  assert(length >= minimalBlockLength(version));
13430  }
13431 
13432  /// Reset all variable-length fields if any.
13435  {
13436  return *this;
13437  }
13438 
13439  /// Reset all variable-length and optional fields if any.
13440  ThisType& reset()
13442  {
13443  entryPxNull();
13444  entrySizeNull();
13445  numberOfOrdersNull();
13446  priceLevelNull();
13447  openCloseSettlFlagNull();
13448 
13449  resetVariableFields();
13450  return *this;
13451  }
13452 
13453  /// Market Data entry price.
13455  bool entryPx(PRICE9& value) const
13457  {
13459 
13460  return decimal(value, offset, NullPRICE9());
13461  }
13462 
13463  /// Market Data entry price.
13464  ThisType& setEntryPx(PRICE9 value)
13466  {
13468 
13469  setOrdinary(offset, value);
13470  return *this;
13471  }
13472 
13473  ThisType& entryPxNull()
13475  {
13477 
13478  setOrdinary(offset, NullPRICE9());
13479  return *this;
13480  }
13481 
13482  /// Market Data entry size.
13484  bool entrySize(UInt64& value) const
13486  {
13488 
13489  return ordinary(value, offset, NullUInt64());
13490  }
13491 
13492  /// Market Data entry size.
13493  ThisType& setEntrySize(UInt64 value)
13495  {
13497 
13498  setOrdinary(offset, value);
13499  return *this;
13500  }
13501 
13502  ThisType& entrySizeNull()
13504  {
13506 
13507  setOrdinary(offset, NullUInt64());
13508  return *this;
13509  }
13510 
13511  /// In Book entry - aggregate number of orders at given price
13512  /// level. In Trade entry - number of real orders per
13513  /// instrument that participated in a match step within a
13514  /// match event.
13516  bool numberOfOrders(Int32& value) const
13518  {
13520 
13521  return ordinary(value, offset, NullInt32());
13522  }
13523 
13524  /// In Book entry - aggregate number of orders at given price
13525  /// level. In Trade entry - number of real orders per
13526  /// instrument that participated in a match step within a
13527  /// match event.
13528  ThisType& setNumberOfOrders(Int32 value)
13530  {
13532 
13533  setOrdinary(offset, value);
13534  return *this;
13535  }
13536 
13539  {
13541 
13542  setOrdinary(offset, NullInt32());
13543  return *this;
13544  }
13545 
13546  /// Aggregate book level.
13548  bool priceLevel(UInt8& value) const
13550  {
13552 
13553  return ordinary(value, offset, NullUInt8());
13554  }
13555 
13556  /// Aggregate book level.
13557  ThisType& setPriceLevel(UInt8 value)
13559  {
13561 
13562  setOrdinary(offset, value);
13563  return *this;
13564  }
13565 
13566  ThisType& priceLevelNull()
13568  {
13570 
13571  setOrdinary(offset, NullUInt8());
13572  return *this;
13573  }
13574 
13575  /// Flag that additionally describes market data entry type.
13577  bool
13579  OpenCloseSettlFlag::Enum& value) const
13581  {
13583 
13584  return enumeration<OpenCloseSettlFlag>(value, offset, NullUInt8());
13585  }
13586 
13587  /// Flag that additionally describes market data entry type.
13588  ThisType&
13592  {
13594 
13595  setEnumeration<OpenCloseSettlFlag>(offset, value);
13596  return *this;
13597  }
13598 
13601  {
13603 
13604  setOrdinary(offset, NullUInt8());
13605  return *this;
13606  }
13607 
13608  /// Market Data entry type.
13612  {
13614 
13615  return enumeration<EntryType>(offset);
13616  }
13617 
13618  /// Market Data entry type.
13621  {
13623 
13624  setEnumeration<EntryType>(offset, value);
13625  return *this;
13626  }
13627 
13628  /// \return size of entry body in bytes
13629  /// for given version of message template.
13634  {
13635  return
13636  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
13637  minimalBlockLength(version);
13638  }
13639 
13640  /// \return minimal size of entry body in bytes
13641  /// for given version of message template.
13644  static
13645  BlockLength
13647  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13649  {
13650  return
13651  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
13652  23;
13653  }
13654 
13655  /// Entity class name.
13659  static const Char* className()
13660  {
13661  return "SnapshotFullRefreshTCPLongQty68.Entry";
13662  }
13663  };
13664 
13665  /// Repeating group containing Entry entries.
13666  typedef
13669 
13670  /// Initializes a blank instance.
13671  SnapshotFullRefreshTCPLongQty68() ONIXS_CONFLATEDTCP_DEFAULT;
13672 
13673  /// Initializes an instance over the given memory block.
13675  void* data,
13676  EncodedLength length,
13677  SchemaVersion version = Schema::Version)
13678  : SbeMessage(data, length, version)
13679  {
13680  checkVersion<Schema>(SinceVersion, version);
13681  checkLength(length, version);
13682  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
13683  reset();
13684  }
13685 
13686  /// Initializes an instance over the given memory block
13687  /// With no variable-length fields initialization
13688  /// It is assumed that the user does such an initialization manually.
13690  void* data,
13691  EncodedLength length,
13692  NoFieldsInit,
13693  SchemaVersion version = Schema::Version)
13694  : SbeMessage(data, length, version)
13695  {
13696  checkVersion<Schema>(SinceVersion, version);
13697  checkLength(length, version);
13698  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
13699  resetVariableFields();
13700  }
13701 
13702  /// Creates an instance over the given memory block.
13704  void* data,
13705  EncodedLength length,
13706  NoInit)
13707  : SbeMessage(data, length)
13708  {
13709  assert(this->version() >= SinceVersion);
13710  checkCompatibility();
13711  }
13712 
13713  /// Creates an instance over the given SBE message.
13714  explicit
13716  const SbeMessage& message)
13717  : SbeMessage(message)
13718  {
13719  assert(message.valid());
13720  assert(this->version() >= SinceVersion);
13721 
13722  checkCompatibility();
13723  }
13724 
13725  /// Start of event processing time in number of nanoseconds
13726  /// since Unix epoch.
13730  {
13732 
13733  return ordinary<Timestamp>(offset);
13734  }
13735 
13736  /// Start of event processing time in number of nanoseconds
13737  /// since Unix epoch.
13738  ThisType& setTransactTime(Timestamp value)
13740  {
13742 
13743  setOrdinary(offset, value.sinceEpoch());
13744  return *this;
13745  }
13746 
13747  /// Bitmap field of eight Boolean type indicators reflecting
13748  /// the end of updates for a given Globex event. Set to last
13749  /// on the last Snapshot message sent in reply to customer
13750  /// request for snapshot.
13754  {
13756 
13757  return ordinary<MatchEventIndicator>(offset);
13758  }
13759 
13760  /// Bitmap field of eight Boolean type indicators reflecting
13761  /// the end of updates for a given Globex event. Set to last
13762  /// on the last Snapshot message sent in reply to customer
13763  /// request for snapshot.
13764  ThisType&
13766  MatchEventIndicator value)
13768  {
13770 
13771  setOrdinary(offset, value);
13772  return *this;
13773  }
13774 
13775  /// Security ID.
13779  {
13781 
13782  return ordinary<Int32>(offset);
13783  }
13784 
13785  /// Security ID.
13786  ThisType& setSecurityId(Int32 value)
13788  {
13790 
13791  setOrdinary(offset, value);
13792  return *this;
13793  }
13794 
13795  /// Upper price threshold for the instrument. Orders submitted
13796  /// with prices above the upper limit will be rejected.
13798  bool highLimitPrice(PRICE9& value) const
13800  {
13802 
13803  return decimal(value, offset, NullPRICE9());
13804  }
13805 
13806  /// Upper price threshold for the instrument. Orders submitted
13807  /// with prices above the upper limit will be rejected.
13808  ThisType& setHighLimitPrice(PRICE9 value)
13810  {
13812 
13813  setOrdinary(offset, value);
13814  return *this;
13815  }
13816 
13819  {
13821 
13822  setOrdinary(offset, NullPRICE9());
13823  return *this;
13824  }
13825 
13826  /// Lower price threshold for the instrument. Orders submitted
13827  /// with prices below the lower limit will be rejected.
13829  bool lowLimitPrice(PRICE9& value) const
13831  {
13833 
13834  return decimal(value, offset, NullPRICE9());
13835  }
13836 
13837  /// Lower price threshold for the instrument. Orders submitted
13838  /// with prices below the lower limit will be rejected.
13839  ThisType& setLowLimitPrice(PRICE9 value)
13841  {
13843 
13844  setOrdinary(offset, value);
13845  return *this;
13846  }
13847 
13848  ThisType& lowLimitPriceNull()
13850  {
13852 
13853  setOrdinary(offset, NullPRICE9());
13854  return *this;
13855  }
13856 
13857  /// Differential static value for price banding.
13859  bool maxPriceVariation(PRICE9& value) const
13861  {
13863 
13864  return decimal(value, offset, NullPRICE9());
13865  }
13866 
13867  /// Differential static value for price banding.
13868  ThisType& setMaxPriceVariation(PRICE9 value)
13870  {
13872 
13873  setOrdinary(offset, value);
13874  return *this;
13875  }
13876 
13879  {
13881 
13882  setOrdinary(offset, NullPRICE9());
13883  return *this;
13884  }
13885 
13886  /// \return instance of Entries repeating group.
13890  {
13891  return getGroup<Entries>(EntriesAccess(), *this);
13892  }
13893 
13894  /// \return instance of Entries repeating group.
13898  {
13899  return getGroup<Entries>(EntriesAccess(), *this);
13900  }
13901 
13902  /// Setup repeating group with the given number of entries.
13903  /// Sets all optional fields of the group entries to null.
13904  /// \return NoMDEntries(268) repeating group.
13906  {
13907  return constructGroup<Entries>(
13908  EntriesAccess(),
13909  length,
13910  *this);
13911  }
13912 
13913  /// Setup repeating group with the given number of entries.
13914  /// \return NoMDEntries(268) repeating group.
13915  Entries
13917  Entries::Size length,
13918  NoFieldsInit)
13919  {
13920  return setupGroup<Entries>(
13921  EntriesAccess(),
13922  length,
13923  *this);
13924  }
13925 
13926  /// Minimal size of message body in bytes.
13929  static
13930  BlockLength
13932  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13934  {
13935  return
13936  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
13937  37;
13938  }
13939 
13940  /// Size of message body in bytes.
13945  {
13946  return
13947  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
13948  minimalBlockLength(version);
13949  }
13950 
13951  /// Minimal variable fields size (when variable-length fields are empty).
13955  static
13956  MessageSize
13958  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
13959  {
13960  return
13961  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
13962  static_cast<MessageSize>(Entries::EmptySize);
13963  }
13964 
13965  /// Reset all variable-length fields if any.
13968  {
13969  entriesNull();
13970  return *this;
13971  }
13972 
13973  /// Reset all variable-length and optional fields if any.
13974  ThisType& reset()
13976  {
13977  highLimitPriceNull();
13978  lowLimitPriceNull();
13979  maxPriceVariationNull();
13980 
13981  resetVariableFields();
13982  return *this;
13983  }
13984 
13985  /// \return class name.
13989  static const Char* className()
13990  {
13991  return "SnapshotFullRefreshTCPLongQty68";
13992  }
13993 
13994  /// FIX message type.
13998  static StrRef fixType()
14000  {
14001  return constructStrRef("W");
14002  }
14003 
14004  /// \return the end of the message.
14006  const void* tail() const
14008  {
14009  return
14010  entries().tail();
14011  }
14012 
14013  /// \return the size occupied by the message.
14017  {
14018  return
14019  SbeMessage::calculateBinarySize(tail());
14020  }
14021 
14022 private:
14023  void checkLength(
14024  EncodedLength length, SchemaVersion version) const
14025  {
14026  const EncodedLength minimalRequiredLength =
14027  minimalBlockLength(version) +
14028  MessageHeader::Size +
14029  getMinimalVariableFieldsSize(version);
14030 
14031  checkBinaryLength(
14032  *this, length, minimalRequiredLength);
14033  }
14034 
14035  /// Checks variable fields consistency.
14036  void checkVarLenFields() const
14037  {
14038  groups().
14039  checkTail<Entries>();
14040  }
14041 
14042  void checkCompatibility() const
14043  {
14044  assert(TemplateId == templateId());
14045 
14046  checkSchema<Schema>(schemaId(), version());
14047  checkLength(bufferSize(), version());
14048  checkVarLenFields();
14049  }
14050 
14051  /// Access helper.
14052  struct EntriesAccess
14053  {
14054  Entries
14055  operator()(
14056  const SnapshotFullRefreshTCPLongQty68& obj) const
14058  {
14059  return obj.
14060  groups().
14061  head<Entries>();
14062  }
14063  };
14064 
14065  /// Reset an instance of the repeating group.
14066  /// All the following data will be invalidated.
14067  void entriesNull()
14069  {
14070  resetGroup<Entries>(EntriesAccess(), *this);
14071  }
14072 };
14073 
14074 /// SnapshotFullRefreshLongQty.
14077 : SbeMessage
14078 {
14079  /// Used template schema.
14081 
14082  /// This type alias.
14084 
14085  /// Message template ID from SBE schema.
14086  enum { TemplateId = 69 };
14087 
14088  /// Available since version.
14089  enum { SinceVersion = 12 };
14090 
14091  /// Number of entries in Market Data message.
14092  /// Entry of Entry repeating group.
14095  <
14097  >
14098  {
14099  /// Base class type.
14100  typedef
14102  <
14104  >
14106 
14107  /// This type alias.
14108  typedef Entry ThisType;
14109 
14110  /// Initializes instance of given
14111  /// version over given memory block.
14113  void* data,
14114  EncodedLength length,
14115  SchemaVersion version)
14116  : Base(data, length, version)
14117  {
14118  assert(version >= Schema::MinimalVersion);
14119  assert(length >= minimalBlockLength(version));
14120  }
14121 
14122  /// Reset all variable-length fields if any.
14125  {
14126  return *this;
14127  }
14128 
14129  /// Reset all variable-length and optional fields if any.
14130  ThisType& reset()
14132  {
14133  entryPxNull();
14134  entrySizeNull();
14135  numberOfOrdersNull();
14136  priceLevelNull();
14137  openCloseSettlFlagNull();
14138 
14139  resetVariableFields();
14140  return *this;
14141  }
14142 
14143  /// Market Data entry price.
14145  bool entryPx(PRICE9& value) const
14147  {
14149 
14150  return decimal(value, offset, NullPRICE9());
14151  }
14152 
14153  /// Market Data entry price.
14154  ThisType& setEntryPx(PRICE9 value)
14156  {
14158 
14159  setOrdinary(offset, value);
14160  return *this;
14161  }
14162 
14163  ThisType& entryPxNull()
14165  {
14167 
14168  setOrdinary(offset, NullPRICE9());
14169  return *this;
14170  }
14171 
14172  /// Market Data entry size.
14174  bool entrySize(UInt64& value) const
14176  {
14178 
14179  return ordinary(value, offset, NullUInt64());
14180  }
14181 
14182  /// Market Data entry size.
14183  ThisType& setEntrySize(UInt64 value)
14185  {
14187 
14188  setOrdinary(offset, value);
14189  return *this;
14190  }
14191 
14192  ThisType& entrySizeNull()
14194  {
14196 
14197  setOrdinary(offset, NullUInt64());
14198  return *this;
14199  }
14200 
14201  /// In Book Entry - Aggregate number of orders at given price
14202  /// level. In Trade Entry - a total number of real orders per
14203  /// instrument that participated in a match step within a
14204  /// match event.
14206  bool numberOfOrders(Int32& value) const
14208  {
14210 
14211  return ordinary(value, offset, NullInt32());
14212  }
14213 
14214  /// In Book Entry - Aggregate number of orders at given price
14215  /// level. In Trade Entry - a total number of real orders per
14216  /// instrument that participated in a match step within a
14217  /// match event.
14218  ThisType& setNumberOfOrders(Int32 value)
14220  {
14222 
14223  setOrdinary(offset, value);
14224  return *this;
14225  }
14226 
14229  {
14231 
14232  setOrdinary(offset, NullInt32());
14233  return *this;
14234  }
14235 
14236  /// Aggregate book level.
14238  bool priceLevel(UInt8& value) const
14240  {
14242 
14243  return ordinary(value, offset, NullUInt8());
14244  }
14245 
14246  /// Aggregate book level.
14247  ThisType& setPriceLevel(UInt8 value)
14249  {
14251 
14252  setOrdinary(offset, value);
14253  return *this;
14254  }
14255 
14256  ThisType& priceLevelNull()
14258  {
14260 
14261  setOrdinary(offset, NullUInt8());
14262  return *this;
14263  }
14264 
14265  /// Flag that additionally describes a market data entry.
14267  bool
14269  OpenCloseSettlFlag::Enum& value) const
14271  {
14273 
14274  return enumeration<OpenCloseSettlFlag>(value, offset, NullUInt8());
14275  }
14276 
14277  /// Flag that additionally describes a market data entry.
14278  ThisType&
14282  {
14284 
14285  setEnumeration<OpenCloseSettlFlag>(offset, value);
14286  return *this;
14287  }
14288 
14291  {
14293 
14294  setOrdinary(offset, NullUInt8());
14295  return *this;
14296  }
14297 
14298  /// Market Data entry type.
14302  {
14304 
14305  return enumeration<EntryType>(offset);
14306  }
14307 
14308  /// Market Data entry type.
14311  {
14313 
14314  setEnumeration<EntryType>(offset, value);
14315  return *this;
14316  }
14317 
14318  /// \return size of entry body in bytes
14319  /// for given version of message template.
14324  {
14325  return
14326  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
14327  minimalBlockLength(version);
14328  }
14329 
14330  /// \return minimal size of entry body in bytes
14331  /// for given version of message template.
14334  static
14335  BlockLength
14337  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
14339  {
14340  return
14341  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
14342  23;
14343  }
14344 
14345  /// Entity class name.
14349  static const Char* className()
14350  {
14351  return "SnapshotFullRefreshLongQty69.Entry";
14352  }
14353  };
14354 
14355  /// Repeating group containing Entry entries.
14356  typedef
14359 
14360  /// Initializes a blank instance.
14361  SnapshotFullRefreshLongQty69() ONIXS_CONFLATEDTCP_DEFAULT;
14362 
14363  /// Initializes an instance over the given memory block.
14365  void* data,
14366  EncodedLength length,
14367  SchemaVersion version = Schema::Version)
14368  : SbeMessage(data, length, version)
14369  {
14370  checkVersion<Schema>(SinceVersion, version);
14371  checkLength(length, version);
14372  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
14373  reset();
14374  }
14375 
14376  /// Initializes an instance over the given memory block
14377  /// With no variable-length fields initialization
14378  /// It is assumed that the user does such an initialization manually.
14380  void* data,
14381  EncodedLength length,
14382  NoFieldsInit,
14383  SchemaVersion version = Schema::Version)
14384  : SbeMessage(data, length, version)
14385  {
14386  checkVersion<Schema>(SinceVersion, version);
14387  checkLength(length, version);
14388  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
14389  resetVariableFields();
14390  }
14391 
14392  /// Creates an instance over the given memory block.
14394  void* data,
14395  EncodedLength length,
14396  NoInit)
14397  : SbeMessage(data, length)
14398  {
14399  assert(this->version() >= SinceVersion);
14400  checkCompatibility();
14401  }
14402 
14403  /// Creates an instance over the given SBE message.
14404  explicit
14406  const SbeMessage& message)
14407  : SbeMessage(message)
14408  {
14409  assert(message.valid());
14410  assert(this->version() >= SinceVersion);
14411 
14412  checkCompatibility();
14413  }
14414 
14415  /// Sequence number of the last Incremental feed packet
14416  /// processed. This value is used to synchronize the snapshot
14417  /// loop with the real-time feed.
14421  {
14423 
14424  return ordinary<UInt32>(offset);
14425  }
14426 
14427  /// Sequence number of the last Incremental feed packet
14428  /// processed. This value is used to synchronize the snapshot
14429  /// loop with the real-time feed.
14432  {
14434 
14435  setOrdinary(offset, value);
14436  return *this;
14437  }
14438 
14439  /// Total number of instruments in the Replay loop. Used on
14440  /// Replay Feed only.
14444  {
14446 
14447  return ordinary<UInt32>(offset);
14448  }
14449 
14450  /// Total number of instruments in the Replay loop. Used on
14451  /// Replay Feed only.
14452  ThisType& setTotNumReports(UInt32 value)
14454  {
14456 
14457  setOrdinary(offset, value);
14458  return *this;
14459  }
14460 
14461  /// Unique instrument ID.
14465  {
14467 
14468  return ordinary<Int32>(offset);
14469  }
14470 
14471  /// Unique instrument ID.
14472  ThisType& setSecurityId(Int32 value)
14474  {
14476 
14477  setOrdinary(offset, value);
14478  return *this;
14479  }
14480 
14481  /// MD Entry sequence number per instrument update. Reset
14482  /// weekly.
14484  UInt32 rptSeq() const
14486  {
14488 
14489  return ordinary<UInt32>(offset);
14490  }
14491 
14492  /// MD Entry sequence number per instrument update. Reset
14493  /// weekly.
14494  ThisType& setRptSeq(UInt32 value)
14496  {
14498 
14499  setOrdinary(offset, value);
14500  return *this;
14501  }
14502 
14503  /// Timestamp of the last event security participated in, sent
14504  /// as number of nanoseconds since Unix epoch.
14508  {
14510 
14511  return ordinary<Timestamp>(offset);
14512  }
14513 
14514  /// Timestamp of the last event security participated in, sent
14515  /// as number of nanoseconds since Unix epoch.
14516  ThisType& setTransactTime(Timestamp value)
14518  {
14520 
14521  setOrdinary(offset, value.sinceEpoch());
14522  return *this;
14523  }
14524 
14525  /// UTC Date and time of last Security Definition add, update
14526  /// or delete on a given Market Data channel.
14530  {
14532 
14533  return ordinary<Timestamp>(offset);
14534  }
14535 
14536  /// UTC Date and time of last Security Definition add, update
14537  /// or delete on a given Market Data channel.
14538  ThisType& setLastUpdateTime(Timestamp value)
14540  {
14542 
14543  setOrdinary(offset, value.sinceEpoch());
14544  return *this;
14545  }
14546 
14547  /// Trade session date sent as number of days since Unix epoch.
14549  bool tradeDate(Timestamp& value) const
14551  {
14552  typedef LocalMktDate FieldValue;
14553 
14555 
14556  FieldValue fieldValue;
14557 
14558  if (ordinary(fieldValue, offset, NullLocalMktDate()))
14559  {
14560  value = localMktDateToTimestamp(fieldValue);
14561  return true;
14562  }
14563  return false;
14564  }
14565 
14566  /// Trade session date sent as number of days since Unix epoch.
14567  ThisType& setTradeDate(Timestamp value)
14569  {
14571 
14572  setOrdinary(offset, timestampToLocalMktDate(value));
14573  return *this;
14574  }
14575 
14576  ThisType& tradeDateNull()
14578  {
14580 
14581  setOrdinary(offset, NullLocalMktDate());
14582  return *this;
14583  }
14584 
14585  /// Identifies the current trading state of the instrument.
14587  bool
14589  SecurityTradingStatus::Enum& value) const
14591  {
14593 
14594  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
14595  }
14596 
14597  /// Identifies the current trading state of the instrument.
14598  ThisType&
14602  {
14604 
14605  setEnumeration<SecurityTradingStatus>(offset, value);
14606  return *this;
14607  }
14608 
14611  {
14613 
14614  setOrdinary(offset, NullUInt8());
14615  return *this;
14616  }
14617 
14618  /// Upper price threshold for the instrument. Orders submitted
14619  /// with prices above the upper limit will be rejected.
14621  bool highLimitPrice(PRICE9& value) const
14623  {
14625 
14626  return decimal(value, offset, NullPRICE9());
14627  }
14628 
14629  /// Upper price threshold for the instrument. Orders submitted
14630  /// with prices above the upper limit will be rejected.
14631  ThisType& setHighLimitPrice(PRICE9 value)
14633  {
14635 
14636  setOrdinary(offset, value);
14637  return *this;
14638  }
14639 
14642  {
14644 
14645  setOrdinary(offset, NullPRICE9());
14646  return *this;
14647  }
14648 
14649  /// Lower price threshold for the instrument. Orders submitted
14650  /// with prices below the lower limit will be rejected.
14652  bool lowLimitPrice(PRICE9& value) const
14654  {
14656 
14657  return decimal(value, offset, NullPRICE9());
14658  }
14659 
14660  /// Lower price threshold for the instrument. Orders submitted
14661  /// with prices below the lower limit will be rejected.
14662  ThisType& setLowLimitPrice(PRICE9 value)
14664  {
14666 
14667  setOrdinary(offset, value);
14668  return *this;
14669  }
14670 
14671  ThisType& lowLimitPriceNull()
14673  {
14675 
14676  setOrdinary(offset, NullPRICE9());
14677  return *this;
14678  }
14679 
14680  /// Differential value for price banding.
14682  bool maxPriceVariation(PRICE9& value) const
14684  {
14686 
14687  return decimal(value, offset, NullPRICE9());
14688  }
14689 
14690  /// Differential value for price banding.
14691  ThisType& setMaxPriceVariation(PRICE9 value)
14693  {
14695 
14696  setOrdinary(offset, value);
14697  return *this;
14698  }
14699 
14702  {
14704 
14705  setOrdinary(offset, NullPRICE9());
14706  return *this;
14707  }
14708 
14709  /// \return instance of Entries repeating group.
14713  {
14714  return getGroup<Entries>(EntriesAccess(), *this);
14715  }
14716 
14717  /// \return instance of Entries repeating group.
14721  {
14722  return getGroup<Entries>(EntriesAccess(), *this);
14723  }
14724 
14725  /// Setup repeating group with the given number of entries.
14726  /// Sets all optional fields of the group entries to null.
14727  /// \return NoMDEntries(268) repeating group.
14729  {
14730  return constructGroup<Entries>(
14731  EntriesAccess(),
14732  length,
14733  *this);
14734  }
14735 
14736  /// Setup repeating group with the given number of entries.
14737  /// \return NoMDEntries(268) repeating group.
14738  Entries
14740  Entries::Size length,
14741  NoFieldsInit)
14742  {
14743  return setupGroup<Entries>(
14744  EntriesAccess(),
14745  length,
14746  *this);
14747  }
14748 
14749  /// Minimal size of message body in bytes.
14752  static
14753  BlockLength
14755  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
14757  {
14758  return
14759  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
14760  59;
14761  }
14762 
14763  /// Size of message body in bytes.
14768  {
14769  return
14770  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
14771  minimalBlockLength(version);
14772  }
14773 
14774  /// Minimal variable fields size (when variable-length fields are empty).
14778  static
14779  MessageSize
14781  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
14782  {
14783  return
14784  ONIXS_CONFLATEDTCP_ASSERT(version >= SinceVersion),
14785  static_cast<MessageSize>(Entries::EmptySize);
14786  }
14787 
14788  /// Reset all variable-length fields if any.
14791  {
14792  entriesNull();
14793  return *this;
14794  }
14795 
14796  /// Reset all variable-length and optional fields if any.
14797  ThisType& reset()
14799  {
14800  tradeDateNull();
14801  securityTradingStatusNull();
14802  highLimitPriceNull();
14803  lowLimitPriceNull();
14804  maxPriceVariationNull();
14805 
14806  resetVariableFields();
14807  return *this;
14808  }
14809 
14810  /// \return class name.
14814  static const Char* className()
14815  {
14816  return "SnapshotFullRefreshLongQty69";
14817  }
14818 
14819  /// FIX message type.
14823  static StrRef fixType()
14825  {
14826  return constructStrRef("W");
14827  }
14828 
14829  /// \return the end of the message.
14831  const void* tail() const
14833  {
14834  return
14835  entries().tail();
14836  }
14837 
14838  /// \return the size occupied by the message.
14842  {
14843  return
14844  SbeMessage::calculateBinarySize(tail());
14845  }
14846 
14847 private:
14848  void checkLength(
14849  EncodedLength length, SchemaVersion version) const
14850  {
14851  const EncodedLength minimalRequiredLength =
14852  minimalBlockLength(version) +
14853  MessageHeader::Size +
14854  getMinimalVariableFieldsSize(version);
14855 
14856  checkBinaryLength(
14857  *this, length, minimalRequiredLength);
14858  }
14859 
14860  /// Checks variable fields consistency.
14861  void checkVarLenFields() const
14862  {
14863  groups().
14864  checkTail<Entries>();
14865  }
14866 
14867  void checkCompatibility() const
14868  {
14869  assert(TemplateId == templateId());
14870 
14871  checkSchema<Schema>(schemaId(), version());
14872  checkLength(bufferSize(), version());
14873  checkVarLenFields();
14874  }
14875 
14876  /// Access helper.
14877  struct EntriesAccess
14878  {
14879  Entries
14880  operator()(
14881  const SnapshotFullRefreshLongQty69& obj) const
14883  {
14884  return obj.
14885  groups().
14886  head<Entries>();
14887  }
14888  };
14889 
14890  /// Reset an instance of the repeating group.
14891  /// All the following data will be invalidated.
14892  void entriesNull()
14894  {
14895  resetGroup<Entries>(EntriesAccess(), *this);
14896  }
14897 };
14898 
14899 /// AdminHeartbeat.
14902 : SbeMessage
14903 {
14904  /// Used template schema.
14906 
14907  /// This type alias.
14909 
14910  /// Message template ID from SBE schema.
14911  enum { TemplateId = 302 };
14912 
14913  /// Initializes a blank instance.
14914  AdminHeartbeat302() ONIXS_CONFLATEDTCP_DEFAULT;
14915 
14916  /// Initializes an instance over the given memory block.
14918  void* data,
14919  EncodedLength length,
14920  SchemaVersion version = Schema::Version)
14921  : SbeMessage(data, length, version)
14922  {
14923  checkVersion<Schema>(version);
14924  checkLength(length, version);
14925  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
14926  reset();
14927  }
14928 
14929  /// Initializes an instance over the given memory block
14930  /// With no variable-length fields initialization
14931  /// It is assumed that the user does such an initialization manually.
14933  void* data,
14934  EncodedLength length,
14935  NoFieldsInit,
14936  SchemaVersion version = Schema::Version)
14937  : SbeMessage(data, length, version)
14938  {
14939  checkVersion<Schema>(version);
14940  checkLength(length, version);
14941  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
14942  resetVariableFields();
14943  }
14944 
14945  /// Creates an instance over the given memory block.
14947  void* data,
14948  EncodedLength length,
14949  NoInit)
14950  : SbeMessage(data, length)
14951  {
14952  checkCompatibility();
14953  }
14954 
14955  /// Creates an instance over the given SBE message.
14956  explicit
14958  const SbeMessage& message)
14959  : SbeMessage(message)
14960  {
14961  assert(message.valid());
14962 
14963  checkCompatibility();
14964  }
14965 
14966  /// Minimal size of message body in bytes.
14969  static
14970  BlockLength
14972  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
14974  {
14975  return
14976  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
14977  0;
14978  }
14979 
14980  /// Size of message body in bytes.
14985  {
14986  return
14987  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
14988  minimalBlockLength(version);
14989  }
14990 
14991  /// Minimal variable fields size (when variable-length fields are empty).
14995  static
14996  MessageSize
14998  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
14999  {
15000  return
15001  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
15002  0;
15003  }
15004 
15005  /// Reset all variable-length fields if any.
15008  {
15009  return *this;
15010  }
15011 
15012  /// Reset all variable-length and optional fields if any.
15013  ThisType& reset()
15015  {
15016  resetVariableFields();
15017  return *this;
15018  }
15019 
15020  /// \return class name.
15024  static const Char* className()
15025  {
15026  return "AdminHeartbeat302";
15027  }
15028 
15029  /// FIX message type.
15033  static StrRef fixType()
15035  {
15036  return constructStrRef("0");
15037  }
15038 
15039  /// \return the end of the message.
15041  const void* tail() const
15043  {
15044  return
15045  toOpaquePtr(
15046  advanceByBytes(
15047  binary(),
15048  static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
15049  MessageHeader::Size));
15050  }
15051 
15052  /// \return the size occupied by the message.
15056  {
15057  return
15058  SbeMessage::calculateBinarySize(tail());
15059  }
15060 
15061 private:
15062  void checkLength(
15063  EncodedLength length, SchemaVersion version) const
15064  {
15065  const EncodedLength minimalRequiredLength =
15066  minimalBlockLength(version) +
15067  MessageHeader::Size +
15068  getMinimalVariableFieldsSize(version);
15069 
15070  checkBinaryLength(
15071  *this, length, minimalRequiredLength);
15072  }
15073 
15074  void checkCompatibility() const
15075  {
15076  assert(TemplateId == templateId());
15077 
15078  checkSchema<Schema>(schemaId(), version());
15079  checkLength(bufferSize(), version());
15080  }
15081 };
15082 
15083 /// MDIncrementalRefreshSpectrum.
15086 : SbeMessage
15087 {
15088  /// Used template schema.
15090 
15091  /// This type alias.
15093 
15094  /// Message template ID from SBE schema.
15095  enum { TemplateId = 303 };
15096 
15097  /// Number of entries in Market Data message.
15098  /// Entry of Entry repeating group.
15101  <
15103  >
15104  {
15105  /// Base class type.
15106  typedef
15108  <
15110  >
15112 
15113  /// This type alias.
15114  typedef Entry ThisType;
15115 
15116  /// Initializes instance of given
15117  /// version over given memory block.
15119  void* data,
15120  EncodedLength length,
15121  SchemaVersion version)
15122  : Base(data, length, version)
15123  {
15124  assert(version >= Schema::MinimalVersion);
15125  assert(length >= minimalBlockLength(version));
15126  }
15127 
15128  /// Reset all variable-length fields if any.
15131  {
15132  return *this;
15133  }
15134 
15135  /// Reset all variable-length and optional fields if any.
15136  ThisType& reset()
15138  {
15139  entryPxNull();
15140  entrySizeNull();
15141 
15142  resetVariableFields();
15143  return *this;
15144  }
15145 
15146  /// Market Data update action.
15151  {
15152  return UpdateActionNew();
15153  }
15154 
15155  /// Market Data entry type, identifies the element.
15159  {
15161 
15162  return enumeration<SpectrumEntryType>(offset);
15163  }
15164 
15165  /// Market Data entry type, identifies the element.
15166  ThisType&
15170  {
15172 
15173  setEnumeration<SpectrumEntryType>(offset, value);
15174  return *this;
15175  }
15176 
15177  /// Financial instrument long name.
15181  {
15184 
15185  return fixedStr<length>(offset);
15186  }
15187 
15188  /// Financial instrument long name.
15191  {
15194 
15195  setFixedStr<length>(offset, value);
15196  return *this;
15197  }
15198 
15199  /// Unique instrument Symbol.
15201  StrRef symbol() const
15203  {
15206 
15207  return fixedStr<length>(offset);
15208  }
15209 
15210  /// Unique instrument Symbol.
15211  ThisType& setSymbol(StrRef value)
15213  {
15216 
15217  setFixedStr<length>(offset, value);
15218  return *this;
15219  }
15220 
15221  /// External unique instrument ID.
15225  {
15227 
15228  return ordinary<UInt64>(offset);
15229  }
15230 
15231  /// External unique instrument ID.
15232  ThisType& setInstrumentGUId(UInt64 value)
15234  {
15236 
15237  setOrdinary(offset, value);
15238  return *this;
15239  }
15240 
15241  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
15245  {
15247 
15248  return ordinary<Int32>(offset);
15249  }
15250 
15251  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
15252  ThisType& setSecurityId(Int32 value)
15254  {
15256 
15257  setOrdinary(offset, value);
15258  return *this;
15259  }
15260 
15261  /// Market Data entry price.
15263  bool entryPx(PRICE9& value) const
15265  {
15267 
15268  return decimal(value, offset, NullPRICE9());
15269  }
15270 
15271  /// Market Data entry price.
15272  ThisType& setEntryPx(PRICE9 value)
15274  {
15276 
15277  setOrdinary(offset, value);
15278  return *this;
15279  }
15280 
15281  ThisType& entryPxNull()
15283  {
15285 
15286  setOrdinary(offset, NullPRICE9());
15287  return *this;
15288  }
15289 
15290  /// Market Data entry size.
15292  bool entrySize(UInt64& value) const
15294  {
15296 
15297  return ordinary(value, offset, NullUInt64());
15298  }
15299 
15300  /// Market Data entry size.
15301  ThisType& setEntrySize(UInt64 value)
15303  {
15305 
15306  setOrdinary(offset, value);
15307  return *this;
15308  }
15309 
15310  ThisType& entrySizeNull()
15312  {
15314 
15315  setOrdinary(offset, NullUInt64());
15316  return *this;
15317  }
15318 
15319  /// Time of the last market event that contributed to element
15320  /// calculation or publication.
15324  {
15326 
15327  return ordinary<Timestamp>(offset);
15328  }
15329 
15330  /// Time of the last market event that contributed to element
15331  /// calculation or publication.
15332  ThisType& setEntryTime(Timestamp value)
15334  {
15336 
15337  setOrdinary(offset, value.sinceEpoch());
15338  return *this;
15339  }
15340 
15341  /// \return size of entry body in bytes
15342  /// for given version of message template.
15347  {
15348  return
15349  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
15350  minimalBlockLength(version);
15351  }
15352 
15353  /// \return minimal size of entry body in bytes
15354  /// for given version of message template.
15357  static
15358  BlockLength
15360  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
15362  {
15363  return
15364  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
15365  92;
15366  }
15367 
15368  /// Entity class name.
15372  static const Char* className()
15373  {
15374  return "IncrementalRefreshSpectrum303.Entry";
15375  }
15376  };
15377 
15378  /// Repeating group containing Entry entries.
15379  typedef
15382 
15383  /// Initializes a blank instance.
15384  IncrementalRefreshSpectrum303() ONIXS_CONFLATEDTCP_DEFAULT;
15385 
15386  /// Initializes an instance over the given memory block.
15388  void* data,
15389  EncodedLength length,
15390  SchemaVersion version = Schema::Version)
15391  : SbeMessage(data, length, version)
15392  {
15393  checkVersion<Schema>(version);
15394  checkLength(length, version);
15395  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
15396  reset();
15397  }
15398 
15399  /// Initializes an instance over the given memory block
15400  /// With no variable-length fields initialization
15401  /// It is assumed that the user does such an initialization manually.
15403  void* data,
15404  EncodedLength length,
15405  NoFieldsInit,
15406  SchemaVersion version = Schema::Version)
15407  : SbeMessage(data, length, version)
15408  {
15409  checkVersion<Schema>(version);
15410  checkLength(length, version);
15411  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
15412  resetVariableFields();
15413  }
15414 
15415  /// Creates an instance over the given memory block.
15417  void* data,
15418  EncodedLength length,
15419  NoInit)
15420  : SbeMessage(data, length)
15421  {
15422  checkCompatibility();
15423  }
15424 
15425  /// Creates an instance over the given SBE message.
15426  explicit
15428  const SbeMessage& message)
15429  : SbeMessage(message)
15430  {
15431  assert(message.valid());
15432 
15433  checkCompatibility();
15434  }
15435 
15436  /// Publication event time, sent in number of nanoseconds
15437  /// since Unix epoch.
15441  {
15443 
15444  return ordinary<Timestamp>(offset);
15445  }
15446 
15447  /// Publication event time, sent in number of nanoseconds
15448  /// since Unix epoch.
15449  ThisType& setTransactTime(Timestamp value)
15451  {
15453 
15454  setOrdinary(offset, value.sinceEpoch());
15455  return *this;
15456  }
15457 
15458  /// End of updates indicator. Bit 7 =1 when message is the
15459  /// last in the series of updates published for the
15460  /// publication interval. Bit 6 = 1 indicates if elements were
15461  /// resent during technical recovery and may be duplicates of
15462  /// previously published values.
15466  {
15468 
15469  return ordinary<EventIndicator>(offset);
15470  }
15471 
15472  /// End of updates indicator. Bit 7 =1 when message is the
15473  /// last in the series of updates published for the
15474  /// publication interval. Bit 6 = 1 indicates if elements were
15475  /// resent during technical recovery and may be duplicates of
15476  /// previously published values.
15479  {
15481 
15482  setOrdinary(offset, value);
15483  return *this;
15484  }
15485 
15486  /// \return instance of Entries repeating group.
15490  {
15491  return getGroup<Entries>(EntriesAccess(), *this);
15492  }
15493 
15494  /// \return instance of Entries repeating group.
15498  {
15499  return getGroup<Entries>(EntriesAccess(), *this);
15500  }
15501 
15502  /// Setup repeating group with the given number of entries.
15503  /// Sets all optional fields of the group entries to null.
15504  /// \return NoMDEntries(268) repeating group.
15506  {
15507  return constructGroup<Entries>(
15508  EntriesAccess(),
15509  length,
15510  *this);
15511  }
15512 
15513  /// Setup repeating group with the given number of entries.
15514  /// \return NoMDEntries(268) repeating group.
15515  Entries
15517  Entries::Size length,
15518  NoFieldsInit)
15519  {
15520  return setupGroup<Entries>(
15521  EntriesAccess(),
15522  length,
15523  *this);
15524  }
15525 
15526  /// Minimal size of message body in bytes.
15529  static
15530  BlockLength
15532  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
15534  {
15535  return
15536  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
15537  9;
15538  }
15539 
15540  /// Size of message body in bytes.
15545  {
15546  return
15547  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
15548  minimalBlockLength(version);
15549  }
15550 
15551  /// Minimal variable fields size (when variable-length fields are empty).
15555  static
15556  MessageSize
15558  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
15559  {
15560  return
15561  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
15562  static_cast<MessageSize>(Entries::EmptySize);
15563  }
15564 
15565  /// Reset all variable-length fields if any.
15568  {
15569  entriesNull();
15570  return *this;
15571  }
15572 
15573  /// Reset all variable-length and optional fields if any.
15574  ThisType& reset()
15576  {
15577  resetVariableFields();
15578  return *this;
15579  }
15580 
15581  /// \return class name.
15585  static const Char* className()
15586  {
15587  return "IncrementalRefreshSpectrum303";
15588  }
15589 
15590  /// FIX message type.
15594  static StrRef fixType()
15596  {
15597  return constructStrRef("X");
15598  }
15599 
15600  /// \return the end of the message.
15602  const void* tail() const
15604  {
15605  return
15606  entries().tail();
15607  }
15608 
15609  /// \return the size occupied by the message.
15613  {
15614  return
15615  SbeMessage::calculateBinarySize(tail());
15616  }
15617 
15618 private:
15619  void checkLength(
15620  EncodedLength length, SchemaVersion version) const
15621  {
15622  const EncodedLength minimalRequiredLength =
15623  minimalBlockLength(version) +
15624  MessageHeader::Size +
15625  getMinimalVariableFieldsSize(version);
15626 
15627  checkBinaryLength(
15628  *this, length, minimalRequiredLength);
15629  }
15630 
15631  /// Checks variable fields consistency.
15632  void checkVarLenFields() const
15633  {
15634  groups().
15635  checkTail<Entries>();
15636  }
15637 
15638  void checkCompatibility() const
15639  {
15640  assert(TemplateId == templateId());
15641 
15642  checkSchema<Schema>(schemaId(), version());
15643  checkLength(bufferSize(), version());
15644  checkVarLenFields();
15645  }
15646 
15647  /// Access helper.
15648  struct EntriesAccess
15649  {
15650  Entries
15651  operator()(
15652  const IncrementalRefreshSpectrum303& obj) const
15654  {
15655  return obj.
15656  groups().
15657  head<Entries>();
15658  }
15659  };
15660 
15661  /// Reset an instance of the repeating group.
15662  /// All the following data will be invalidated.
15663  void entriesNull()
15665  {
15666  resetGroup<Entries>(EntriesAccess(), *this);
15667  }
15668 };
15669 
15670 /// MDIncrementalRefreshTicker.
15673 : SbeMessage
15674 {
15675  /// Used template schema.
15677 
15678  /// This type alias.
15680 
15681  /// Message template ID from SBE schema.
15682  enum { TemplateId = 304 };
15683 
15684  /// Number of entries in Market Data message.
15685  /// Entry of Entry repeating group.
15688  <
15690  >
15691  {
15692  /// Base class type.
15693  typedef
15695  <
15697  >
15699 
15700  /// This type alias.
15701  typedef Entry ThisType;
15702 
15703  /// Initializes instance of given
15704  /// version over given memory block.
15706  void* data,
15707  EncodedLength length,
15708  SchemaVersion version)
15709  : Base(data, length, version)
15710  {
15711  assert(version >= Schema::MinimalVersion);
15712  assert(length >= minimalBlockLength(version));
15713  }
15714 
15715  /// Reset all variable-length fields if any.
15718  {
15719  return *this;
15720  }
15721 
15722  /// Reset all variable-length and optional fields if any.
15723  ThisType& reset()
15725  {
15726  entryPxNull();
15727  entrySizeNull();
15728  tradingSessionIdNull();
15729  aggressorSideNull();
15730 
15731  resetVariableFields();
15732  return *this;
15733  }
15734 
15735  /// Market Data update action.
15740  {
15741  return UpdateActionNew();
15742  }
15743 
15744  /// Market Data entry type, identifies the element.
15748  {
15750 
15751  return enumeration<TickerEntryType>(offset);
15752  }
15753 
15754  /// Market Data entry type, identifies the element.
15755  ThisType&
15757  TickerEntryType::Enum value)
15759  {
15761 
15762  setEnumeration<TickerEntryType>(offset, value);
15763  return *this;
15764  }
15765 
15766  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
15770  {
15772 
15773  return ordinary<Int32>(offset);
15774  }
15775 
15776  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
15777  ThisType& setSecurityId(Int32 value)
15779  {
15781 
15782  setOrdinary(offset, value);
15783  return *this;
15784  }
15785 
15786  /// Unique instrument Symbol.
15788  StrRef symbol() const
15790  {
15793 
15794  return fixedStr<length>(offset);
15795  }
15796 
15797  /// Unique instrument Symbol.
15798  ThisType& setSymbol(StrRef value)
15800  {
15803 
15804  setFixedStr<length>(offset, value);
15805  return *this;
15806  }
15807 
15808  /// External unique instrument ID.
15812  {
15814 
15815  return ordinary<UInt64>(offset);
15816  }
15817 
15818  /// External unique instrument ID.
15819  ThisType& setInstrumentGUId(UInt64 value)
15821  {
15823 
15824  setOrdinary(offset, value);
15825  return *this;
15826  }
15827 
15828  /// Financial Instrument long name.
15832  {
15835 
15836  return fixedStr<length>(offset);
15837  }
15838 
15839  /// Financial Instrument long name.
15842  {
15845 
15846  setFixedStr<length>(offset, value);
15847  return *this;
15848  }
15849 
15850  /// Market Data entry price.
15852  bool entryPx(PRICE9& value) const
15854  {
15856 
15857  return decimal(value, offset, NullPRICE9());
15858  }
15859 
15860  /// Market Data entry price.
15861  ThisType& setEntryPx(PRICE9 value)
15863  {
15865 
15866  setOrdinary(offset, value);
15867  return *this;
15868  }
15869 
15870  ThisType& entryPxNull()
15872  {
15874 
15875  setOrdinary(offset, NullPRICE9());
15876  return *this;
15877  }
15878 
15879  /// Market Data entry size.
15881  bool entrySize(UInt64& value) const
15883  {
15885 
15886  return ordinary(value, offset, NullUInt64());
15887  }
15888 
15889  /// Market Data entry size.
15890  ThisType& setEntrySize(UInt64 value)
15892  {
15894 
15895  setOrdinary(offset, value);
15896  return *this;
15897  }
15898 
15899  ThisType& entrySizeNull()
15901  {
15903 
15904  setOrdinary(offset, NullUInt64());
15905  return *this;
15906  }
15907 
15908  /// Time of the last market event that contributed to element
15909  /// calculation or publication.
15913  {
15915 
15916  return ordinary<Timestamp>(offset);
15917  }
15918 
15919  /// Time of the last market event that contributed to element
15920  /// calculation or publication.
15921  ThisType& setEntryTime(Timestamp value)
15923  {
15925 
15926  setOrdinary(offset, value.sinceEpoch());
15927  return *this;
15928  }
15929 
15930  /// Previous day elements, Global or Regional, will contain
15931  /// the value 4 - entry from previous business date.
15935  {
15937 
15938  return enumeration<PreviousDayFlag>(offset);
15939  }
15940 
15941  /// Previous day elements, Global or Regional, will contain
15942  /// the value 4 - entry from previous business date.
15943  ThisType&
15945  PreviousDayFlag::Enum value)
15947  {
15949 
15950  setEnumeration<PreviousDayFlag>(offset, value);
15951  return *this;
15952  }
15953 
15954  /// The associated region market hours considered for the
15955  /// calculation of the element. The element is calculated from
15956  /// market events occurring during the region's open-close
15957  /// hours.
15961  {
15963 
15964  return enumeration<MarketHrs>(value, offset, NullUInt8());
15965  }
15966 
15967  /// The associated region market hours considered for the
15968  /// calculation of the element. The element is calculated from
15969  /// market events occurring during the region's open-close
15970  /// hours.
15973  {
15975 
15976  setEnumeration<MarketHrs>(offset, value);
15977  return *this;
15978  }
15979 
15982  {
15984 
15985  setOrdinary(offset, NullUInt8());
15986  return *this;
15987  }
15988 
15989  /// Indicates which side is aggressor of the trade.
15991  bool
15993  AggressorSide::Enum& value) const
15995  {
15997 
15998  return enumeration<AggressorSide>(value, offset, NullUInt8());
15999  }
16000 
16001  /// Indicates which side is aggressor of the trade.
16002  ThisType&
16004  AggressorSide::Enum value)
16006  {
16008 
16009  setEnumeration<AggressorSide>(offset, value);
16010  return *this;
16011  }
16012 
16013  ThisType& aggressorSideNull()
16015  {
16017 
16018  setOrdinary(offset, NullUInt8());
16019  return *this;
16020  }
16021 
16022  /// \return size of entry body in bytes
16023  /// for given version of message template.
16028  {
16029  return
16030  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16031  minimalBlockLength(version);
16032  }
16033 
16034  /// \return minimal size of entry body in bytes
16035  /// for given version of message template.
16038  static
16039  BlockLength
16041  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
16043  {
16044  return
16045  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16046  95;
16047  }
16048 
16049  /// Entity class name.
16053  static const Char* className()
16054  {
16055  return "IncrementalRefreshTicker304.Entry";
16056  }
16057  };
16058 
16059  /// Repeating group containing Entry entries.
16060  typedef
16063 
16064  /// Initializes a blank instance.
16065  IncrementalRefreshTicker304() ONIXS_CONFLATEDTCP_DEFAULT;
16066 
16067  /// Initializes an instance over the given memory block.
16069  void* data,
16070  EncodedLength length,
16071  SchemaVersion version = Schema::Version)
16072  : SbeMessage(data, length, version)
16073  {
16074  checkVersion<Schema>(version);
16075  checkLength(length, version);
16076  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
16077  reset();
16078  }
16079 
16080  /// Initializes an instance over the given memory block
16081  /// With no variable-length fields initialization
16082  /// It is assumed that the user does such an initialization manually.
16084  void* data,
16085  EncodedLength length,
16086  NoFieldsInit,
16087  SchemaVersion version = Schema::Version)
16088  : SbeMessage(data, length, version)
16089  {
16090  checkVersion<Schema>(version);
16091  checkLength(length, version);
16092  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
16093  resetVariableFields();
16094  }
16095 
16096  /// Creates an instance over the given memory block.
16098  void* data,
16099  EncodedLength length,
16100  NoInit)
16101  : SbeMessage(data, length)
16102  {
16103  checkCompatibility();
16104  }
16105 
16106  /// Creates an instance over the given SBE message.
16107  explicit
16109  const SbeMessage& message)
16110  : SbeMessage(message)
16111  {
16112  assert(message.valid());
16113 
16114  checkCompatibility();
16115  }
16116 
16117  /// Publication event time, sent in number of nanoseconds
16118  /// since Unix epoch.
16122  {
16124 
16125  return ordinary<Timestamp>(offset);
16126  }
16127 
16128  /// Publication event time, sent in number of nanoseconds
16129  /// since Unix epoch.
16130  ThisType& setTransactTime(Timestamp value)
16132  {
16134 
16135  setOrdinary(offset, value.sinceEpoch());
16136  return *this;
16137  }
16138 
16139  /// End of updates indicator. Bit 7 =1 when message is the
16140  /// last in the series of updates published for the
16141  /// publication interval. Bit 6 = 1 indicates if elements were
16142  /// resent during technical recovery and may be duplicates of
16143  /// previously published values.
16147  {
16149 
16150  return ordinary<EventIndicator>(offset);
16151  }
16152 
16153  /// End of updates indicator. Bit 7 =1 when message is the
16154  /// last in the series of updates published for the
16155  /// publication interval. Bit 6 = 1 indicates if elements were
16156  /// resent during technical recovery and may be duplicates of
16157  /// previously published values.
16160  {
16162 
16163  setOrdinary(offset, value);
16164  return *this;
16165  }
16166 
16167  /// \return instance of Entries repeating group.
16171  {
16172  return getGroup<Entries>(EntriesAccess(), *this);
16173  }
16174 
16175  /// \return instance of Entries repeating group.
16179  {
16180  return getGroup<Entries>(EntriesAccess(), *this);
16181  }
16182 
16183  /// Setup repeating group with the given number of entries.
16184  /// Sets all optional fields of the group entries to null.
16185  /// \return NoMDEntries(268) repeating group.
16187  {
16188  return constructGroup<Entries>(
16189  EntriesAccess(),
16190  length,
16191  *this);
16192  }
16193 
16194  /// Setup repeating group with the given number of entries.
16195  /// \return NoMDEntries(268) repeating group.
16196  Entries
16198  Entries::Size length,
16199  NoFieldsInit)
16200  {
16201  return setupGroup<Entries>(
16202  EntriesAccess(),
16203  length,
16204  *this);
16205  }
16206 
16207  /// Minimal size of message body in bytes.
16210  static
16211  BlockLength
16213  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
16215  {
16216  return
16217  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16218  9;
16219  }
16220 
16221  /// Size of message body in bytes.
16226  {
16227  return
16228  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16229  minimalBlockLength(version);
16230  }
16231 
16232  /// Minimal variable fields size (when variable-length fields are empty).
16236  static
16237  MessageSize
16239  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
16240  {
16241  return
16242  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16243  static_cast<MessageSize>(Entries::EmptySize);
16244  }
16245 
16246  /// Reset all variable-length fields if any.
16249  {
16250  entriesNull();
16251  return *this;
16252  }
16253 
16254  /// Reset all variable-length and optional fields if any.
16255  ThisType& reset()
16257  {
16258  resetVariableFields();
16259  return *this;
16260  }
16261 
16262  /// \return class name.
16266  static const Char* className()
16267  {
16268  return "IncrementalRefreshTicker304";
16269  }
16270 
16271  /// FIX message type.
16275  static StrRef fixType()
16277  {
16278  return constructStrRef("X");
16279  }
16280 
16281  /// \return the end of the message.
16283  const void* tail() const
16285  {
16286  return
16287  entries().tail();
16288  }
16289 
16290  /// \return the size occupied by the message.
16294  {
16295  return
16296  SbeMessage::calculateBinarySize(tail());
16297  }
16298 
16299 private:
16300  void checkLength(
16301  EncodedLength length, SchemaVersion version) const
16302  {
16303  const EncodedLength minimalRequiredLength =
16304  minimalBlockLength(version) +
16305  MessageHeader::Size +
16306  getMinimalVariableFieldsSize(version);
16307 
16308  checkBinaryLength(
16309  *this, length, minimalRequiredLength);
16310  }
16311 
16312  /// Checks variable fields consistency.
16313  void checkVarLenFields() const
16314  {
16315  groups().
16316  checkTail<Entries>();
16317  }
16318 
16319  void checkCompatibility() const
16320  {
16321  assert(TemplateId == templateId());
16322 
16323  checkSchema<Schema>(schemaId(), version());
16324  checkLength(bufferSize(), version());
16325  checkVarLenFields();
16326  }
16327 
16328  /// Access helper.
16329  struct EntriesAccess
16330  {
16331  Entries
16332  operator()(
16333  const IncrementalRefreshTicker304& obj) const
16335  {
16336  return obj.
16337  groups().
16338  head<Entries>();
16339  }
16340  };
16341 
16342  /// Reset an instance of the repeating group.
16343  /// All the following data will be invalidated.
16344  void entriesNull()
16346  {
16347  resetGroup<Entries>(EntriesAccess(), *this);
16348  }
16349 };
16350 
16351 /// MDSnapshotRefreshSpectrum.
16354 : SbeMessage
16355 {
16356  /// Used template schema.
16358 
16359  /// This type alias.
16361 
16362  /// Message template ID from SBE schema.
16363  enum { TemplateId = 305 };
16364 
16365  /// Number of entries in Market Data message.
16366  /// Entry of Entry repeating group.
16369  <
16371  >
16372  {
16373  /// Base class type.
16374  typedef
16376  <
16378  >
16380 
16381  /// This type alias.
16382  typedef Entry ThisType;
16383 
16384  /// Initializes instance of given
16385  /// version over given memory block.
16387  void* data,
16388  EncodedLength length,
16389  SchemaVersion version)
16390  : Base(data, length, version)
16391  {
16392  assert(version >= Schema::MinimalVersion);
16393  assert(length >= minimalBlockLength(version));
16394  }
16395 
16396  /// Reset all variable-length fields if any.
16399  {
16400  return *this;
16401  }
16402 
16403  /// Reset all variable-length and optional fields if any.
16404  ThisType& reset()
16406  {
16407  entryPxNull();
16408  entrySizeNull();
16409 
16410  resetVariableFields();
16411  return *this;
16412  }
16413 
16414  /// Market Data Entry Type.
16418  {
16420 
16421  return enumeration<SpectrumEntryType>(offset);
16422  }
16423 
16424  /// Market Data Entry Type.
16425  ThisType&
16429  {
16431 
16432  setEnumeration<SpectrumEntryType>(offset, value);
16433  return *this;
16434  }
16435 
16436  /// Market Data entry price.
16438  bool entryPx(PRICE9& value) const
16440  {
16442 
16443  return decimal(value, offset, NullPRICE9());
16444  }
16445 
16446  /// Market Data entry price.
16447  ThisType& setEntryPx(PRICE9 value)
16449  {
16451 
16452  setOrdinary(offset, value);
16453  return *this;
16454  }
16455 
16456  ThisType& entryPxNull()
16458  {
16460 
16461  setOrdinary(offset, NullPRICE9());
16462  return *this;
16463  }
16464 
16465  /// Market Data entry size.
16467  bool entrySize(UInt64& value) const
16469  {
16471 
16472  return ordinary(value, offset, NullUInt64());
16473  }
16474 
16475  /// Market Data entry size.
16476  ThisType& setEntrySize(UInt64 value)
16478  {
16480 
16481  setOrdinary(offset, value);
16482  return *this;
16483  }
16484 
16485  ThisType& entrySizeNull()
16487  {
16489 
16490  setOrdinary(offset, NullUInt64());
16491  return *this;
16492  }
16493 
16494  /// Time of the last market event that contributed to element
16495  /// calculation or publication.
16499  {
16501 
16502  return ordinary<Timestamp>(offset);
16503  }
16504 
16505  /// Time of the last market event that contributed to element
16506  /// calculation or publication.
16507  ThisType& setEntryTime(Timestamp value)
16509  {
16511 
16512  setOrdinary(offset, value.sinceEpoch());
16513  return *this;
16514  }
16515 
16516  /// \return size of entry body in bytes
16517  /// for given version of message template.
16522  {
16523  return
16524  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16525  minimalBlockLength(version);
16526  }
16527 
16528  /// \return minimal size of entry body in bytes
16529  /// for given version of message template.
16532  static
16533  BlockLength
16535  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
16537  {
16538  return
16539  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16540  25;
16541  }
16542 
16543  /// Entity class name.
16547  static const Char* className()
16548  {
16549  return "SnapshotRefreshSpectrum305.Entry";
16550  }
16551  };
16552 
16553  /// Repeating group containing Entry entries.
16554  typedef
16557 
16558  /// Initializes a blank instance.
16559  SnapshotRefreshSpectrum305() ONIXS_CONFLATEDTCP_DEFAULT;
16560 
16561  /// Initializes an instance over the given memory block.
16563  void* data,
16564  EncodedLength length,
16565  SchemaVersion version = Schema::Version)
16566  : SbeMessage(data, length, version)
16567  {
16568  checkVersion<Schema>(version);
16569  checkLength(length, version);
16570  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
16571  reset();
16572  }
16573 
16574  /// Initializes an instance over the given memory block
16575  /// With no variable-length fields initialization
16576  /// It is assumed that the user does such an initialization manually.
16578  void* data,
16579  EncodedLength length,
16580  NoFieldsInit,
16581  SchemaVersion version = Schema::Version)
16582  : SbeMessage(data, length, version)
16583  {
16584  checkVersion<Schema>(version);
16585  checkLength(length, version);
16586  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
16587  resetVariableFields();
16588  }
16589 
16590  /// Creates an instance over the given memory block.
16592  void* data,
16593  EncodedLength length,
16594  NoInit)
16595  : SbeMessage(data, length)
16596  {
16597  checkCompatibility();
16598  }
16599 
16600  /// Creates an instance over the given SBE message.
16601  explicit
16603  const SbeMessage& message)
16604  : SbeMessage(message)
16605  {
16606  assert(message.valid());
16607 
16608  checkCompatibility();
16609  }
16610 
16611  /// Timestamp of the last publication event instrument
16612  /// participated in, sent in number of nanoseconds since Unix
16613  /// epoch.
16617  {
16619 
16620  return ordinary<Timestamp>(offset);
16621  }
16622 
16623  /// Timestamp of the last publication event instrument
16624  /// participated in, sent in number of nanoseconds since Unix
16625  /// epoch.
16626  ThisType& setTransactTime(Timestamp value)
16628  {
16630 
16631  setOrdinary(offset, value.sinceEpoch());
16632  return *this;
16633  }
16634 
16635  /// End of updates indicator. Bit 7 = 1 in the last snapshot
16636  /// message sent in response to a subscription request.
16640  {
16642 
16643  return ordinary<EventIndicator>(offset);
16644  }
16645 
16646  /// End of updates indicator. Bit 7 = 1 in the last snapshot
16647  /// message sent in response to a subscription request.
16650  {
16652 
16653  setOrdinary(offset, value);
16654  return *this;
16655  }
16656 
16657  /// Financial instrument long name.
16661  {
16664 
16665  return fixedStr<length>(offset);
16666  }
16667 
16668  /// Financial instrument long name.
16671  {
16674 
16675  setFixedStr<length>(offset, value);
16676  return *this;
16677  }
16678 
16679  /// Unique instrument symbol.
16681  StrRef symbol() const
16683  {
16686 
16687  return fixedStr<length>(offset);
16688  }
16689 
16690  /// Unique instrument symbol.
16691  ThisType& setSymbol(StrRef value)
16693  {
16696 
16697  setFixedStr<length>(offset, value);
16698  return *this;
16699  }
16700 
16701  /// External unique instrument ID.
16705  {
16707 
16708  return ordinary<UInt64>(offset);
16709  }
16710 
16711  /// External unique instrument ID.
16712  ThisType& setInstrumentGUId(UInt64 value)
16714  {
16716 
16717  setOrdinary(offset, value);
16718  return *this;
16719  }
16720 
16721  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
16725  {
16727 
16728  return ordinary<Int32>(offset);
16729  }
16730 
16731  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
16732  ThisType& setSecurityId(Int32 value)
16734  {
16736 
16737  setOrdinary(offset, value);
16738  return *this;
16739  }
16740 
16741  /// \return instance of Entries repeating group.
16745  {
16746  return getGroup<Entries>(EntriesAccess(), *this);
16747  }
16748 
16749  /// \return instance of Entries repeating group.
16753  {
16754  return getGroup<Entries>(EntriesAccess(), *this);
16755  }
16756 
16757  /// Setup repeating group with the given number of entries.
16758  /// Sets all optional fields of the group entries to null.
16759  /// \return NoMDEntries(268) repeating group.
16761  {
16762  return constructGroup<Entries>(
16763  EntriesAccess(),
16764  length,
16765  *this);
16766  }
16767 
16768  /// Setup repeating group with the given number of entries.
16769  /// \return NoMDEntries(268) repeating group.
16770  Entries
16772  Entries::Size length,
16773  NoFieldsInit)
16774  {
16775  return setupGroup<Entries>(
16776  EntriesAccess(),
16777  length,
16778  *this);
16779  }
16780 
16781  /// Minimal size of message body in bytes.
16784  static
16785  BlockLength
16787  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
16789  {
16790  return
16791  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16792  76;
16793  }
16794 
16795  /// Size of message body in bytes.
16800  {
16801  return
16802  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16803  minimalBlockLength(version);
16804  }
16805 
16806  /// Minimal variable fields size (when variable-length fields are empty).
16810  static
16811  MessageSize
16813  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
16814  {
16815  return
16816  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
16817  static_cast<MessageSize>(Entries::EmptySize);
16818  }
16819 
16820  /// Reset all variable-length fields if any.
16823  {
16824  entriesNull();
16825  return *this;
16826  }
16827 
16828  /// Reset all variable-length and optional fields if any.
16829  ThisType& reset()
16831  {
16832  resetVariableFields();
16833  return *this;
16834  }
16835 
16836  /// \return class name.
16840  static const Char* className()
16841  {
16842  return "SnapshotRefreshSpectrum305";
16843  }
16844 
16845  /// FIX message type.
16849  static StrRef fixType()
16851  {
16852  return constructStrRef("W");
16853  }
16854 
16855  /// \return the end of the message.
16857  const void* tail() const
16859  {
16860  return
16861  entries().tail();
16862  }
16863 
16864  /// \return the size occupied by the message.
16868  {
16869  return
16870  SbeMessage::calculateBinarySize(tail());
16871  }
16872 
16873 private:
16874  void checkLength(
16875  EncodedLength length, SchemaVersion version) const
16876  {
16877  const EncodedLength minimalRequiredLength =
16878  minimalBlockLength(version) +
16879  MessageHeader::Size +
16880  getMinimalVariableFieldsSize(version);
16881 
16882  checkBinaryLength(
16883  *this, length, minimalRequiredLength);
16884  }
16885 
16886  /// Checks variable fields consistency.
16887  void checkVarLenFields() const
16888  {
16889  groups().
16890  checkTail<Entries>();
16891  }
16892 
16893  void checkCompatibility() const
16894  {
16895  assert(TemplateId == templateId());
16896 
16897  checkSchema<Schema>(schemaId(), version());
16898  checkLength(bufferSize(), version());
16899  checkVarLenFields();
16900  }
16901 
16902  /// Access helper.
16903  struct EntriesAccess
16904  {
16905  Entries
16906  operator()(
16907  const SnapshotRefreshSpectrum305& obj) const
16909  {
16910  return obj.
16911  groups().
16912  head<Entries>();
16913  }
16914  };
16915 
16916  /// Reset an instance of the repeating group.
16917  /// All the following data will be invalidated.
16918  void entriesNull()
16920  {
16921  resetGroup<Entries>(EntriesAccess(), *this);
16922  }
16923 };
16924 
16925 /// MDSnapshotRefreshTicker.
16928 : SbeMessage
16929 {
16930  /// Used template schema.
16932 
16933  /// This type alias.
16935 
16936  /// Message template ID from SBE schema.
16937  enum { TemplateId = 306 };
16938 
16939  /// Number of entries in Market Data message.
16940  /// Entry of Entry repeating group.
16943  <
16945  >
16946  {
16947  /// Base class type.
16948  typedef
16950  <
16952  >
16954 
16955  /// This type alias.
16956  typedef Entry ThisType;
16957 
16958  /// Initializes instance of given
16959  /// version over given memory block.
16961  void* data,
16962  EncodedLength length,
16963  SchemaVersion version)
16964  : Base(data, length, version)
16965  {
16966  assert(version >= Schema::MinimalVersion);
16967  assert(length >= minimalBlockLength(version));
16968  }
16969 
16970  /// Reset all variable-length fields if any.
16973  {
16974  return *this;
16975  }
16976 
16977  /// Reset all variable-length and optional fields if any.
16978  ThisType& reset()
16980  {
16981  entryPxNull();
16982  entrySizeNull();
16983  tradingSessionIdNull();
16984  aggressorSideNull();
16985 
16986  resetVariableFields();
16987  return *this;
16988  }
16989 
16990  /// Market Data entry type, identifies the element.
16994  {
16996 
16997  return enumeration<TickerEntryType>(offset);
16998  }
16999 
17000  /// Market Data entry type, identifies the element.
17001  ThisType&
17003  TickerEntryType::Enum value)
17005  {
17007 
17008  setEnumeration<TickerEntryType>(offset, value);
17009  return *this;
17010  }
17011 
17012  /// Market Data entry price.
17014  bool entryPx(PRICE9& value) const
17016  {
17018 
17019  return decimal(value, offset, NullPRICE9());
17020  }
17021 
17022  /// Market Data entry price.
17023  ThisType& setEntryPx(PRICE9 value)
17025  {
17027 
17028  setOrdinary(offset, value);
17029  return *this;
17030  }
17031 
17032  ThisType& entryPxNull()
17034  {
17036 
17037  setOrdinary(offset, NullPRICE9());
17038  return *this;
17039  }
17040 
17041  /// Market Data entry size.
17043  bool entrySize(UInt64& value) const
17045  {
17047 
17048  return ordinary(value, offset, NullUInt64());
17049  }
17050 
17051  /// Market Data entry size.
17052  ThisType& setEntrySize(UInt64 value)
17054  {
17056 
17057  setOrdinary(offset, value);
17058  return *this;
17059  }
17060 
17061  ThisType& entrySizeNull()
17063  {
17065 
17066  setOrdinary(offset, NullUInt64());
17067  return *this;
17068  }
17069 
17070  /// Time of the last market event that contributed to element
17071  /// calculation or publication.
17075  {
17077 
17078  return ordinary<Timestamp>(offset);
17079  }
17080 
17081  /// Time of the last market event that contributed to element
17082  /// calculation or publication.
17083  ThisType& setEntryTime(Timestamp value)
17085  {
17087 
17088  setOrdinary(offset, value.sinceEpoch());
17089  return *this;
17090  }
17091 
17092  /// Previous day elements, Global or Regional, will contain
17093  /// the value 4 - entry from previous business date.
17097  {
17099 
17100  return enumeration<PreviousDayFlag>(offset);
17101  }
17102 
17103  /// Previous day elements, Global or Regional, will contain
17104  /// the value 4 - entry from previous business date.
17105  ThisType&
17107  PreviousDayFlag::Enum value)
17109  {
17111 
17112  setEnumeration<PreviousDayFlag>(offset, value);
17113  return *this;
17114  }
17115 
17116  /// The associated region market hours considered for the
17117  /// calculation of the element.
17121  {
17123 
17124  return enumeration<MarketHrs>(value, offset, NullUInt8());
17125  }
17126 
17127  /// The associated region market hours considered for the
17128  /// calculation of the element.
17131  {
17133 
17134  setEnumeration<MarketHrs>(offset, value);
17135  return *this;
17136  }
17137 
17140  {
17142 
17143  setOrdinary(offset, NullUInt8());
17144  return *this;
17145  }
17146 
17147  /// Indicates which side is aggressor of the trade.
17149  bool
17151  AggressorSide::Enum& value) const
17153  {
17155 
17156  return enumeration<AggressorSide>(value, offset, NullUInt8());
17157  }
17158 
17159  /// Indicates which side is aggressor of the trade.
17160  ThisType&
17162  AggressorSide::Enum value)
17164  {
17166 
17167  setEnumeration<AggressorSide>(offset, value);
17168  return *this;
17169  }
17170 
17171  ThisType& aggressorSideNull()
17173  {
17175 
17176  setOrdinary(offset, NullUInt8());
17177  return *this;
17178  }
17179 
17180  /// \return size of entry body in bytes
17181  /// for given version of message template.
17186  {
17187  return
17188  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17189  minimalBlockLength(version);
17190  }
17191 
17192  /// \return minimal size of entry body in bytes
17193  /// for given version of message template.
17196  static
17197  BlockLength
17199  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
17201  {
17202  return
17203  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17204  28;
17205  }
17206 
17207  /// Entity class name.
17211  static const Char* className()
17212  {
17213  return "SnapshotRefreshTicker306.Entry";
17214  }
17215  };
17216 
17217  /// Repeating group containing Entry entries.
17218  typedef
17221 
17222  /// Initializes a blank instance.
17223  SnapshotRefreshTicker306() ONIXS_CONFLATEDTCP_DEFAULT;
17224 
17225  /// Initializes an instance over the given memory block.
17227  void* data,
17228  EncodedLength length,
17229  SchemaVersion version = Schema::Version)
17230  : SbeMessage(data, length, version)
17231  {
17232  checkVersion<Schema>(version);
17233  checkLength(length, version);
17234  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
17235  reset();
17236  }
17237 
17238  /// Initializes an instance over the given memory block
17239  /// With no variable-length fields initialization
17240  /// It is assumed that the user does such an initialization manually.
17242  void* data,
17243  EncodedLength length,
17244  NoFieldsInit,
17245  SchemaVersion version = Schema::Version)
17246  : SbeMessage(data, length, version)
17247  {
17248  checkVersion<Schema>(version);
17249  checkLength(length, version);
17250  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
17251  resetVariableFields();
17252  }
17253 
17254  /// Creates an instance over the given memory block.
17256  void* data,
17257  EncodedLength length,
17258  NoInit)
17259  : SbeMessage(data, length)
17260  {
17261  checkCompatibility();
17262  }
17263 
17264  /// Creates an instance over the given SBE message.
17265  explicit
17267  const SbeMessage& message)
17268  : SbeMessage(message)
17269  {
17270  assert(message.valid());
17271 
17272  checkCompatibility();
17273  }
17274 
17275  /// Timestamp of the last publication event instrument
17276  /// participated in, sent in number of nanoseconds since Unix
17277  /// epoch.
17281  {
17283 
17284  return ordinary<Timestamp>(offset);
17285  }
17286 
17287  /// Timestamp of the last publication event instrument
17288  /// participated in, sent in number of nanoseconds since Unix
17289  /// epoch.
17290  ThisType& setTransactTime(Timestamp value)
17292  {
17294 
17295  setOrdinary(offset, value.sinceEpoch());
17296  return *this;
17297  }
17298 
17299  /// End of updates indicator. Bit 7 = 1 in the last snapshot
17300  /// message sent in response to a subscription request.
17304  {
17306 
17307  return ordinary<EventIndicator>(offset);
17308  }
17309 
17310  /// End of updates indicator. Bit 7 = 1 in the last snapshot
17311  /// message sent in response to a subscription request.
17314  {
17316 
17317  setOrdinary(offset, value);
17318  return *this;
17319  }
17320 
17321  /// Financial Instrument long name.
17325  {
17328 
17329  return fixedStr<length>(offset);
17330  }
17331 
17332  /// Financial Instrument long name.
17335  {
17338 
17339  setFixedStr<length>(offset, value);
17340  return *this;
17341  }
17342 
17343  /// Unique instrument Symbol.
17345  StrRef symbol() const
17347  {
17350 
17351  return fixedStr<length>(offset);
17352  }
17353 
17354  /// Unique instrument Symbol.
17355  ThisType& setSymbol(StrRef value)
17357  {
17360 
17361  setFixedStr<length>(offset, value);
17362  return *this;
17363  }
17364 
17365  /// External unique instrument ID.
17369  {
17371 
17372  return ordinary<UInt64>(offset);
17373  }
17374 
17375  /// External unique instrument ID.
17376  ThisType& setInstrumentGUId(UInt64 value)
17378  {
17380 
17381  setOrdinary(offset, value);
17382  return *this;
17383  }
17384 
17385  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
17389  {
17391 
17392  return ordinary<Int32>(offset);
17393  }
17394 
17395  /// SecurityID as referenced in MDP3 and Ilink3 protocols.
17396  ThisType& setSecurityId(Int32 value)
17398  {
17400 
17401  setOrdinary(offset, value);
17402  return *this;
17403  }
17404 
17405  /// \return instance of Entries repeating group.
17409  {
17410  return getGroup<Entries>(EntriesAccess(), *this);
17411  }
17412 
17413  /// \return instance of Entries repeating group.
17417  {
17418  return getGroup<Entries>(EntriesAccess(), *this);
17419  }
17420 
17421  /// Setup repeating group with the given number of entries.
17422  /// Sets all optional fields of the group entries to null.
17423  /// \return NoMDEntries(268) repeating group.
17425  {
17426  return constructGroup<Entries>(
17427  EntriesAccess(),
17428  length,
17429  *this);
17430  }
17431 
17432  /// Setup repeating group with the given number of entries.
17433  /// \return NoMDEntries(268) repeating group.
17434  Entries
17436  Entries::Size length,
17437  NoFieldsInit)
17438  {
17439  return setupGroup<Entries>(
17440  EntriesAccess(),
17441  length,
17442  *this);
17443  }
17444 
17445  /// Minimal size of message body in bytes.
17448  static
17449  BlockLength
17451  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
17453  {
17454  return
17455  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17456  76;
17457  }
17458 
17459  /// Size of message body in bytes.
17464  {
17465  return
17466  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17467  minimalBlockLength(version);
17468  }
17469 
17470  /// Minimal variable fields size (when variable-length fields are empty).
17474  static
17475  MessageSize
17477  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
17478  {
17479  return
17480  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17481  static_cast<MessageSize>(Entries::EmptySize);
17482  }
17483 
17484  /// Reset all variable-length fields if any.
17487  {
17488  entriesNull();
17489  return *this;
17490  }
17491 
17492  /// Reset all variable-length and optional fields if any.
17493  ThisType& reset()
17495  {
17496  resetVariableFields();
17497  return *this;
17498  }
17499 
17500  /// \return class name.
17504  static const Char* className()
17505  {
17506  return "SnapshotRefreshTicker306";
17507  }
17508 
17509  /// FIX message type.
17513  static StrRef fixType()
17515  {
17516  return constructStrRef("W");
17517  }
17518 
17519  /// \return the end of the message.
17521  const void* tail() const
17523  {
17524  return
17525  entries().tail();
17526  }
17527 
17528  /// \return the size occupied by the message.
17532  {
17533  return
17534  SbeMessage::calculateBinarySize(tail());
17535  }
17536 
17537 private:
17538  void checkLength(
17539  EncodedLength length, SchemaVersion version) const
17540  {
17541  const EncodedLength minimalRequiredLength =
17542  minimalBlockLength(version) +
17543  MessageHeader::Size +
17544  getMinimalVariableFieldsSize(version);
17545 
17546  checkBinaryLength(
17547  *this, length, minimalRequiredLength);
17548  }
17549 
17550  /// Checks variable fields consistency.
17551  void checkVarLenFields() const
17552  {
17553  groups().
17554  checkTail<Entries>();
17555  }
17556 
17557  void checkCompatibility() const
17558  {
17559  assert(TemplateId == templateId());
17560 
17561  checkSchema<Schema>(schemaId(), version());
17562  checkLength(bufferSize(), version());
17563  checkVarLenFields();
17564  }
17565 
17566  /// Access helper.
17567  struct EntriesAccess
17568  {
17569  Entries
17570  operator()(
17571  const SnapshotRefreshTicker306& obj) const
17573  {
17574  return obj.
17575  groups().
17576  head<Entries>();
17577  }
17578  };
17579 
17580  /// Reset an instance of the repeating group.
17581  /// All the following data will be invalidated.
17582  void entriesNull()
17584  {
17585  resetGroup<Entries>(EntriesAccess(), *this);
17586  }
17587 };
17588 
17589 /// GlobalDayRoll.
17592 : SbeMessage
17593 {
17594  /// Used template schema.
17596 
17597  /// This type alias.
17599 
17600  /// Message template ID from SBE schema.
17601  enum { TemplateId = 307 };
17602 
17603  /// Initializes a blank instance.
17604  GlobalDayRoll307() ONIXS_CONFLATEDTCP_DEFAULT;
17605 
17606  /// Initializes an instance over the given memory block.
17608  void* data,
17609  EncodedLength length,
17610  SchemaVersion version = Schema::Version)
17611  : SbeMessage(data, length, version)
17612  {
17613  checkVersion<Schema>(version);
17614  checkLength(length, version);
17615  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
17616  reset();
17617  }
17618 
17619  /// Initializes an instance over the given memory block
17620  /// With no variable-length fields initialization
17621  /// It is assumed that the user does such an initialization manually.
17623  void* data,
17624  EncodedLength length,
17625  NoFieldsInit,
17626  SchemaVersion version = Schema::Version)
17627  : SbeMessage(data, length, version)
17628  {
17629  checkVersion<Schema>(version);
17630  checkLength(length, version);
17631  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
17632  resetVariableFields();
17633  }
17634 
17635  /// Creates an instance over the given memory block.
17637  void* data,
17638  EncodedLength length,
17639  NoInit)
17640  : SbeMessage(data, length)
17641  {
17642  checkCompatibility();
17643  }
17644 
17645  /// Creates an instance over the given SBE message.
17646  explicit
17648  const SbeMessage& message)
17649  : SbeMessage(message)
17650  {
17651  assert(message.valid());
17652 
17653  checkCompatibility();
17654  }
17655 
17656  /// Event time, sent in number of nanoseconds since Unix epoch.
17660  {
17662 
17663  return ordinary<Timestamp>(offset);
17664  }
17665 
17666  /// Event time, sent in number of nanoseconds since Unix epoch.
17667  ThisType& setTransactTime(Timestamp value)
17669  {
17671 
17672  setOrdinary(offset, value.sinceEpoch());
17673  return *this;
17674  }
17675 
17676  /// Signals the start of the next Global day or a Global day
17677  /// roll.
17682  {
17684 
17685  return enumeration<SpectrumSecurityTradingEvent>(offset);
17686  }
17687 
17688  /// Signals the start of the next Global day or a Global day
17689  /// roll.
17690  ThisType&
17694  {
17696 
17697  setEnumeration<SpectrumSecurityTradingEvent>(offset, value);
17698  return *this;
17699  }
17700 
17701  /// Minimal size of message body in bytes.
17704  static
17705  BlockLength
17707  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
17709  {
17710  return
17711  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17712  9;
17713  }
17714 
17715  /// Size of message body in bytes.
17720  {
17721  return
17722  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17723  minimalBlockLength(version);
17724  }
17725 
17726  /// Minimal variable fields size (when variable-length fields are empty).
17730  static
17731  MessageSize
17733  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
17734  {
17735  return
17736  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17737  0;
17738  }
17739 
17740  /// Reset all variable-length fields if any.
17743  {
17744  return *this;
17745  }
17746 
17747  /// Reset all variable-length and optional fields if any.
17748  ThisType& reset()
17750  {
17751  resetVariableFields();
17752  return *this;
17753  }
17754 
17755  /// \return class name.
17759  static const Char* className()
17760  {
17761  return "GlobalDayRoll307";
17762  }
17763 
17764  /// FIX message type.
17768  static StrRef fixType()
17770  {
17771  return constructStrRef("f");
17772  }
17773 
17774  /// \return the end of the message.
17776  const void* tail() const
17778  {
17779  return
17780  toOpaquePtr(
17781  advanceByBytes(
17782  binary(),
17783  static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
17784  MessageHeader::Size));
17785  }
17786 
17787  /// \return the size occupied by the message.
17791  {
17792  return
17793  SbeMessage::calculateBinarySize(tail());
17794  }
17795 
17796 private:
17797  void checkLength(
17798  EncodedLength length, SchemaVersion version) const
17799  {
17800  const EncodedLength minimalRequiredLength =
17801  minimalBlockLength(version) +
17802  MessageHeader::Size +
17803  getMinimalVariableFieldsSize(version);
17804 
17805  checkBinaryLength(
17806  *this, length, minimalRequiredLength);
17807  }
17808 
17809  void checkCompatibility() const
17810  {
17811  assert(TemplateId == templateId());
17812 
17813  checkSchema<Schema>(schemaId(), version());
17814  checkLength(bufferSize(), version());
17815  }
17816 };
17817 
17818 /// ChannelReset.
17821 : SbeMessage
17822 {
17823  /// Used template schema.
17825 
17826  /// This type alias.
17828 
17829  /// Message template ID from SBE schema.
17830  enum { TemplateId = 4 };
17831 
17832  /// Number of entries in Market Data message.
17833  /// Entry of Entry repeating group.
17836  <
17838  >
17839  {
17840  /// Base class type.
17841  typedef
17843  <
17845  >
17847 
17848  /// This type alias.
17849  typedef Entry ThisType;
17850 
17851  /// Initializes instance of given
17852  /// version over given memory block.
17854  void* data,
17855  EncodedLength length,
17856  SchemaVersion version)
17857  : Base(data, length, version)
17858  {
17859  assert(version >= Schema::MinimalVersion);
17860  assert(length >= minimalBlockLength(version));
17861  }
17862 
17863  /// Reset all variable-length fields if any.
17866  {
17867  return *this;
17868  }
17869 
17870  /// Reset all variable-length and optional fields if any.
17871  ThisType& reset()
17873  {
17874  resetVariableFields();
17875  return *this;
17876  }
17877 
17878  /// Market Data update action.
17883  {
17884  return UpdateTypeNew();
17885  }
17886 
17887  /// Market Data entry type.
17892  {
17893  return EntryTypeChannelReset();
17894  }
17895 
17896  /// Indicates the channel ID as defined in the XML
17897  /// configuration file.
17899  Int16 applId() const
17901  {
17903 
17904  return ordinary<Int16>(offset);
17905  }
17906 
17907  /// Indicates the channel ID as defined in the XML
17908  /// configuration file.
17909  ThisType& setApplId(Int16 value)
17911  {
17913 
17914  setOrdinary(offset, value);
17915  return *this;
17916  }
17917 
17918  /// \return size of entry body in bytes
17919  /// for given version of message template.
17924  {
17925  return
17926  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17927  minimalBlockLength(version);
17928  }
17929 
17930  /// \return minimal size of entry body in bytes
17931  /// for given version of message template.
17934  static
17935  BlockLength
17937  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
17939  {
17940  return
17941  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
17942  2;
17943  }
17944 
17945  /// Entity class name.
17949  static const Char* className()
17950  {
17951  return "ChannelReset4.Entry";
17952  }
17953  };
17954 
17955  /// Repeating group containing Entry entries.
17956  typedef
17959 
17960  /// Initializes a blank instance.
17961  ChannelReset4() ONIXS_CONFLATEDTCP_DEFAULT;
17962 
17963  /// Initializes an instance over the given memory block.
17965  void* data,
17966  EncodedLength length,
17967  SchemaVersion version = Schema::Version)
17968  : SbeMessage(data, length, version)
17969  {
17970  checkVersion<Schema>(version);
17971  checkLength(length, version);
17972  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
17973  reset();
17974  }
17975 
17976  /// Initializes an instance over the given memory block
17977  /// With no variable-length fields initialization
17978  /// It is assumed that the user does such an initialization manually.
17980  void* data,
17981  EncodedLength length,
17982  NoFieldsInit,
17983  SchemaVersion version = Schema::Version)
17984  : SbeMessage(data, length, version)
17985  {
17986  checkVersion<Schema>(version);
17987  checkLength(length, version);
17988  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
17989  resetVariableFields();
17990  }
17991 
17992  /// Creates an instance over the given memory block.
17994  void* data,
17995  EncodedLength length,
17996  NoInit)
17997  : SbeMessage(data, length)
17998  {
17999  checkCompatibility();
18000  }
18001 
18002  /// Creates an instance over the given SBE message.
18003  explicit
18005  const SbeMessage& message)
18006  : SbeMessage(message)
18007  {
18008  assert(message.valid());
18009 
18010  checkCompatibility();
18011  }
18012 
18013  /// Start of event processing time in number of nanoseconds
18014  /// since Unix epoch.
18018  {
18020 
18021  return ordinary<Timestamp>(offset);
18022  }
18023 
18024  /// Start of event processing time in number of nanoseconds
18025  /// since Unix epoch.
18026  ThisType& setTransactTime(Timestamp value)
18028  {
18030 
18031  setOrdinary(offset, value.sinceEpoch());
18032  return *this;
18033  }
18034 
18035  /// Bitmap field of eight Boolean type indicators reflecting
18036  /// the end of updates for a given Globex event.
18040  {
18042 
18043  return ordinary<MatchEventIndicator>(offset);
18044  }
18045 
18046  /// Bitmap field of eight Boolean type indicators reflecting
18047  /// the end of updates for a given Globex event.
18048  ThisType&
18050  MatchEventIndicator value)
18052  {
18054 
18055  setOrdinary(offset, value);
18056  return *this;
18057  }
18058 
18059  /// \return instance of Entries repeating group.
18063  {
18064  return getGroup<Entries>(EntriesAccess(), *this);
18065  }
18066 
18067  /// \return instance of Entries repeating group.
18071  {
18072  return getGroup<Entries>(EntriesAccess(), *this);
18073  }
18074 
18075  /// Setup repeating group with the given number of entries.
18076  /// Sets all optional fields of the group entries to null.
18077  /// \return NoMDEntries(268) repeating group.
18079  {
18080  return constructGroup<Entries>(
18081  EntriesAccess(),
18082  length,
18083  *this);
18084  }
18085 
18086  /// Setup repeating group with the given number of entries.
18087  /// \return NoMDEntries(268) repeating group.
18088  Entries
18090  Entries::Size length,
18091  NoFieldsInit)
18092  {
18093  return setupGroup<Entries>(
18094  EntriesAccess(),
18095  length,
18096  *this);
18097  }
18098 
18099  /// Minimal size of message body in bytes.
18102  static
18103  BlockLength
18105  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18107  {
18108  return
18109  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18110  9;
18111  }
18112 
18113  /// Size of message body in bytes.
18118  {
18119  return
18120  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18121  minimalBlockLength(version);
18122  }
18123 
18124  /// Minimal variable fields size (when variable-length fields are empty).
18128  static
18129  MessageSize
18131  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18132  {
18133  return
18134  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18135  static_cast<MessageSize>(Entries::EmptySize);
18136  }
18137 
18138  /// Reset all variable-length fields if any.
18141  {
18142  entriesNull();
18143  return *this;
18144  }
18145 
18146  /// Reset all variable-length and optional fields if any.
18147  ThisType& reset()
18149  {
18150  resetVariableFields();
18151  return *this;
18152  }
18153 
18154  /// \return class name.
18158  static const Char* className()
18159  {
18160  return "ChannelReset4";
18161  }
18162 
18163  /// FIX message type.
18167  static StrRef fixType()
18169  {
18170  return constructStrRef("X");
18171  }
18172 
18173  /// \return the end of the message.
18175  const void* tail() const
18177  {
18178  return
18179  entries().tail();
18180  }
18181 
18182  /// \return the size occupied by the message.
18186  {
18187  return
18188  SbeMessage::calculateBinarySize(tail());
18189  }
18190 
18191 private:
18192  void checkLength(
18193  EncodedLength length, SchemaVersion version) const
18194  {
18195  const EncodedLength minimalRequiredLength =
18196  minimalBlockLength(version) +
18197  MessageHeader::Size +
18198  getMinimalVariableFieldsSize(version);
18199 
18200  checkBinaryLength(
18201  *this, length, minimalRequiredLength);
18202  }
18203 
18204  /// Checks variable fields consistency.
18205  void checkVarLenFields() const
18206  {
18207  groups().
18208  checkTail<Entries>();
18209  }
18210 
18211  void checkCompatibility() const
18212  {
18213  assert(TemplateId == templateId());
18214 
18215  checkSchema<Schema>(schemaId(), version());
18216  checkLength(bufferSize(), version());
18217  checkVarLenFields();
18218  }
18219 
18220  /// Access helper.
18221  struct EntriesAccess
18222  {
18223  Entries operator()(const ChannelReset4& obj) const
18225  {
18226  return obj.
18227  groups().
18228  head<Entries>();
18229  }
18230  };
18231 
18232  /// Reset an instance of the repeating group.
18233  /// All the following data will be invalidated.
18234  void entriesNull()
18236  {
18237  resetGroup<Entries>(EntriesAccess(), *this);
18238  }
18239 };
18240 
18241 /// AdminHeartbeat.
18244 : SbeMessage
18245 {
18246  /// Used template schema.
18248 
18249  /// This type alias.
18251 
18252  /// Message template ID from SBE schema.
18253  enum { TemplateId = 12 };
18254 
18255  /// Initializes a blank instance.
18256  AdminHeartbeat12() ONIXS_CONFLATEDTCP_DEFAULT;
18257 
18258  /// Initializes an instance over the given memory block.
18260  void* data,
18261  EncodedLength length,
18262  SchemaVersion version = Schema::Version)
18263  : SbeMessage(data, length, version)
18264  {
18265  checkVersion<Schema>(version);
18266  checkLength(length, version);
18267  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
18268  reset();
18269  }
18270 
18271  /// Initializes an instance over the given memory block
18272  /// With no variable-length fields initialization
18273  /// It is assumed that the user does such an initialization manually.
18275  void* data,
18276  EncodedLength length,
18277  NoFieldsInit,
18278  SchemaVersion version = Schema::Version)
18279  : SbeMessage(data, length, version)
18280  {
18281  checkVersion<Schema>(version);
18282  checkLength(length, version);
18283  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
18284  resetVariableFields();
18285  }
18286 
18287  /// Creates an instance over the given memory block.
18289  void* data,
18290  EncodedLength length,
18291  NoInit)
18292  : SbeMessage(data, length)
18293  {
18294  checkCompatibility();
18295  }
18296 
18297  /// Creates an instance over the given SBE message.
18298  explicit
18300  const SbeMessage& message)
18301  : SbeMessage(message)
18302  {
18303  assert(message.valid());
18304 
18305  checkCompatibility();
18306  }
18307 
18308  /// Minimal size of message body in bytes.
18311  static
18312  BlockLength
18314  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18316  {
18317  return
18318  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18319  0;
18320  }
18321 
18322  /// Size of message body in bytes.
18327  {
18328  return
18329  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18330  minimalBlockLength(version);
18331  }
18332 
18333  /// Minimal variable fields size (when variable-length fields are empty).
18337  static
18338  MessageSize
18340  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18341  {
18342  return
18343  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18344  0;
18345  }
18346 
18347  /// Reset all variable-length fields if any.
18350  {
18351  return *this;
18352  }
18353 
18354  /// Reset all variable-length and optional fields if any.
18355  ThisType& reset()
18357  {
18358  resetVariableFields();
18359  return *this;
18360  }
18361 
18362  /// \return class name.
18366  static const Char* className()
18367  {
18368  return "AdminHeartbeat12";
18369  }
18370 
18371  /// FIX message type.
18375  static StrRef fixType()
18377  {
18378  return constructStrRef("0");
18379  }
18380 
18381  /// \return the end of the message.
18383  const void* tail() const
18385  {
18386  return
18387  toOpaquePtr(
18388  advanceByBytes(
18389  binary(),
18390  static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
18391  MessageHeader::Size));
18392  }
18393 
18394  /// \return the size occupied by the message.
18398  {
18399  return
18400  SbeMessage::calculateBinarySize(tail());
18401  }
18402 
18403 private:
18404  void checkLength(
18405  EncodedLength length, SchemaVersion version) const
18406  {
18407  const EncodedLength minimalRequiredLength =
18408  minimalBlockLength(version) +
18409  MessageHeader::Size +
18410  getMinimalVariableFieldsSize(version);
18411 
18412  checkBinaryLength(
18413  *this, length, minimalRequiredLength);
18414  }
18415 
18416  void checkCompatibility() const
18417  {
18418  assert(TemplateId == templateId());
18419 
18420  checkSchema<Schema>(schemaId(), version());
18421  checkLength(bufferSize(), version());
18422  }
18423 };
18424 
18425 /// AdminLogin.
18428 : SbeMessage
18429 {
18430  /// Used template schema.
18432 
18433  /// This type alias.
18435 
18436  /// Message template ID from SBE schema.
18437  enum { TemplateId = 15 };
18438 
18439  /// Initializes a blank instance.
18440  AdminLogin15() ONIXS_CONFLATEDTCP_DEFAULT;
18441 
18442  /// Initializes an instance over the given memory block.
18444  void* data,
18445  EncodedLength length,
18446  SchemaVersion version = Schema::Version)
18447  : SbeMessage(data, length, version)
18448  {
18449  checkVersion<Schema>(version);
18450  checkLength(length, version);
18451  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
18452  reset();
18453  }
18454 
18455  /// Initializes an instance over the given memory block
18456  /// With no variable-length fields initialization
18457  /// It is assumed that the user does such an initialization manually.
18459  void* data,
18460  EncodedLength length,
18461  NoFieldsInit,
18462  SchemaVersion version = Schema::Version)
18463  : SbeMessage(data, length, version)
18464  {
18465  checkVersion<Schema>(version);
18466  checkLength(length, version);
18467  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
18468  resetVariableFields();
18469  }
18470 
18471  /// Creates an instance over the given memory block.
18473  void* data,
18474  EncodedLength length,
18475  NoInit)
18476  : SbeMessage(data, length)
18477  {
18478  checkCompatibility();
18479  }
18480 
18481  /// Creates an instance over the given SBE message.
18482  explicit
18484  const SbeMessage& message)
18485  : SbeMessage(message)
18486  {
18487  assert(message.valid());
18488 
18489  checkCompatibility();
18490  }
18491 
18492  /// Heartbeat interval (seconds).
18496  {
18498 
18499  return ordinary<Int8>(offset);
18500  }
18501 
18502  /// Heartbeat interval (seconds).
18503  ThisType& setHeartBtInt(Int8 value)
18505  {
18507 
18508  setOrdinary(offset, value);
18509  return *this;
18510  }
18511 
18512  /// Minimal size of message body in bytes.
18515  static
18516  BlockLength
18518  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18520  {
18521  return
18522  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18523  1;
18524  }
18525 
18526  /// Size of message body in bytes.
18531  {
18532  return
18533  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18534  minimalBlockLength(version);
18535  }
18536 
18537  /// Minimal variable fields size (when variable-length fields are empty).
18541  static
18542  MessageSize
18544  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18545  {
18546  return
18547  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18548  0;
18549  }
18550 
18551  /// Reset all variable-length fields if any.
18554  {
18555  return *this;
18556  }
18557 
18558  /// Reset all variable-length and optional fields if any.
18559  ThisType& reset()
18561  {
18562  resetVariableFields();
18563  return *this;
18564  }
18565 
18566  /// \return class name.
18570  static const Char* className()
18571  {
18572  return "AdminLogin15";
18573  }
18574 
18575  /// FIX message type.
18579  static StrRef fixType()
18581  {
18582  return constructStrRef("A");
18583  }
18584 
18585  /// \return the end of the message.
18587  const void* tail() const
18589  {
18590  return
18591  toOpaquePtr(
18592  advanceByBytes(
18593  binary(),
18594  static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
18595  MessageHeader::Size));
18596  }
18597 
18598  /// \return the size occupied by the message.
18602  {
18603  return
18604  SbeMessage::calculateBinarySize(tail());
18605  }
18606 
18607 private:
18608  void checkLength(
18609  EncodedLength length, SchemaVersion version) const
18610  {
18611  const EncodedLength minimalRequiredLength =
18612  minimalBlockLength(version) +
18613  MessageHeader::Size +
18614  getMinimalVariableFieldsSize(version);
18615 
18616  checkBinaryLength(
18617  *this, length, minimalRequiredLength);
18618  }
18619 
18620  void checkCompatibility() const
18621  {
18622  assert(TemplateId == templateId());
18623 
18624  checkSchema<Schema>(schemaId(), version());
18625  checkLength(bufferSize(), version());
18626  }
18627 };
18628 
18629 /// AdminLogout.
18632 : SbeMessage
18633 {
18634  /// Used template schema.
18636 
18637  /// This type alias.
18639 
18640  /// Message template ID from SBE schema.
18641  enum { TemplateId = 16 };
18642 
18643  /// Initializes a blank instance.
18644  AdminLogout16() ONIXS_CONFLATEDTCP_DEFAULT;
18645 
18646  /// Initializes an instance over the given memory block.
18648  void* data,
18649  EncodedLength length,
18650  SchemaVersion version = Schema::Version)
18651  : SbeMessage(data, length, version)
18652  {
18653  checkVersion<Schema>(version);
18654  checkLength(length, version);
18655  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
18656  reset();
18657  }
18658 
18659  /// Initializes an instance over the given memory block
18660  /// With no variable-length fields initialization
18661  /// It is assumed that the user does such an initialization manually.
18663  void* data,
18664  EncodedLength length,
18665  NoFieldsInit,
18666  SchemaVersion version = Schema::Version)
18667  : SbeMessage(data, length, version)
18668  {
18669  checkVersion<Schema>(version);
18670  checkLength(length, version);
18671  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
18672  resetVariableFields();
18673  }
18674 
18675  /// Creates an instance over the given memory block.
18677  void* data,
18678  EncodedLength length,
18679  NoInit)
18680  : SbeMessage(data, length)
18681  {
18682  checkCompatibility();
18683  }
18684 
18685  /// Creates an instance over the given SBE message.
18686  explicit
18688  const SbeMessage& message)
18689  : SbeMessage(message)
18690  {
18691  assert(message.valid());
18692 
18693  checkCompatibility();
18694  }
18695 
18696  /// Free format text string. May include logout confirmation
18697  /// or reason for logout.
18699  StrRef text() const
18701  {
18704 
18705  return fixedStr<length>(offset);
18706  }
18707 
18708  /// Free format text string. May include logout confirmation
18709  /// or reason for logout.
18710  ThisType& setText(StrRef value)
18712  {
18715 
18716  setFixedStr<length>(offset, value);
18717  return *this;
18718  }
18719 
18720  /// Minimal size of message body in bytes.
18723  static
18724  BlockLength
18726  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18728  {
18729  return
18730  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18731  180;
18732  }
18733 
18734  /// Size of message body in bytes.
18739  {
18740  return
18741  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18742  minimalBlockLength(version);
18743  }
18744 
18745  /// Minimal variable fields size (when variable-length fields are empty).
18749  static
18750  MessageSize
18752  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18753  {
18754  return
18755  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18756  0;
18757  }
18758 
18759  /// Reset all variable-length fields if any.
18762  {
18763  return *this;
18764  }
18765 
18766  /// Reset all variable-length and optional fields if any.
18767  ThisType& reset()
18769  {
18770  resetVariableFields();
18771  return *this;
18772  }
18773 
18774  /// \return class name.
18778  static const Char* className()
18779  {
18780  return "AdminLogout16";
18781  }
18782 
18783  /// FIX message type.
18787  static StrRef fixType()
18789  {
18790  return constructStrRef("5");
18791  }
18792 
18793  /// \return the end of the message.
18795  const void* tail() const
18797  {
18798  return
18799  toOpaquePtr(
18800  advanceByBytes(
18801  binary(),
18802  static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
18803  MessageHeader::Size));
18804  }
18805 
18806  /// \return the size occupied by the message.
18810  {
18811  return
18812  SbeMessage::calculateBinarySize(tail());
18813  }
18814 
18815 private:
18816  void checkLength(
18817  EncodedLength length, SchemaVersion version) const
18818  {
18819  const EncodedLength minimalRequiredLength =
18820  minimalBlockLength(version) +
18821  MessageHeader::Size +
18822  getMinimalVariableFieldsSize(version);
18823 
18824  checkBinaryLength(
18825  *this, length, minimalRequiredLength);
18826  }
18827 
18828  void checkCompatibility() const
18829  {
18830  assert(TemplateId == templateId());
18831 
18832  checkSchema<Schema>(schemaId(), version());
18833  checkLength(bufferSize(), version());
18834  }
18835 };
18836 
18837 /// MDInstrumentDefinitionFuture.
18840 : SbeMessage
18841 {
18842  /// Used template schema.
18844 
18845  /// This type alias.
18847 
18848  /// Message template ID from SBE schema.
18849  enum { TemplateId = 54 };
18850 
18851  /// Number of repeating EventType entries.
18852  /// Entry of EventsEntry repeating group.
18855  <
18857  >
18858  {
18859  /// Base class type.
18860  typedef
18862  <
18864  >
18866 
18867  /// This type alias.
18869 
18870  /// Initializes instance of given
18871  /// version over given memory block.
18873  void* data,
18874  EncodedLength length,
18875  SchemaVersion version)
18876  : Base(data, length, version)
18877  {
18878  assert(version >= Schema::MinimalVersion);
18879  assert(length >= minimalBlockLength(version));
18880  }
18881 
18882  /// Reset all variable-length fields if any.
18885  {
18886  return *this;
18887  }
18888 
18889  /// Reset all variable-length and optional fields if any.
18890  ThisType& reset()
18892  {
18893  resetVariableFields();
18894  return *this;
18895  }
18896 
18897  /// Code to represent the type of event.
18901  {
18903 
18904  return enumeration<EventType>(offset);
18905  }
18906 
18907  /// Code to represent the type of event.
18910  {
18912 
18913  setEnumeration<EventType>(offset, value);
18914  return *this;
18915  }
18916 
18917  /// Date and Time of instument Activation or Expiration event
18918  /// sent as number of nanoseconds since Unix epoch.
18922  {
18924 
18925  return ordinary<Timestamp>(offset);
18926  }
18927 
18928  /// Date and Time of instument Activation or Expiration event
18929  /// sent as number of nanoseconds since Unix epoch.
18930  ThisType& setEventTime(Timestamp value)
18932  {
18934 
18935  setOrdinary(offset, value.sinceEpoch());
18936  return *this;
18937  }
18938 
18939  /// \return size of entry body in bytes
18940  /// for given version of message template.
18945  {
18946  return
18947  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18948  minimalBlockLength(version);
18949  }
18950 
18951  /// \return minimal size of entry body in bytes
18952  /// for given version of message template.
18955  static
18956  BlockLength
18958  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
18960  {
18961  return
18962  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
18963  9;
18964  }
18965 
18966  /// Entity class name.
18970  static const Char* className()
18971  {
18972  return "InstrumentDefinitionFuture54.EventsEntry";
18973  }
18974  };
18975 
18976  /// Repeating group containing EventsEntry entries.
18977  typedef
18980 
18981  /// Number of repeating FeedType entries.
18982  /// Entry of FeedTypesEntry repeating group.
18985  <
18987  >
18988  {
18989  /// Base class type.
18990  typedef
18992  <
18994  >
18996 
18997  /// This type alias.
18999 
19000  /// Initializes instance of given
19001  /// version over given memory block.
19003  void* data,
19004  EncodedLength length,
19005  SchemaVersion version)
19006  : Base(data, length, version)
19007  {
19008  assert(version >= Schema::MinimalVersion);
19009  assert(length >= minimalBlockLength(version));
19010  }
19011 
19012  /// Reset all variable-length fields if any.
19015  {
19016  return *this;
19017  }
19018 
19019  /// Reset all variable-length and optional fields if any.
19020  ThisType& reset()
19022  {
19023  resetVariableFields();
19024  return *this;
19025  }
19026 
19027  /// Describes a class of service for a given data feed. GBX-
19028  /// Real Book, GBI-Implied Book.
19032  {
19035 
19036  return fixedStr<length>(offset);
19037  }
19038 
19039  /// Describes a class of service for a given data feed. GBX-
19040  /// Real Book, GBI-Implied Book.
19041  ThisType& setFeedType(StrRef value)
19043  {
19046 
19047  setFixedStr<length>(offset, value);
19048  return *this;
19049  }
19050 
19051  /// Book depth.
19055  {
19057 
19058  return ordinary<Int8>(offset);
19059  }
19060 
19061  /// Book depth.
19062  ThisType& setMarketDepth(Int8 value)
19064  {
19066 
19067  setOrdinary(offset, value);
19068  return *this;
19069  }
19070 
19071  /// \return size of entry body in bytes
19072  /// for given version of message template.
19077  {
19078  return
19079  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
19080  minimalBlockLength(version);
19081  }
19082 
19083  /// \return minimal size of entry body in bytes
19084  /// for given version of message template.
19087  static
19088  BlockLength
19090  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
19092  {
19093  return
19094  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
19095  4;
19096  }
19097 
19098  /// Entity class name.
19102  static const Char* className()
19103  {
19104  return "InstrumentDefinitionFuture54.FeedTypesEntry";
19105  }
19106  };
19107 
19108  /// Repeating group containing FeedTypesEntry entries.
19109  typedef
19112 
19113  /// Number of repeating InstrAttribType entries.
19114  /// Entry of InstAttribEntry repeating group.
19117  <
19119  >
19120  {
19121  /// Base class type.
19122  typedef
19124  <
19126  >
19128 
19129  /// This type alias.
19131 
19132  /// Initializes instance of given
19133  /// version over given memory block.
19135  void* data,
19136  EncodedLength length,
19137  SchemaVersion version)
19138  : Base(data, length, version)
19139  {
19140  assert(version >= Schema::MinimalVersion);
19141  assert(length >= minimalBlockLength(version));
19142  }
19143 
19144  /// Reset all variable-length fields if any.
19147  {
19148  return *this;
19149  }
19150 
19151  /// Reset all variable-length and optional fields if any.
19152  ThisType& reset()
19154  {
19155  resetVariableFields();
19156  return *this;
19157  }
19158 
19159  /// Instrument eligibility attributes.
19164  {
19165  return InstAttribType();
19166  }
19167 
19168  /// Bitmap field of 32 Boolean type instrument eligibility
19169  /// flags.
19173  {
19175 
19176  return ordinary<InstAttribValue>(offset);
19177  }
19178 
19179  /// Bitmap field of 32 Boolean type instrument eligibility
19180  /// flags.
19183  {
19185 
19186  setOrdinary(offset, value);
19187  return *this;
19188  }
19189 
19190  /// \return size of entry body in bytes
19191  /// for given version of message template.
19196  {
19197  return
19198  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
19199  minimalBlockLength(version);
19200  }
19201 
19202  /// \return minimal size of entry body in bytes
19203  /// for given version of message template.
19206  static
19207  BlockLength
19209  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
19211  {
19212  return
19213  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
19214  4;
19215  }
19216 
19217  /// Entity class name.
19221  static const Char* className()
19222  {
19223  return "InstrumentDefinitionFuture54.InstAttribEntry";
19224  }
19225  };
19226 
19227  /// Repeating group containing InstAttribEntry entries.
19228  typedef
19231 
19232  /// Number of entries.
19233  /// Entry of LotTypeRulesEntry repeating group.
19236  <
19238  >
19239  {
19240  /// Base class type.
19241  typedef
19243  <
19245  >
19247 
19248  /// This type alias.
19250 
19251  /// Initializes instance of given
19252  /// version over given memory block.
19254  void* data,
19255  EncodedLength length,
19256  SchemaVersion version)
19257  : Base(data, length, version)
19258  {
19259  assert(version >= Schema::MinimalVersion);
19260  assert(length >= minimalBlockLength(version));
19261  }
19262 
19263  /// Reset all variable-length fields if any.
19266  {
19267  return *this;
19268  }
19269 
19270  /// Reset all variable-length and optional fields if any.
19271  ThisType& reset()
19273  {
19274  minLotSizeNull();
19275 
19276  resetVariableFields();
19277  return *this;
19278  }
19279 
19280  /// This tag is required to interpret the value in tag
19281  /// 1231-MinLotSize.
19283  Int8 lotType() const
19285  {
19287 
19288  return ordinary<Int8>(offset);
19289  }
19290 
19291  /// This tag is required to interpret the value in tag
19292  /// 1231-MinLotSize.
19293  ThisType& setLotType(Int8 value)
19295  {
19297 
19298  setOrdinary(offset, value);
19299  return *this;
19300  }
19301 
19302  /// Minimum quantity accepted for order entry. If tag
19303  /// 1093-LotType=4, this value is the minimum quantity for
19304  /// order entry expressed in the applicable units, specified
19305  /// in tag 996-UnitOfMeasure, e.g. megawatts.
19307  bool minLotSize(DecimalQty& value) const
19309  {
19311 
19312  return decimal(value, offset, NullDecimalQty());
19313  }
19314 
19315  /// Minimum quantity accepted for order entry. If tag
19316  /// 1093-LotType=4, this value is the minimum quantity for
19317  /// order entry expressed in the applicable units, specified
19318  /// in tag 996-UnitOfMeasure, e.g. megawatts.
19319  ThisType& setMinLotSize(DecimalQty value)
19321  {
19323 
19324  setOrdinary(offset, value);
19325  return *this;
19326  }
19327 
19328  ThisType& minLotSizeNull()
19330  {
19332 
19333  setOrdinary(offset, NullDecimalQty());
19334  return *this;
19335  }
19336 
19337  /// \return size of entry body in bytes
19338  /// for given version of message template.
19343  {
19344  return
19345  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
19346  minimalBlockLength(version);
19347  }
19348 
19349  /// \return minimal size of entry body in bytes
19350  /// for given version of message template.
19353  static
19354  BlockLength
19356  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
19358  {
19359  return
19360  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
19361  5;
19362  }
19363 
19364  /// Entity class name.
19368  static const Char* className()
19369  {
19370  return "InstrumentDefinitionFuture54.LotTypeRulesEntry";
19371  }
19372  };
19373 
19374  /// Repeating group containing LotTypeRulesEntry entries.
19375  typedef
19378 
19379  /// Initializes a blank instance.
19380  InstrumentDefinitionFuture54() ONIXS_CONFLATEDTCP_DEFAULT;
19381 
19382  /// Initializes an instance over the given memory block.
19384  void* data,
19385  EncodedLength length,
19386  SchemaVersion version = Schema::Version)
19387  : SbeMessage(data, length, version)
19388  {
19389  checkVersion<Schema>(version);
19390  checkLength(length, version);
19391  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
19392  reset();
19393  }
19394 
19395  /// Initializes an instance over the given memory block
19396  /// With no variable-length fields initialization
19397  /// It is assumed that the user does such an initialization manually.
19399  void* data,
19400  EncodedLength length,
19401  NoFieldsInit,
19402  SchemaVersion version = Schema::Version)
19403  : SbeMessage(data, length, version)
19404  {
19405  checkVersion<Schema>(version);
19406  checkLength(length, version);
19407  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
19408  resetVariableFields();
19409  }
19410 
19411  /// Creates an instance over the given memory block.
19413  void* data,
19414  EncodedLength length,
19415  NoInit)
19416  : SbeMessage(data, length)
19417  {
19418  checkCompatibility();
19419  }
19420 
19421  /// Creates an instance over the given SBE message.
19422  explicit
19424  const SbeMessage& message)
19425  : SbeMessage(message)
19426  {
19427  assert(message.valid());
19428 
19429  checkCompatibility();
19430  }
19431 
19432  /// Bitmap field of eight Boolean type indicators reflecting
19433  /// the end of updates for a given Globex event.
19437  {
19439 
19440  return ordinary<MatchEventIndicator>(offset);
19441  }
19442 
19443  /// Bitmap field of eight Boolean type indicators reflecting
19444  /// the end of updates for a given Globex event.
19445  ThisType&
19447  MatchEventIndicator value)
19449  {
19451 
19452  setOrdinary(offset, value);
19453  return *this;
19454  }
19455 
19456  /// Total number of instruments in the Replay loop. Used on
19457  /// Replay Feed only.
19459  bool totNumReports(UInt32& value) const
19461  {
19463 
19464  return ordinary(value, offset, NullUInt32());
19465  }
19466 
19467  /// Total number of instruments in the Replay loop. Used on
19468  /// Replay Feed only.
19469  ThisType& setTotNumReports(UInt32 value)
19471  {
19473 
19474  setOrdinary(offset, value);
19475  return *this;
19476  }
19477 
19478  ThisType& totNumReportsNull()
19480  {
19482 
19483  setOrdinary(offset, NullUInt32());
19484  return *this;
19485  }
19486 
19487  /// Last Security update action on Incremental feed, 'D' or
19488  /// 'M' is used when a mid-week deletion or modification (i.e.
19489  /// extension) occurs.
19494  {
19496 
19497  return enumeration<SecurityUpdateAction>(offset);
19498  }
19499 
19500  /// Last Security update action on Incremental feed, 'D' or
19501  /// 'M' is used when a mid-week deletion or modification (i.e.
19502  /// extension) occurs.
19503  ThisType&
19507  {
19509 
19510  setEnumeration<SecurityUpdateAction>(offset, value);
19511  return *this;
19512  }
19513 
19514  /// Timestamp of when the instrument was last added, modified
19515  /// or deleted.
19519  {
19521 
19522  return ordinary<Timestamp>(offset);
19523  }
19524 
19525  /// Timestamp of when the instrument was last added, modified
19526  /// or deleted.
19527  ThisType& setLastUpdateTime(Timestamp value)
19529  {
19531 
19532  setOrdinary(offset, value.sinceEpoch());
19533  return *this;
19534  }
19535 
19536  /// Identifies the current state of the instrument. In
19537  /// Security Definition message this tag is available in the
19538  /// Instrument Replay feed only.
19540  bool
19542  SecurityTradingStatus::Enum& value) const
19544  {
19546 
19547  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
19548  }
19549 
19550  /// Identifies the current state of the instrument. In
19551  /// Security Definition message this tag is available in the
19552  /// Instrument Replay feed only.
19553  ThisType&
19557  {
19559 
19560  setEnumeration<SecurityTradingStatus>(offset, value);
19561  return *this;
19562  }
19563 
19566  {
19568 
19569  setOrdinary(offset, NullUInt8());
19570  return *this;
19571  }
19572 
19573  /// The channel ID as defined in the XML Configuration file.
19575  Int16 applId() const
19577  {
19579 
19580  return ordinary<Int16>(offset);
19581  }
19582 
19583  /// The channel ID as defined in the XML Configuration file.
19584  ThisType& setApplId(Int16 value)
19586  {
19588 
19589  setOrdinary(offset, value);
19590  return *this;
19591  }
19592 
19593  /// Identifies the market segment, populated for all CME
19594  /// Globex instruments.
19598  {
19600 
19601  return ordinary<UInt8>(offset);
19602  }
19603 
19604  /// Identifies the market segment, populated for all CME
19605  /// Globex instruments.
19606  ThisType& setMarketSegmentId(UInt8 value)
19608  {
19610 
19611  setOrdinary(offset, value);
19612  return *this;
19613  }
19614 
19615  /// Product complex.
19619  {
19621 
19622  return ordinary<UInt8>(offset);
19623  }
19624 
19625  /// Product complex.
19626  ThisType& setUnderlyingProduct(UInt8 value)
19628  {
19630 
19631  setOrdinary(offset, value);
19632  return *this;
19633  }
19634 
19635  /// Exchange used to identify a security.
19639  {
19642 
19643  return fixedStr<length>(offset);
19644  }
19645 
19646  /// Exchange used to identify a security.
19647  ThisType& setSecurityExchange(StrRef value)
19649  {
19652 
19653  setFixedStr<length>(offset, value);
19654  return *this;
19655  }
19656 
19657  /// Security Group Code.
19661  {
19664 
19665  return fixedStr<length>(offset);
19666  }
19667 
19668  /// Security Group Code.
19669  ThisType& setSecurityGroup(StrRef value)
19671  {
19674 
19675  setFixedStr<length>(offset, value);
19676  return *this;
19677  }
19678 
19679  /// The underlying asset code also known as Product Code.
19681  StrRef asset() const
19683  {
19686 
19687  return fixedStr<length>(offset);
19688  }
19689 
19690  /// The underlying asset code also known as Product Code.
19691  ThisType& setAsset(StrRef value)
19693  {
19696 
19697  setFixedStr<length>(offset, value);
19698  return *this;
19699  }
19700 
19701  /// Instrument Name or Symbol.
19703  StrRef symbol() const
19705  {
19708 
19709  return fixedStr<length>(offset);
19710  }
19711 
19712  /// Instrument Name or Symbol.
19713  ThisType& setSymbol(StrRef value)
19715  {
19718 
19719  setFixedStr<length>(offset, value);
19720  return *this;
19721  }
19722 
19723  /// Unique instrument ID.
19727  {
19729 
19730  return ordinary<Int32>(offset);
19731  }
19732 
19733  /// Unique instrument ID.
19734  ThisType& setSecurityId(Int32 value)
19736  {
19738 
19739  setOrdinary(offset, value);
19740  return *this;
19741  }
19742 
19743  /// Identifies class or source of tag 48-SecurityID value.
19748  {
19749  return SecurityIDSource();
19750  }
19751 
19752  /// Security Type.
19756  {
19759 
19760  return fixedStr<length>(offset);
19761  }
19762 
19763  /// Security Type.
19764  ThisType& setSecurityType(StrRef value)
19766  {
19769 
19770  setFixedStr<length>(offset, value);
19771  return *this;
19772  }
19773 
19774  /// ISO standard instrument categorization code.
19776  StrRef cfiCode() const
19778  {
19781 
19782  return fixedStr<length>(offset);
19783  }
19784 
19785  /// ISO standard instrument categorization code.
19786  ThisType& setCfiCode(StrRef value)
19788  {
19791 
19792  setFixedStr<length>(offset, value);
19793  return *this;
19794  }
19795 
19796  /// This field provides the actual calendar date for contract
19797  /// maturity.
19801  {
19803 
19804  return ordinary(value, offset, NullMaturityMonthYear());
19805  }
19806 
19807  /// This field provides the actual calendar date for contract
19808  /// maturity.
19811  {
19813 
19814  setOrdinary(offset, value);
19815  return *this;
19816  }
19817 
19820  {
19822 
19823  setOrdinary(offset, NullMaturityMonthYear());
19824  return *this;
19825  }
19826 
19827  /// Identifies currency used for price.
19831  {
19834 
19835  return fixedStr<length>(offset);
19836  }
19837 
19838  /// Identifies currency used for price.
19839  ThisType& setCurrency(StrRef value)
19841  {
19844 
19845  setFixedStr<length>(offset, value);
19846  return *this;
19847  }
19848 
19849  /// Identifies currency used for settlement, if different from
19850  /// trading currency.
19854  {
19857 
19858  return fixedStr<length>(offset);
19859  }
19860 
19861  /// Identifies currency used for settlement, if different from
19862  /// trading currency.
19863  ThisType& setSettlCurrency(StrRef value)
19865  {
19868 
19869  setFixedStr<length>(offset, value);
19870  return *this;
19871  }
19872 
19873  /// Matching algorithm.
19877  {
19879 
19880  return ordinary<CHAR>(offset);
19881  }
19882 
19883  /// Matching algorithm.
19884  ThisType& setMatchAlgorithm(CHAR value)
19886  {
19888 
19889  setOrdinary(offset, value);
19890  return *this;
19891  }
19892 
19893  /// The minimum trading volume for a security.
19897  {
19899 
19900  return ordinary<UInt32>(offset);
19901  }
19902 
19903  /// The minimum trading volume for a security.
19904  ThisType& setMinTradeVol(UInt32 value)
19906  {
19908 
19909  setOrdinary(offset, value);
19910  return *this;
19911  }
19912 
19913  /// The maximum trading volume for a security.
19917  {
19919 
19920  return ordinary<UInt32>(offset);
19921  }
19922 
19923  /// The maximum trading volume for a security.
19924  ThisType& setMaxTradeVol(UInt32 value)
19926  {
19928 
19929  setOrdinary(offset, value);
19930  return *this;
19931  }
19932 
19933  /// Minimum constant tick for the instrument, sent only if
19934  /// instrument is non-VTT (Variable Tick table) eligible.
19938  {
19940 
19941  return decimal<PRICE9>(offset);
19942  }
19943 
19944  /// Minimum constant tick for the instrument, sent only if
19945  /// instrument is non-VTT (Variable Tick table) eligible.
19946  ThisType& setMinPriceIncrement(PRICE9 value)
19948  {
19950 
19951  setOrdinary(offset, value);
19952  return *this;
19953  }
19954 
19955  /// Contains the multiplier to convert the CME Globex display
19956  /// price to the conventional price.
19960  {
19962 
19963  return decimal<Decimal9>(offset);
19964  }
19965 
19966  /// Contains the multiplier to convert the CME Globex display
19967  /// price to the conventional price.
19968  ThisType& setDisplayFactor(Decimal9 value)
19970  {
19972 
19973  setOrdinary(offset, value);
19974  return *this;
19975  }
19976 
19977  /// Price Denominator of Main Fraction.
19979  bool mainFraction(UInt8& value) const
19981  {
19983 
19984  return ordinary(value, offset, NullUInt8());
19985  }
19986 
19987  /// Price Denominator of Main Fraction.
19988  ThisType& setMainFraction(UInt8 value)
19990  {
19992 
19993  setOrdinary(offset, value);
19994  return *this;
19995  }
19996 
19997  ThisType& mainFractionNull()
19999  {
20001 
20002  setOrdinary(offset, NullUInt8());
20003  return *this;
20004  }
20005 
20006  /// Price Denominator of Sub Fraction.
20008  bool subFraction(UInt8& value) const
20010  {
20012 
20013  return ordinary(value, offset, NullUInt8());
20014  }
20015 
20016  /// Price Denominator of Sub Fraction.
20017  ThisType& setSubFraction(UInt8 value)
20019  {
20021 
20022  setOrdinary(offset, value);
20023  return *this;
20024  }
20025 
20026  ThisType& subFractionNull()
20028  {
20030 
20031  setOrdinary(offset, NullUInt8());
20032  return *this;
20033  }
20034 
20035  /// Number of decimals in fractional display price.
20037  bool priceDisplayFormat(UInt8& value) const
20039  {
20041 
20042  return ordinary(value, offset, NullUInt8());
20043  }
20044 
20045  /// Number of decimals in fractional display price.
20046  ThisType& setPriceDisplayFormat(UInt8 value)
20048  {
20050 
20051  setOrdinary(offset, value);
20052  return *this;
20053  }
20054 
20057  {
20059 
20060  setOrdinary(offset, NullUInt8());
20061  return *this;
20062  }
20063 
20064  /// Unit of measure for the products' original contract size.
20065  /// This will be populated for all products listed on CME
20066  /// Globex.
20070  {
20073 
20074  return fixedStr<length>(offset);
20075  }
20076 
20077  /// Unit of measure for the products' original contract size.
20078  /// This will be populated for all products listed on CME
20079  /// Globex.
20080  ThisType& setUnitOfMeasure(StrRef value)
20082  {
20085 
20086  setFixedStr<length>(offset, value);
20087  return *this;
20088  }
20089 
20090  /// This field contains the contract size for each instrument.
20091  /// Used in combination with tag 996-UnitofMeasure.
20093  bool unitOfMeasureQty(Decimal9& value) const
20095  {
20097 
20098  return decimal(value, offset, NullDecimal9());
20099  }
20100 
20101  /// This field contains the contract size for each instrument.
20102  /// Used in combination with tag 996-UnitofMeasure.
20105  {
20107 
20108  setOrdinary(offset, value);
20109  return *this;
20110  }
20111 
20114  {
20116 
20117  setOrdinary(offset, NullDecimal9());
20118  return *this;
20119  }
20120 
20121  /// Reference price for prelisted instruments or the last
20122  /// calculated Settlement whether it be Theoretical,
20123  /// Preliminary or a Final Settle of the session.
20125  bool tradingReferencePrice(PRICE9& value) const
20127  {
20129 
20130  return decimal(value, offset, NullPRICE9());
20131  }
20132 
20133  /// Reference price for prelisted instruments or the last
20134  /// calculated Settlement whether it be Theoretical,
20135  /// Preliminary or a Final Settle of the session.
20138  {
20140 
20141  setOrdinary(offset, value);
20142  return *this;
20143  }
20144 
20147  {
20149 
20150  setOrdinary(offset, NullPRICE9());
20151  return *this;
20152  }
20153 
20154  /// Bitmap field of eight Boolean type indicators representing
20155  /// settlement price type.
20159  {
20161 
20162  return ordinary<SettlPriceType>(offset);
20163  }
20164 
20165  /// Bitmap field of eight Boolean type indicators representing
20166  /// settlement price type.
20169  {
20171 
20172  setOrdinary(offset, value);
20173  return *this;
20174  }
20175 
20176  /// The total open interest for the market at the close of the
20177  /// prior trading session.
20179  bool openInterestQty(Int32& value) const
20181  {
20183 
20184  return ordinary(value, offset, NullInt32());
20185  }
20186 
20187  /// The total open interest for the market at the close of the
20188  /// prior trading session.
20189  ThisType& setOpenInterestQty(Int32 value)
20191  {
20193 
20194  setOrdinary(offset, value);
20195  return *this;
20196  }
20197 
20200  {
20202 
20203  setOrdinary(offset, NullInt32());
20204  return *this;
20205  }
20206 
20207  /// The total cleared volume of instrument traded during the
20208  /// prior trading session.
20210  bool clearedVolume(Int32& value) const
20212  {
20214 
20215  return ordinary(value, offset, NullInt32());
20216  }
20217 
20218  /// The total cleared volume of instrument traded during the
20219  /// prior trading session.
20220  ThisType& setClearedVolume(Int32 value)
20222  {
20224 
20225  setOrdinary(offset, value);
20226  return *this;
20227  }
20228 
20229  ThisType& clearedVolumeNull()
20231  {
20233 
20234  setOrdinary(offset, NullInt32());
20235  return *this;
20236  }
20237 
20238  /// Allowable high limit price for the trading day.
20240  bool highLimitPrice(PRICE9& value) const
20242  {
20244 
20245  return decimal(value, offset, NullPRICE9());
20246  }
20247 
20248  /// Allowable high limit price for the trading day.
20249  ThisType& setHighLimitPrice(PRICE9 value)
20251  {
20253 
20254  setOrdinary(offset, value);
20255  return *this;
20256  }
20257 
20260  {
20262 
20263  setOrdinary(offset, NullPRICE9());
20264  return *this;
20265  }
20266 
20267  /// Allowable low limit price for the trading day.
20269  bool lowLimitPrice(PRICE9& value) const
20271  {
20273 
20274  return decimal(value, offset, NullPRICE9());
20275  }
20276 
20277  /// Allowable low limit price for the trading day.
20278  ThisType& setLowLimitPrice(PRICE9 value)
20280  {
20282 
20283  setOrdinary(offset, value);
20284  return *this;
20285  }
20286 
20287  ThisType& lowLimitPriceNull()
20289  {
20291 
20292  setOrdinary(offset, NullPRICE9());
20293  return *this;
20294  }
20295 
20296  /// Differential value for price banding.
20298  bool maxPriceVariation(PRICE9& value) const
20300  {
20302 
20303  return decimal(value, offset, NullPRICE9());
20304  }
20305 
20306  /// Differential value for price banding.
20307  ThisType& setMaxPriceVariation(PRICE9 value)
20309  {
20311 
20312  setOrdinary(offset, value);
20313  return *this;
20314  }
20315 
20318  {
20320 
20321  setOrdinary(offset, NullPRICE9());
20322  return *this;
20323  }
20324 
20325  /// Indicates the quantity that a contract will decay daily by
20326  /// once the decay start date is reached.
20328  bool decayQuantity(Int32& value) const
20330  {
20332 
20333  return ordinary(value, offset, NullInt32());
20334  }
20335 
20336  /// Indicates the quantity that a contract will decay daily by
20337  /// once the decay start date is reached.
20338  ThisType& setDecayQuantity(Int32 value)
20340  {
20342 
20343  setOrdinary(offset, value);
20344  return *this;
20345  }
20346 
20347  ThisType& decayQuantityNull()
20349  {
20351 
20352  setOrdinary(offset, NullInt32());
20353  return *this;
20354  }
20355 
20356  /// Indicates the date at which a decaying contract will begin
20357  /// to decay.
20359  bool decayStartDate(Timestamp& value) const
20361  {
20362  typedef LocalMktDate FieldValue;
20363 
20365 
20366  FieldValue fieldValue;
20367 
20368  if (ordinary(fieldValue, offset, NullLocalMktDate()))
20369  {
20370  value = localMktDateToTimestamp(fieldValue);
20371  return true;
20372  }
20373  return false;
20374  }
20375 
20376  /// Indicates the date at which a decaying contract will begin
20377  /// to decay.
20378  ThisType& setDecayStartDate(Timestamp value)
20380  {
20382 
20383  setOrdinary(offset, timestampToLocalMktDate(value));
20384  return *this;
20385  }
20386 
20389  {
20391 
20392  setOrdinary(offset, NullLocalMktDate());
20393  return *this;
20394  }
20395 
20396  /// Fixed contract value assigned to each product.
20398  bool originalContractSize(Int32& value) const
20400  {
20402 
20403  return ordinary(value, offset, NullInt32());
20404  }
20405 
20406  /// Fixed contract value assigned to each product.
20409  {
20411 
20412  setOrdinary(offset, value);
20413  return *this;
20414  }
20415 
20418  {
20420 
20421  setOrdinary(offset, NullInt32());
20422  return *this;
20423  }
20424 
20425  /// Number of deliverable units per instrument, e.g., peak
20426  /// days in maturity month or number of calendar days in
20427  /// maturity month.
20429  bool contractMultiplier(Int32& value) const
20431  {
20433 
20434  return ordinary(value, offset, NullInt32());
20435  }
20436 
20437  /// Number of deliverable units per instrument, e.g., peak
20438  /// days in maturity month or number of calendar days in
20439  /// maturity month.
20440  ThisType& setContractMultiplier(Int32 value)
20442  {
20444 
20445  setOrdinary(offset, value);
20446  return *this;
20447  }
20448 
20451  {
20453 
20454  setOrdinary(offset, NullInt32());
20455  return *this;
20456  }
20457 
20458  /// Indicates the type of multiplier being applied to the
20459  /// product. Optionally used in combination with tag
20460  /// 231-ContractMultiplier.
20462  bool contractMultiplierUnit(Int8& value) const
20464  {
20466 
20467  return ordinary(value, offset, NullInt8());
20468  }
20469 
20470  /// Indicates the type of multiplier being applied to the
20471  /// product. Optionally used in combination with tag
20472  /// 231-ContractMultiplier.
20475  {
20477 
20478  setOrdinary(offset, value);
20479  return *this;
20480  }
20481 
20484  {
20486 
20487  setOrdinary(offset, NullInt8());
20488  return *this;
20489  }
20490 
20491  /// The schedule according to which the electricity is
20492  /// delivered in a physical contract, or priced in a financial
20493  /// contract. Specifies whether the contract is defined
20494  /// according to the Easter Peak, Eastern Off-Peak, Western
20495  /// Peak or Western Off-Peak.
20497  bool flowScheduleType(Int8& value) const
20499  {
20501 
20502  return ordinary(value, offset, NullInt8());
20503  }
20504 
20505  /// The schedule according to which the electricity is
20506  /// delivered in a physical contract, or priced in a financial
20507  /// contract. Specifies whether the contract is defined
20508  /// according to the Easter Peak, Eastern Off-Peak, Western
20509  /// Peak or Western Off-Peak.
20510  ThisType& setFlowScheduleType(Int8 value)
20512  {
20514 
20515  setOrdinary(offset, value);
20516  return *this;
20517  }
20518 
20521  {
20523 
20524  setOrdinary(offset, NullInt8());
20525  return *this;
20526  }
20527 
20528  /// Monetary value equivalent to the minimum price fluctuation.
20530  bool minPriceIncrementAmount(PRICE9& value) const
20532  {
20534 
20535  return decimal(value, offset, NullPRICE9());
20536  }
20537 
20538  /// Monetary value equivalent to the minimum price fluctuation.
20541  {
20543 
20544  setOrdinary(offset, value);
20545  return *this;
20546  }
20547 
20550  {
20552 
20553  setOrdinary(offset, NullPRICE9());
20554  return *this;
20555  }
20556 
20557  /// User-defined instruments flag.
20561  {
20563 
20564  return ordinary<UserDefinedInstrument>(offset);
20565  }
20566 
20567  /// User-defined instruments flag.
20568  ThisType&
20570  UserDefinedInstrument value)
20572  {
20574 
20575  setOrdinary(offset, value);
20576  return *this;
20577  }
20578 
20579  /// Indicates session date corresponding to the settlement
20580  /// price in tag 1150-TradingReferencePrice.
20582  bool tradingReferenceDate(Timestamp& value) const
20584  {
20585  typedef LocalMktDate FieldValue;
20586 
20588 
20589  FieldValue fieldValue;
20590 
20591  if (ordinary(fieldValue, offset, NullLocalMktDate()))
20592  {
20593  value = localMktDateToTimestamp(fieldValue);
20594  return true;
20595  }
20596  return false;
20597  }
20598 
20599  /// Indicates session date corresponding to the settlement
20600  /// price in tag 1150-TradingReferencePrice.
20603  {
20605 
20606  setOrdinary(offset, timestampToLocalMktDate(value));
20607  return *this;
20608  }
20609 
20612  {
20614 
20615  setOrdinary(offset, NullLocalMktDate());
20616  return *this;
20617  }
20618 
20619  /// External unique instrument ID.
20621  bool instrumentGUId(UInt64& value) const
20623  {
20625 
20626  return ordinary(value, offset, NullUInt64());
20627  }
20628 
20629  /// External unique instrument ID.
20630  ThisType& setInstrumentGUId(UInt64 value)
20632  {
20634 
20635  setOrdinary(offset, value);
20636  return *this;
20637  }
20638 
20641  {
20643 
20644  setOrdinary(offset, NullUInt64());
20645  return *this;
20646  }
20647 
20648  /// \return instance of Events repeating group.
20650  Events events() const
20652  {
20653  return getGroup<Events>(EventsAccess(), *this);
20654  }
20655 
20656  /// \return instance of Events repeating group.
20660  {
20661  return getGroup<Events>(EventsAccess(), *this);
20662  }
20663 
20664  /// Setup repeating group with the given number of entries.
20665  /// Sets all optional fields of the group entries to null.
20666  /// \return NoEvents(864) repeating group.
20668  {
20669  return constructGroup<Events>(
20670  EventsAccess(),
20671  length,
20672  *this);
20673  }
20674 
20675  /// Setup repeating group with the given number of entries.
20676  /// \return NoEvents(864) repeating group.
20677  Events
20679  Events::Size length,
20680  NoFieldsInit)
20681  {
20682  return setupGroup<Events>(
20683  EventsAccess(),
20684  length,
20685  *this);
20686  }
20687 
20688  /// \return instance of FeedTypes repeating group.
20692  {
20693  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
20694  }
20695 
20696  /// \return instance of FeedTypes repeating group.
20700  {
20701  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
20702  }
20703 
20704  /// Setup repeating group with the given number of entries.
20705  /// Sets all optional fields of the group entries to null.
20706  /// \return NoMDFeedTypes(1141) repeating group.
20708  {
20709  return constructGroup<FeedTypes>(
20710  FeedTypesAccess(),
20711  length,
20712  *this);
20713  }
20714 
20715  /// Setup repeating group with the given number of entries.
20716  /// \return NoMDFeedTypes(1141) repeating group.
20717  FeedTypes
20719  FeedTypes::Size length,
20720  NoFieldsInit)
20721  {
20722  return setupGroup<FeedTypes>(
20723  FeedTypesAccess(),
20724  length,
20725  *this);
20726  }
20727 
20728  /// \return instance of InstAttrib repeating group.
20732  {
20733  return getGroup<InstAttrib>(
20734  InstAttribAccess(),
20735  *this);
20736  }
20737 
20738  /// \return instance of InstAttrib repeating group.
20742  {
20743  return getGroup<InstAttrib>(
20744  InstAttribAccess(),
20745  *this);
20746  }
20747 
20748  /// Setup repeating group with the given number of entries.
20749  /// Sets all optional fields of the group entries to null.
20750  /// \return NoInstAttrib(870) repeating group.
20752  {
20753  return constructGroup<InstAttrib>(
20754  InstAttribAccess(),
20755  length,
20756  *this);
20757  }
20758 
20759  /// Setup repeating group with the given number of entries.
20760  /// \return NoInstAttrib(870) repeating group.
20761  InstAttrib
20763  InstAttrib::Size length,
20764  NoFieldsInit)
20765  {
20766  return setupGroup<InstAttrib>(
20767  InstAttribAccess(),
20768  length,
20769  *this);
20770  }
20771 
20772  /// \return instance of LotTypeRules repeating group.
20776  {
20777  return getGroup<LotTypeRules>(
20778  LotTypeRulesAccess(),
20779  *this);
20780  }
20781 
20782  /// \return instance of LotTypeRules repeating group.
20786  {
20787  return getGroup<LotTypeRules>(
20788  LotTypeRulesAccess(),
20789  *this);
20790  }
20791 
20792  /// Setup repeating group with the given number of entries.
20793  /// Sets all optional fields of the group entries to null.
20794  /// \return NoLotTypeRules(1234) repeating group.
20795  LotTypeRules
20797  LotTypeRules::Size length)
20798  {
20799  return constructGroup<LotTypeRules>(
20800  LotTypeRulesAccess(),
20801  length,
20802  *this);
20803  }
20804 
20805  /// Setup repeating group with the given number of entries.
20806  /// \return NoLotTypeRules(1234) repeating group.
20807  LotTypeRules
20809  LotTypeRules::Size length,
20810  NoFieldsInit)
20811  {
20812  return setupGroup<LotTypeRules>(
20813  LotTypeRulesAccess(),
20814  length,
20815  *this);
20816  }
20817 
20818  /// Minimal size of message body in bytes.
20821  static
20822  BlockLength
20824  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
20826  {
20827  return
20828  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
20829  224;
20830  }
20831 
20832  /// Size of message body in bytes.
20837  {
20838  return
20839  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
20840  minimalBlockLength(version);
20841  }
20842 
20843  /// Minimal variable fields size (when variable-length fields are empty).
20847  static
20848  MessageSize
20850  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
20851  {
20852  return
20853  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
20854  static_cast<MessageSize>(Events::EmptySize) + static_cast<MessageSize>(FeedTypes::EmptySize) + static_cast<MessageSize>(InstAttrib::EmptySize) + static_cast<MessageSize>(LotTypeRules::EmptySize);
20855  }
20856 
20857  /// Reset all variable-length fields if any.
20860  {
20861  eventsNull();
20862  feedTypesNull();
20863  instAttribNull();
20864  lotTypeRulesNull();
20865  return *this;
20866  }
20867 
20868  /// Reset all variable-length and optional fields if any.
20869  ThisType& reset()
20871  {
20872  totNumReportsNull();
20873  securityTradingStatusNull();
20874  maturityMonthYearNull();
20875  mainFractionNull();
20876  subFractionNull();
20877  priceDisplayFormatNull();
20878  unitOfMeasureQtyNull();
20879  tradingReferencePriceNull();
20880  openInterestQtyNull();
20881  clearedVolumeNull();
20882  highLimitPriceNull();
20883  lowLimitPriceNull();
20884  maxPriceVariationNull();
20885  decayQuantityNull();
20886  decayStartDateNull();
20887  originalContractSizeNull();
20888  contractMultiplierNull();
20889  contractMultiplierUnitNull();
20890  flowScheduleTypeNull();
20891  minPriceIncrementAmountNull();
20892  tradingReferenceDateNull();
20893  instrumentGUIdNull();
20894 
20895  resetVariableFields();
20896  return *this;
20897  }
20898 
20899  /// \return class name.
20903  static const Char* className()
20904  {
20905  return "InstrumentDefinitionFuture54";
20906  }
20907 
20908  /// FIX message type.
20912  static StrRef fixType()
20914  {
20915  return constructStrRef("d");
20916  }
20917 
20918  /// \return the end of the message.
20920  const void* tail() const
20922  {
20923  return
20924  lotTypeRules().tail();
20925  }
20926 
20927  /// \return the size occupied by the message.
20931  {
20932  return
20933  SbeMessage::calculateBinarySize(tail());
20934  }
20935 
20936 private:
20937  void checkLength(
20938  EncodedLength length, SchemaVersion version) const
20939  {
20940  const EncodedLength minimalRequiredLength =
20941  minimalBlockLength(version) +
20942  MessageHeader::Size +
20943  getMinimalVariableFieldsSize(version);
20944 
20945  checkBinaryLength(
20946  *this, length, minimalRequiredLength);
20947  }
20948 
20949  /// Checks variable fields consistency.
20950  void checkVarLenFields() const
20951  {
20952  groups().
20953  checkTail<Events>().
20954  checkTail<FeedTypes>().
20955  checkTail<InstAttrib>().
20956  checkTail<LotTypeRules>();
20957  }
20958 
20959  void checkCompatibility() const
20960  {
20961  assert(TemplateId == templateId());
20962 
20963  checkSchema<Schema>(schemaId(), version());
20964  checkLength(bufferSize(), version());
20965  checkVarLenFields();
20966  }
20967 
20968  /// Access helper.
20969  struct EventsAccess
20970  {
20971  Events
20972  operator()(
20973  const InstrumentDefinitionFuture54& obj) const
20975  {
20976  return obj.
20977  groups().
20978  head<Events>();
20979  }
20980  };
20981 
20982  /// Reset an instance of the repeating group.
20983  /// All the following data will be invalidated.
20984  void eventsNull()
20986  {
20987  resetGroup<Events>(EventsAccess(), *this);
20988  }
20989 
20990  /// Access helper.
20991  struct FeedTypesAccess
20992  {
20993  FeedTypes
20994  operator()(
20995  const InstrumentDefinitionFuture54& obj) const
20997  {
20998  return obj.
20999  groups().
21000  tail<Events>().
21001  head<FeedTypes>();
21002  }
21003  };
21004 
21005  /// Reset an instance of the repeating group.
21006  /// All the following data will be invalidated.
21007  void feedTypesNull()
21009  {
21010  resetGroup<FeedTypes>(FeedTypesAccess(), *this);
21011  }
21012 
21013  /// Access helper.
21014  struct InstAttribAccess
21015  {
21016  InstAttrib
21017  operator()(
21018  const InstrumentDefinitionFuture54& obj) const
21020  {
21021  return obj.
21022  groups().
21023  tail<Events>().
21024  tail<FeedTypes>().
21025  head<InstAttrib>();
21026  }
21027  };
21028 
21029  /// Reset an instance of the repeating group.
21030  /// All the following data will be invalidated.
21031  void instAttribNull()
21033  {
21034  resetGroup<InstAttrib>(
21035  InstAttribAccess(),
21036  *this);
21037  }
21038 
21039  /// Access helper.
21040  struct LotTypeRulesAccess
21041  {
21042  LotTypeRules
21043  operator()(
21044  const InstrumentDefinitionFuture54& obj) const
21046  {
21047  return obj.
21048  groups().
21049  tail<Events>().
21050  tail<FeedTypes>().
21051  tail<InstAttrib>().
21052  head<LotTypeRules>();
21053  }
21054  };
21055 
21056  /// Reset an instance of the repeating group.
21057  /// All the following data will be invalidated.
21058  void lotTypeRulesNull()
21060  {
21061  resetGroup<LotTypeRules>(
21062  LotTypeRulesAccess(),
21063  *this);
21064  }
21065 };
21066 
21067 /// MDInstrumentDefinitionSpread.
21070 : SbeMessage
21071 {
21072  /// Used template schema.
21074 
21075  /// This type alias.
21077 
21078  /// Message template ID from SBE schema.
21079  enum { TemplateId = 56 };
21080 
21081  /// Number of repeating EventType entries.
21082  /// Entry of EventsEntry repeating group.
21085  <
21087  >
21088  {
21089  /// Base class type.
21090  typedef
21092  <
21094  >
21096 
21097  /// This type alias.
21099 
21100  /// Initializes instance of given
21101  /// version over given memory block.
21103  void* data,
21104  EncodedLength length,
21105  SchemaVersion version)
21106  : Base(data, length, version)
21107  {
21108  assert(version >= Schema::MinimalVersion);
21109  assert(length >= minimalBlockLength(version));
21110  }
21111 
21112  /// Reset all variable-length fields if any.
21115  {
21116  return *this;
21117  }
21118 
21119  /// Reset all variable-length and optional fields if any.
21120  ThisType& reset()
21122  {
21123  resetVariableFields();
21124  return *this;
21125  }
21126 
21127  /// Code to represent the type of event.
21131  {
21133 
21134  return enumeration<EventType>(offset);
21135  }
21136 
21137  /// Code to represent the type of event.
21140  {
21142 
21143  setEnumeration<EventType>(offset, value);
21144  return *this;
21145  }
21146 
21147  /// Date and time of instument Activation or Expiration event
21148  /// sent as number of nanoseconds since Unix epoch.
21152  {
21154 
21155  return ordinary<Timestamp>(offset);
21156  }
21157 
21158  /// Date and time of instument Activation or Expiration event
21159  /// sent as number of nanoseconds since Unix epoch.
21160  ThisType& setEventTime(Timestamp value)
21162  {
21164 
21165  setOrdinary(offset, value.sinceEpoch());
21166  return *this;
21167  }
21168 
21169  /// \return size of entry body in bytes
21170  /// for given version of message template.
21175  {
21176  return
21177  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21178  minimalBlockLength(version);
21179  }
21180 
21181  /// \return minimal size of entry body in bytes
21182  /// for given version of message template.
21185  static
21186  BlockLength
21188  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
21190  {
21191  return
21192  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21193  9;
21194  }
21195 
21196  /// Entity class name.
21200  static const Char* className()
21201  {
21202  return "InstrumentDefinitionSpread56.EventsEntry";
21203  }
21204  };
21205 
21206  /// Repeating group containing EventsEntry entries.
21207  typedef
21210 
21211  /// Number of FeedType entries.
21212  /// Entry of FeedTypesEntry repeating group.
21215  <
21217  >
21218  {
21219  /// Base class type.
21220  typedef
21222  <
21224  >
21226 
21227  /// This type alias.
21229 
21230  /// Initializes instance of given
21231  /// version over given memory block.
21233  void* data,
21234  EncodedLength length,
21235  SchemaVersion version)
21236  : Base(data, length, version)
21237  {
21238  assert(version >= Schema::MinimalVersion);
21239  assert(length >= minimalBlockLength(version));
21240  }
21241 
21242  /// Reset all variable-length fields if any.
21245  {
21246  return *this;
21247  }
21248 
21249  /// Reset all variable-length and optional fields if any.
21250  ThisType& reset()
21252  {
21253  resetVariableFields();
21254  return *this;
21255  }
21256 
21257  /// Describes a class of service for a given data feed. GBX-
21258  /// Real Book, GBI-Implied Book.
21262  {
21265 
21266  return fixedStr<length>(offset);
21267  }
21268 
21269  /// Describes a class of service for a given data feed. GBX-
21270  /// Real Book, GBI-Implied Book.
21271  ThisType& setFeedType(StrRef value)
21273  {
21276 
21277  setFixedStr<length>(offset, value);
21278  return *this;
21279  }
21280 
21281  /// Identifies the depth of book.
21285  {
21287 
21288  return ordinary<Int8>(offset);
21289  }
21290 
21291  /// Identifies the depth of book.
21292  ThisType& setMarketDepth(Int8 value)
21294  {
21296 
21297  setOrdinary(offset, value);
21298  return *this;
21299  }
21300 
21301  /// \return size of entry body in bytes
21302  /// for given version of message template.
21307  {
21308  return
21309  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21310  minimalBlockLength(version);
21311  }
21312 
21313  /// \return minimal size of entry body in bytes
21314  /// for given version of message template.
21317  static
21318  BlockLength
21320  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
21322  {
21323  return
21324  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21325  4;
21326  }
21327 
21328  /// Entity class name.
21332  static const Char* className()
21333  {
21334  return "InstrumentDefinitionSpread56.FeedTypesEntry";
21335  }
21336  };
21337 
21338  /// Repeating group containing FeedTypesEntry entries.
21339  typedef
21342 
21343  /// Number of InstrAttribType entries.
21344  /// Entry of InstAttribEntry repeating group.
21347  <
21349  >
21350  {
21351  /// Base class type.
21352  typedef
21354  <
21356  >
21358 
21359  /// This type alias.
21361 
21362  /// Initializes instance of given
21363  /// version over given memory block.
21365  void* data,
21366  EncodedLength length,
21367  SchemaVersion version)
21368  : Base(data, length, version)
21369  {
21370  assert(version >= Schema::MinimalVersion);
21371  assert(length >= minimalBlockLength(version));
21372  }
21373 
21374  /// Reset all variable-length fields if any.
21377  {
21378  return *this;
21379  }
21380 
21381  /// Reset all variable-length and optional fields if any.
21382  ThisType& reset()
21384  {
21385  resetVariableFields();
21386  return *this;
21387  }
21388 
21389  /// Instrument Eligibility Attributes.
21394  {
21395  return InstAttribType();
21396  }
21397 
21398  /// Bitmap field of 32 Boolean type Instrument eligibility
21399  /// flags.
21403  {
21405 
21406  return ordinary<InstAttribValue>(offset);
21407  }
21408 
21409  /// Bitmap field of 32 Boolean type Instrument eligibility
21410  /// flags.
21413  {
21415 
21416  setOrdinary(offset, value);
21417  return *this;
21418  }
21419 
21420  /// \return size of entry body in bytes
21421  /// for given version of message template.
21426  {
21427  return
21428  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21429  minimalBlockLength(version);
21430  }
21431 
21432  /// \return minimal size of entry body in bytes
21433  /// for given version of message template.
21436  static
21437  BlockLength
21439  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
21441  {
21442  return
21443  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21444  4;
21445  }
21446 
21447  /// Entity class name.
21451  static const Char* className()
21452  {
21453  return "InstrumentDefinitionSpread56.InstAttribEntry";
21454  }
21455  };
21456 
21457  /// Repeating group containing InstAttribEntry entries.
21458  typedef
21461 
21462  /// Number of entries.
21463  /// Entry of LotTypeRulesEntry repeating group.
21466  <
21468  >
21469  {
21470  /// Base class type.
21471  typedef
21473  <
21475  >
21477 
21478  /// This type alias.
21480 
21481  /// Initializes instance of given
21482  /// version over given memory block.
21484  void* data,
21485  EncodedLength length,
21486  SchemaVersion version)
21487  : Base(data, length, version)
21488  {
21489  assert(version >= Schema::MinimalVersion);
21490  assert(length >= minimalBlockLength(version));
21491  }
21492 
21493  /// Reset all variable-length fields if any.
21496  {
21497  return *this;
21498  }
21499 
21500  /// Reset all variable-length and optional fields if any.
21501  ThisType& reset()
21503  {
21504  minLotSizeNull();
21505 
21506  resetVariableFields();
21507  return *this;
21508  }
21509 
21510  /// This tag is required to interpret the value in tag
21511  /// 1231-MinLotSize.
21513  Int8 lotType() const
21515  {
21517 
21518  return ordinary<Int8>(offset);
21519  }
21520 
21521  /// This tag is required to interpret the value in tag
21522  /// 1231-MinLotSize.
21523  ThisType& setLotType(Int8 value)
21525  {
21527 
21528  setOrdinary(offset, value);
21529  return *this;
21530  }
21531 
21532  /// Minimum quantity accepted for order entry. If tag
21533  /// 1093-LotType=4, this value is the minimum quantity for
21534  /// order entry expressed in the applicable units, specified
21535  /// in tag 996-UnitOfMeasure, e.g. megawatts.
21537  bool minLotSize(DecimalQty& value) const
21539  {
21541 
21542  return decimal(value, offset, NullDecimalQty());
21543  }
21544 
21545  /// Minimum quantity accepted for order entry. If tag
21546  /// 1093-LotType=4, this value is the minimum quantity for
21547  /// order entry expressed in the applicable units, specified
21548  /// in tag 996-UnitOfMeasure, e.g. megawatts.
21549  ThisType& setMinLotSize(DecimalQty value)
21551  {
21553 
21554  setOrdinary(offset, value);
21555  return *this;
21556  }
21557 
21558  ThisType& minLotSizeNull()
21560  {
21562 
21563  setOrdinary(offset, NullDecimalQty());
21564  return *this;
21565  }
21566 
21567  /// \return size of entry body in bytes
21568  /// for given version of message template.
21573  {
21574  return
21575  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21576  minimalBlockLength(version);
21577  }
21578 
21579  /// \return minimal size of entry body in bytes
21580  /// for given version of message template.
21583  static
21584  BlockLength
21586  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
21588  {
21589  return
21590  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21591  5;
21592  }
21593 
21594  /// Entity class name.
21598  static const Char* className()
21599  {
21600  return "InstrumentDefinitionSpread56.LotTypeRulesEntry";
21601  }
21602  };
21603 
21604  /// Repeating group containing LotTypeRulesEntry entries.
21605  typedef
21608 
21609  /// Number of Leg entries.
21610  /// Entry of LegsEntry repeating group.
21613  <
21615  >
21616  {
21617  /// Base class type.
21618  typedef
21620  <
21622  >
21624 
21625  /// This type alias.
21627 
21628  /// Initializes instance of given
21629  /// version over given memory block.
21631  void* data,
21632  EncodedLength length,
21633  SchemaVersion version)
21634  : Base(data, length, version)
21635  {
21636  assert(version >= Schema::MinimalVersion);
21637  assert(length >= minimalBlockLength(version));
21638  }
21639 
21640  /// Reset all variable-length fields if any.
21643  {
21644  return *this;
21645  }
21646 
21647  /// Reset all variable-length and optional fields if any.
21648  ThisType& reset()
21650  {
21651  legPriceNull();
21652  legOptionDeltaNull();
21653 
21654  resetVariableFields();
21655  return *this;
21656  }
21657 
21658  /// Leg Security ID.
21662  {
21664 
21665  return ordinary<Int32>(offset);
21666  }
21667 
21668  /// Leg Security ID.
21669  ThisType& setLegSecurityId(Int32 value)
21671  {
21673 
21674  setOrdinary(offset, value);
21675  return *this;
21676  }
21677 
21678  /// Identifies source of tag 602-LegSecurityID value.
21683  {
21684  return SecurityIDSource();
21685  }
21686 
21687  /// Leg side.
21691  {
21693 
21694  return enumeration<LegSide>(offset);
21695  }
21696 
21697  /// Leg side.
21698  ThisType& setLegSide(LegSide::Enum value)
21700  {
21702 
21703  setEnumeration<LegSide>(offset, value);
21704  return *this;
21705  }
21706 
21707  /// Leg ratio of quantity for this individual leg relative to
21708  /// the entire multi-leg instrument.
21712  {
21714 
21715  return ordinary<Int8>(offset);
21716  }
21717 
21718  /// Leg ratio of quantity for this individual leg relative to
21719  /// the entire multi-leg instrument.
21720  ThisType& setLegRatioQty(Int8 value)
21722  {
21724 
21725  setOrdinary(offset, value);
21726  return *this;
21727  }
21728 
21729  /// Price for the future leg of a UDS Covered instrument.
21731  bool legPrice(PRICE9& value) const
21733  {
21735 
21736  return decimal(value, offset, NullPRICE9());
21737  }
21738 
21739  /// Price for the future leg of a UDS Covered instrument.
21740  ThisType& setLegPrice(PRICE9 value)
21742  {
21744 
21745  setOrdinary(offset, value);
21746  return *this;
21747  }
21748 
21749  ThisType& legPriceNull()
21751  {
21753 
21754  setOrdinary(offset, NullPRICE9());
21755  return *this;
21756  }
21757 
21758  /// Delta used to calculate the quantity of futures used to
21759  /// cover the option or option strategy.
21761  bool legOptionDelta(DecimalQty& value) const
21763  {
21765 
21766  return decimal(value, offset, NullDecimalQty());
21767  }
21768 
21769  /// Delta used to calculate the quantity of futures used to
21770  /// cover the option or option strategy.
21773  {
21775 
21776  setOrdinary(offset, value);
21777  return *this;
21778  }
21779 
21782  {
21784 
21785  setOrdinary(offset, NullDecimalQty());
21786  return *this;
21787  }
21788 
21789  /// \return size of entry body in bytes
21790  /// for given version of message template.
21795  {
21796  return
21797  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21798  minimalBlockLength(version);
21799  }
21800 
21801  /// \return minimal size of entry body in bytes
21802  /// for given version of message template.
21805  static
21806  BlockLength
21808  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
21810  {
21811  return
21812  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
21813  18;
21814  }
21815 
21816  /// Entity class name.
21820  static const Char* className()
21821  {
21822  return "InstrumentDefinitionSpread56.LegsEntry";
21823  }
21824  };
21825 
21826  /// Repeating group containing LegsEntry entries.
21827  typedef
21830 
21831  /// Initializes a blank instance.
21832  InstrumentDefinitionSpread56() ONIXS_CONFLATEDTCP_DEFAULT;
21833 
21834  /// Initializes an instance over the given memory block.
21836  void* data,
21837  EncodedLength length,
21838  SchemaVersion version = Schema::Version)
21839  : SbeMessage(data, length, version)
21840  {
21841  checkVersion<Schema>(version);
21842  checkLength(length, version);
21843  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
21844  reset();
21845  }
21846 
21847  /// Initializes an instance over the given memory block
21848  /// With no variable-length fields initialization
21849  /// It is assumed that the user does such an initialization manually.
21851  void* data,
21852  EncodedLength length,
21853  NoFieldsInit,
21854  SchemaVersion version = Schema::Version)
21855  : SbeMessage(data, length, version)
21856  {
21857  checkVersion<Schema>(version);
21858  checkLength(length, version);
21859  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
21860  resetVariableFields();
21861  }
21862 
21863  /// Creates an instance over the given memory block.
21865  void* data,
21866  EncodedLength length,
21867  NoInit)
21868  : SbeMessage(data, length)
21869  {
21870  checkCompatibility();
21871  }
21872 
21873  /// Creates an instance over the given SBE message.
21874  explicit
21876  const SbeMessage& message)
21877  : SbeMessage(message)
21878  {
21879  assert(message.valid());
21880 
21881  checkCompatibility();
21882  }
21883 
21884  /// Bitmap field of eight Boolean type indicators reflecting
21885  /// the end of updates for a given Globex event.
21889  {
21891 
21892  return ordinary<MatchEventIndicator>(offset);
21893  }
21894 
21895  /// Bitmap field of eight Boolean type indicators reflecting
21896  /// the end of updates for a given Globex event.
21897  ThisType&
21899  MatchEventIndicator value)
21901  {
21903 
21904  setOrdinary(offset, value);
21905  return *this;
21906  }
21907 
21908  /// Total number of instruments in the Replay loop. Used on
21909  /// Replay Feed only.
21911  bool totNumReports(UInt32& value) const
21913  {
21915 
21916  return ordinary(value, offset, NullUInt32());
21917  }
21918 
21919  /// Total number of instruments in the Replay loop. Used on
21920  /// Replay Feed only.
21921  ThisType& setTotNumReports(UInt32 value)
21923  {
21925 
21926  setOrdinary(offset, value);
21927  return *this;
21928  }
21929 
21930  ThisType& totNumReportsNull()
21932  {
21934 
21935  setOrdinary(offset, NullUInt32());
21936  return *this;
21937  }
21938 
21939  /// Last Security update action on Incremental feed, 'D' or
21940  /// 'M' is used when a mid-week deletion or modification (i.e.
21941  /// extension) occurs.
21946  {
21948 
21949  return enumeration<SecurityUpdateAction>(offset);
21950  }
21951 
21952  /// Last Security update action on Incremental feed, 'D' or
21953  /// 'M' is used when a mid-week deletion or modification (i.e.
21954  /// extension) occurs.
21955  ThisType&
21959  {
21961 
21962  setEnumeration<SecurityUpdateAction>(offset, value);
21963  return *this;
21964  }
21965 
21966  /// Timestamp of when the instrument was last added, modified
21967  /// or deleted.
21971  {
21973 
21974  return ordinary<Timestamp>(offset);
21975  }
21976 
21977  /// Timestamp of when the instrument was last added, modified
21978  /// or deleted.
21979  ThisType& setLastUpdateTime(Timestamp value)
21981  {
21983 
21984  setOrdinary(offset, value.sinceEpoch());
21985  return *this;
21986  }
21987 
21988  /// Identifies the current state of the instrument. The data
21989  /// is available in the Instrument Replay feed only.
21991  bool
21993  SecurityTradingStatus::Enum& value) const
21995  {
21997 
21998  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
21999  }
22000 
22001  /// Identifies the current state of the instrument. The data
22002  /// is available in the Instrument Replay feed only.
22003  ThisType&
22007  {
22009 
22010  setEnumeration<SecurityTradingStatus>(offset, value);
22011  return *this;
22012  }
22013 
22016  {
22018 
22019  setOrdinary(offset, NullUInt8());
22020  return *this;
22021  }
22022 
22023  /// The channel ID as defined in the XML Configuration file.
22025  Int16 applId() const
22027  {
22029 
22030  return ordinary<Int16>(offset);
22031  }
22032 
22033  /// The channel ID as defined in the XML Configuration file.
22034  ThisType& setApplId(Int16 value)
22036  {
22038 
22039  setOrdinary(offset, value);
22040  return *this;
22041  }
22042 
22043  /// Identifies the market segment, populated for all CME
22044  /// Globex instruments.
22048  {
22050 
22051  return ordinary<UInt8>(offset);
22052  }
22053 
22054  /// Identifies the market segment, populated for all CME
22055  /// Globex instruments.
22056  ThisType& setMarketSegmentId(UInt8 value)
22058  {
22060 
22061  setOrdinary(offset, value);
22062  return *this;
22063  }
22064 
22065  /// Product complex.
22067  bool underlyingProduct(UInt8& value) const
22069  {
22071 
22072  return ordinary(value, offset, NullUInt8());
22073  }
22074 
22075  /// Product complex.
22076  ThisType& setUnderlyingProduct(UInt8 value)
22078  {
22080 
22081  setOrdinary(offset, value);
22082  return *this;
22083  }
22084 
22087  {
22089 
22090  setOrdinary(offset, NullUInt8());
22091  return *this;
22092  }
22093 
22094  /// Exchange used to identify a security.
22098  {
22101 
22102  return fixedStr<length>(offset);
22103  }
22104 
22105  /// Exchange used to identify a security.
22106  ThisType& setSecurityExchange(StrRef value)
22108  {
22111 
22112  setFixedStr<length>(offset, value);
22113  return *this;
22114  }
22115 
22116  /// Security Group Code.
22120  {
22123 
22124  return fixedStr<length>(offset);
22125  }
22126 
22127  /// Security Group Code.
22128  ThisType& setSecurityGroup(StrRef value)
22130  {
22133 
22134  setFixedStr<length>(offset, value);
22135  return *this;
22136  }
22137 
22138  /// The underlying asset code also known as Product Code.
22140  StrRef asset() const
22142  {
22145 
22146  return fixedStr<length>(offset);
22147  }
22148 
22149  /// The underlying asset code also known as Product Code.
22150  ThisType& setAsset(StrRef value)
22152  {
22155 
22156  setFixedStr<length>(offset, value);
22157  return *this;
22158  }
22159 
22160  /// Instrument Name or Symbol. Previously used as Group Code.
22162  StrRef symbol() const
22164  {
22167 
22168  return fixedStr<length>(offset);
22169  }
22170 
22171  /// Instrument Name or Symbol. Previously used as Group Code.
22172  ThisType& setSymbol(StrRef value)
22174  {
22177 
22178  setFixedStr<length>(offset, value);
22179  return *this;
22180  }
22181 
22182  /// Unique instrument ID.
22186  {
22188 
22189  return ordinary<Int32>(offset);
22190  }
22191 
22192  /// Unique instrument ID.
22193  ThisType& setSecurityId(Int32 value)
22195  {
22197 
22198  setOrdinary(offset, value);
22199  return *this;
22200  }
22201 
22202  /// Identifies class or source of the security ID (Tag 48)
22203  /// value.
22208  {
22209  return SecurityIDSource();
22210  }
22211 
22212  /// Security Type.
22216  {
22219 
22220  return fixedStr<length>(offset);
22221  }
22222 
22223  /// Security Type.
22224  ThisType& setSecurityType(StrRef value)
22226  {
22229 
22230  setFixedStr<length>(offset, value);
22231  return *this;
22232  }
22233 
22234  /// ISO standard instrument categorization code.
22236  StrRef cfiCode() const
22238  {
22241 
22242  return fixedStr<length>(offset);
22243  }
22244 
22245  /// ISO standard instrument categorization code.
22246  ThisType& setCfiCode(StrRef value)
22248  {
22251 
22252  setFixedStr<length>(offset, value);
22253  return *this;
22254  }
22255 
22256  /// This field provides the actual calendar date for contract
22257  /// maturity.
22261  {
22263 
22264  return ordinary(value, offset, NullMaturityMonthYear());
22265  }
22266 
22267  /// This field provides the actual calendar date for contract
22268  /// maturity.
22271  {
22273 
22274  setOrdinary(offset, value);
22275  return *this;
22276  }
22277 
22280  {
22282 
22283  setOrdinary(offset, NullMaturityMonthYear());
22284  return *this;
22285  }
22286 
22287  /// Identifies currency used for price.
22291  {
22294 
22295  return fixedStr<length>(offset);
22296  }
22297 
22298  /// Identifies currency used for price.
22299  ThisType& setCurrency(StrRef value)
22301  {
22304 
22305  setFixedStr<length>(offset, value);
22306  return *this;
22307  }
22308 
22309  /// Strategy type.
22313  {
22316 
22317  return fixedStr<length>(offset);
22318  }
22319 
22320  /// Strategy type.
22321  ThisType& setSecuritySubType(StrRef value)
22323  {
22326 
22327  setFixedStr<length>(offset, value);
22328  return *this;
22329  }
22330 
22331  /// User-defined instruments flag.
22335  {
22337 
22338  return ordinary<UserDefinedInstrument>(offset);
22339  }
22340 
22341  /// User-defined instruments flag.
22342  ThisType&
22344  UserDefinedInstrument value)
22346  {
22348 
22349  setOrdinary(offset, value);
22350  return *this;
22351  }
22352 
22353  /// Matching algorithm.
22357  {
22359 
22360  return ordinary<CHAR>(offset);
22361  }
22362 
22363  /// Matching algorithm.
22364  ThisType& setMatchAlgorithm(CHAR value)
22366  {
22368 
22369  setOrdinary(offset, value);
22370  return *this;
22371  }
22372 
22373  /// The minimum trading volume for a security.
22377  {
22379 
22380  return ordinary<UInt32>(offset);
22381  }
22382 
22383  /// The minimum trading volume for a security.
22384  ThisType& setMinTradeVol(UInt32 value)
22386  {
22388 
22389  setOrdinary(offset, value);
22390  return *this;
22391  }
22392 
22393  /// The maximum trading volume for a security.
22397  {
22399 
22400  return ordinary<UInt32>(offset);
22401  }
22402 
22403  /// The maximum trading volume for a security.
22404  ThisType& setMaxTradeVol(UInt32 value)
22406  {
22408 
22409  setOrdinary(offset, value);
22410  return *this;
22411  }
22412 
22413  /// Minimum constant tick for the instrument, sent only if
22414  /// instrument is non-VTT (Variable Tick table) eligible.
22416  bool minPriceIncrement(PRICE9& value) const
22418  {
22420 
22421  return decimal(value, offset, NullPRICE9());
22422  }
22423 
22424  /// Minimum constant tick for the instrument, sent only if
22425  /// instrument is non-VTT (Variable Tick table) eligible.
22426  ThisType& setMinPriceIncrement(PRICE9 value)
22428  {
22430 
22431  setOrdinary(offset, value);
22432  return *this;
22433  }
22434 
22437  {
22439 
22440  setOrdinary(offset, NullPRICE9());
22441  return *this;
22442  }
22443 
22444  /// Contains the multiplier to convert the CME Globex display
22445  /// price to the conventional price.
22449  {
22451 
22452  return decimal<Decimal9>(offset);
22453  }
22454 
22455  /// Contains the multiplier to convert the CME Globex display
22456  /// price to the conventional price.
22457  ThisType& setDisplayFactor(Decimal9 value)
22459  {
22461 
22462  setOrdinary(offset, value);
22463  return *this;
22464  }
22465 
22466  /// Number of decimals in fractional display price.
22468  bool priceDisplayFormat(UInt8& value) const
22470  {
22472 
22473  return ordinary(value, offset, NullUInt8());
22474  }
22475 
22476  /// Number of decimals in fractional display price.
22477  ThisType& setPriceDisplayFormat(UInt8 value)
22479  {
22481 
22482  setOrdinary(offset, value);
22483  return *this;
22484  }
22485 
22488  {
22490 
22491  setOrdinary(offset, NullUInt8());
22492  return *this;
22493  }
22494 
22495  /// Used for price calculation in spread and leg pricing.
22497  bool priceRatio(PRICE9& value) const
22499  {
22501 
22502  return decimal(value, offset, NullPRICE9());
22503  }
22504 
22505  /// Used for price calculation in spread and leg pricing.
22506  ThisType& setPriceRatio(PRICE9 value)
22508  {
22510 
22511  setOrdinary(offset, value);
22512  return *this;
22513  }
22514 
22515  ThisType& priceRatioNull()
22517  {
22519 
22520  setOrdinary(offset, NullPRICE9());
22521  return *this;
22522  }
22523 
22524  /// Tick Rule.
22526  bool tickRule(Int8& value) const
22528  {
22530 
22531  return ordinary(value, offset, NullInt8());
22532  }
22533 
22534  /// Tick Rule.
22535  ThisType& setTickRule(Int8 value)
22537  {
22539 
22540  setOrdinary(offset, value);
22541  return *this;
22542  }
22543 
22544  ThisType& tickRuleNull()
22546  {
22548 
22549  setOrdinary(offset, NullInt8());
22550  return *this;
22551  }
22552 
22553  /// Unit of measure for the products' original contract size.
22557  {
22560 
22561  return fixedStr<length>(offset);
22562  }
22563 
22564  /// Unit of measure for the products' original contract size.
22565  ThisType& setUnitOfMeasure(StrRef value)
22567  {
22570 
22571  setFixedStr<length>(offset, value);
22572  return *this;
22573  }
22574 
22575  /// Reference price - the most recently available Settlement
22576  /// whether it be Theoretical, Preliminary or a Final Settle
22577  /// of the session.
22579  bool tradingReferencePrice(PRICE9& value) const
22581  {
22583 
22584  return decimal(value, offset, NullPRICE9());
22585  }
22586 
22587  /// Reference price - the most recently available Settlement
22588  /// whether it be Theoretical, Preliminary or a Final Settle
22589  /// of the session.
22592  {
22594 
22595  setOrdinary(offset, value);
22596  return *this;
22597  }
22598 
22601  {
22603 
22604  setOrdinary(offset, NullPRICE9());
22605  return *this;
22606  }
22607 
22608  /// Bitmap field of eight Boolean type indicators representing
22609  /// settlement price type.
22613  {
22615 
22616  return ordinary<SettlPriceType>(offset);
22617  }
22618 
22619  /// Bitmap field of eight Boolean type indicators representing
22620  /// settlement price type.
22623  {
22625 
22626  setOrdinary(offset, value);
22627  return *this;
22628  }
22629 
22630  /// The total open interest for the market at the close of the
22631  /// prior trading session.
22633  bool openInterestQty(Int32& value) const
22635  {
22637 
22638  return ordinary(value, offset, NullInt32());
22639  }
22640 
22641  /// The total open interest for the market at the close of the
22642  /// prior trading session.
22643  ThisType& setOpenInterestQty(Int32 value)
22645  {
22647 
22648  setOrdinary(offset, value);
22649  return *this;
22650  }
22651 
22654  {
22656 
22657  setOrdinary(offset, NullInt32());
22658  return *this;
22659  }
22660 
22661  /// The total cleared volume of instrument traded during the
22662  /// prior trading session.
22664  bool clearedVolume(Int32& value) const
22666  {
22668 
22669  return ordinary(value, offset, NullInt32());
22670  }
22671 
22672  /// The total cleared volume of instrument traded during the
22673  /// prior trading session.
22674  ThisType& setClearedVolume(Int32 value)
22676  {
22678 
22679  setOrdinary(offset, value);
22680  return *this;
22681  }
22682 
22683  ThisType& clearedVolumeNull()
22685  {
22687 
22688  setOrdinary(offset, NullInt32());
22689  return *this;
22690  }
22691 
22692  /// Allowable high limit price for the trading day.
22694  bool highLimitPrice(PRICE9& value) const
22696  {
22698 
22699  return decimal(value, offset, NullPRICE9());
22700  }
22701 
22702  /// Allowable high limit price for the trading day.
22703  ThisType& setHighLimitPrice(PRICE9 value)
22705  {
22707 
22708  setOrdinary(offset, value);
22709  return *this;
22710  }
22711 
22714  {
22716 
22717  setOrdinary(offset, NullPRICE9());
22718  return *this;
22719  }
22720 
22721  /// Allowable low limit price for the trading day.
22723  bool lowLimitPrice(PRICE9& value) const
22725  {
22727 
22728  return decimal(value, offset, NullPRICE9());
22729  }
22730 
22731  /// Allowable low limit price for the trading day.
22732  ThisType& setLowLimitPrice(PRICE9 value)
22734  {
22736 
22737  setOrdinary(offset, value);
22738  return *this;
22739  }
22740 
22741  ThisType& lowLimitPriceNull()
22743  {
22745 
22746  setOrdinary(offset, NullPRICE9());
22747  return *this;
22748  }
22749 
22750  /// Differential value for price banding.
22752  bool maxPriceVariation(PRICE9& value) const
22754  {
22756 
22757  return decimal(value, offset, NullPRICE9());
22758  }
22759 
22760  /// Differential value for price banding.
22761  ThisType& setMaxPriceVariation(PRICE9 value)
22763  {
22765 
22766  setOrdinary(offset, value);
22767  return *this;
22768  }
22769 
22772  {
22774 
22775  setOrdinary(offset, NullPRICE9());
22776  return *this;
22777  }
22778 
22779  /// Price Denominator of Main Fraction.
22781  bool mainFraction(UInt8& value) const
22783  {
22785 
22786  return ordinary(value, offset, NullUInt8());
22787  }
22788 
22789  /// Price Denominator of Main Fraction.
22790  ThisType& setMainFraction(UInt8 value)
22792  {
22794 
22795  setOrdinary(offset, value);
22796  return *this;
22797  }
22798 
22799  ThisType& mainFractionNull()
22801  {
22803 
22804  setOrdinary(offset, NullUInt8());
22805  return *this;
22806  }
22807 
22808  /// Price Denominator of Sub Fraction.
22810  bool subFraction(UInt8& value) const
22812  {
22814 
22815  return ordinary(value, offset, NullUInt8());
22816  }
22817 
22818  /// Price Denominator of Sub Fraction.
22819  ThisType& setSubFraction(UInt8 value)
22821  {
22823 
22824  setOrdinary(offset, value);
22825  return *this;
22826  }
22827 
22828  ThisType& subFractionNull()
22830  {
22832 
22833  setOrdinary(offset, NullUInt8());
22834  return *this;
22835  }
22836 
22837  /// Indicates session date corresponding to the settlement
22838  /// price in tag 1150-TradingReferencePrice.
22840  bool tradingReferenceDate(Timestamp& value) const
22842  {
22843  typedef LocalMktDate FieldValue;
22844 
22846 
22847  FieldValue fieldValue;
22848 
22849  if (ordinary(fieldValue, offset, NullLocalMktDate()))
22850  {
22851  value = localMktDateToTimestamp(fieldValue);
22852  return true;
22853  }
22854  return false;
22855  }
22856 
22857  /// Indicates session date corresponding to the settlement
22858  /// price in tag 1150-TradingReferencePrice.
22861  {
22863 
22864  setOrdinary(offset, timestampToLocalMktDate(value));
22865  return *this;
22866  }
22867 
22870  {
22872 
22873  setOrdinary(offset, NullLocalMktDate());
22874  return *this;
22875  }
22876 
22877  /// Price quotation method.
22881  {
22884 
22885  return fixedStr<length>(offset);
22886  }
22887 
22888  /// Price quotation method.
22889  ThisType& setPriceQuoteMethod(StrRef value)
22891  {
22894 
22895  setFixedStr<length>(offset, value);
22896  return *this;
22897  }
22898 
22899  /// Risk Set identifies the list of instruments sharing credit
22900  /// limits set up.
22902  StrRef riskSet() const
22904  {
22907 
22908  return fixedStr<length>(offset);
22909  }
22910 
22911  /// Risk Set identifies the list of instruments sharing credit
22912  /// limits set up.
22913  ThisType& setRiskSet(StrRef value)
22915  {
22918 
22919  setFixedStr<length>(offset, value);
22920  return *this;
22921  }
22922 
22923  /// Market Set defines the bilateral relationship and Self
22924  /// Match Prevention configuration for eligible markets.
22928  {
22931 
22932  return fixedStr<length>(offset);
22933  }
22934 
22935  /// Market Set defines the bilateral relationship and Self
22936  /// Match Prevention configuration for eligible markets.
22937  ThisType& setMarketSet(StrRef value)
22939  {
22942 
22943  setFixedStr<length>(offset, value);
22944  return *this;
22945  }
22946 
22947  /// External unique instrument ID.
22949  bool instrumentGUId(UInt64& value) const
22951  {
22953 
22954  return ordinary(value, offset, NullUInt64());
22955  }
22956 
22957  /// External unique instrument ID.
22958  ThisType& setInstrumentGUId(UInt64 value)
22960  {
22962 
22963  setOrdinary(offset, value);
22964  return *this;
22965  }
22966 
22969  {
22971 
22972  setOrdinary(offset, NullUInt64());
22973  return *this;
22974  }
22975 
22976  /// Long name of the instrument.
22980  {
22983 
22984  return fixedStr<length>(offset);
22985  }
22986 
22987  /// Long name of the instrument.
22990  {
22993 
22994  setFixedStr<length>(offset, value);
22995  return *this;
22996  }
22997 
22998  /// \return instance of Events repeating group.
23000  Events events() const
23002  {
23003  return getGroup<Events>(EventsAccess(), *this);
23004  }
23005 
23006  /// \return instance of Events repeating group.
23010  {
23011  return getGroup<Events>(EventsAccess(), *this);
23012  }
23013 
23014  /// Setup repeating group with the given number of entries.
23015  /// Sets all optional fields of the group entries to null.
23016  /// \return NoEvents(864) repeating group.
23018  {
23019  return constructGroup<Events>(
23020  EventsAccess(),
23021  length,
23022  *this);
23023  }
23024 
23025  /// Setup repeating group with the given number of entries.
23026  /// \return NoEvents(864) repeating group.
23027  Events
23029  Events::Size length,
23030  NoFieldsInit)
23031  {
23032  return setupGroup<Events>(
23033  EventsAccess(),
23034  length,
23035  *this);
23036  }
23037 
23038  /// \return instance of FeedTypes repeating group.
23042  {
23043  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
23044  }
23045 
23046  /// \return instance of FeedTypes repeating group.
23050  {
23051  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
23052  }
23053 
23054  /// Setup repeating group with the given number of entries.
23055  /// Sets all optional fields of the group entries to null.
23056  /// \return NoMDFeedTypes(1141) repeating group.
23058  {
23059  return constructGroup<FeedTypes>(
23060  FeedTypesAccess(),
23061  length,
23062  *this);
23063  }
23064 
23065  /// Setup repeating group with the given number of entries.
23066  /// \return NoMDFeedTypes(1141) repeating group.
23067  FeedTypes
23069  FeedTypes::Size length,
23070  NoFieldsInit)
23071  {
23072  return setupGroup<FeedTypes>(
23073  FeedTypesAccess(),
23074  length,
23075  *this);
23076  }
23077 
23078  /// \return instance of InstAttrib repeating group.
23082  {
23083  return getGroup<InstAttrib>(
23084  InstAttribAccess(),
23085  *this);
23086  }
23087 
23088  /// \return instance of InstAttrib repeating group.
23092  {
23093  return getGroup<InstAttrib>(
23094  InstAttribAccess(),
23095  *this);
23096  }
23097 
23098  /// Setup repeating group with the given number of entries.
23099  /// Sets all optional fields of the group entries to null.
23100  /// \return NoInstAttrib(870) repeating group.
23102  {
23103  return constructGroup<InstAttrib>(
23104  InstAttribAccess(),
23105  length,
23106  *this);
23107  }
23108 
23109  /// Setup repeating group with the given number of entries.
23110  /// \return NoInstAttrib(870) repeating group.
23111  InstAttrib
23113  InstAttrib::Size length,
23114  NoFieldsInit)
23115  {
23116  return setupGroup<InstAttrib>(
23117  InstAttribAccess(),
23118  length,
23119  *this);
23120  }
23121 
23122  /// \return instance of LotTypeRules repeating group.
23126  {
23127  return getGroup<LotTypeRules>(
23128  LotTypeRulesAccess(),
23129  *this);
23130  }
23131 
23132  /// \return instance of LotTypeRules repeating group.
23136  {
23137  return getGroup<LotTypeRules>(
23138  LotTypeRulesAccess(),
23139  *this);
23140  }
23141 
23142  /// Setup repeating group with the given number of entries.
23143  /// Sets all optional fields of the group entries to null.
23144  /// \return NoLotTypeRules(1234) repeating group.
23145  LotTypeRules
23147  LotTypeRules::Size length)
23148  {
23149  return constructGroup<LotTypeRules>(
23150  LotTypeRulesAccess(),
23151  length,
23152  *this);
23153  }
23154 
23155  /// Setup repeating group with the given number of entries.
23156  /// \return NoLotTypeRules(1234) repeating group.
23157  LotTypeRules
23159  LotTypeRules::Size length,
23160  NoFieldsInit)
23161  {
23162  return setupGroup<LotTypeRules>(
23163  LotTypeRulesAccess(),
23164  length,
23165  *this);
23166  }
23167 
23168  /// \return instance of Legs repeating group.
23170  Legs legs() const
23172  {
23173  return getGroup<Legs>(LegsAccess(), *this);
23174  }
23175 
23176  /// \return instance of Legs repeating group.
23180  {
23181  return getGroup<Legs>(LegsAccess(), *this);
23182  }
23183 
23184  /// Setup repeating group with the given number of entries.
23185  /// Sets all optional fields of the group entries to null.
23186  /// \return NoLegs(555) repeating group.
23188  {
23189  return constructGroup<Legs>(
23190  LegsAccess(),
23191  length,
23192  *this);
23193  }
23194 
23195  /// Setup repeating group with the given number of entries.
23196  /// \return NoLegs(555) repeating group.
23197  Legs
23199  Legs::Size length,
23200  NoFieldsInit)
23201  {
23202  return setupGroup<Legs>(
23203  LegsAccess(),
23204  length,
23205  *this);
23206  }
23207 
23208  /// Minimal size of message body in bytes.
23211  static
23212  BlockLength
23214  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
23216  {
23217  return
23218  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
23219  255;
23220  }
23221 
23222  /// Size of message body in bytes.
23227  {
23228  return
23229  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
23230  minimalBlockLength(version);
23231  }
23232 
23233  /// Minimal variable fields size (when variable-length fields are empty).
23237  static
23238  MessageSize
23240  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
23241  {
23242  return
23243  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
23244  static_cast<MessageSize>(Events::EmptySize) + static_cast<MessageSize>(FeedTypes::EmptySize) + static_cast<MessageSize>(InstAttrib::EmptySize) + static_cast<MessageSize>(LotTypeRules::EmptySize) + static_cast<MessageSize>(Legs::EmptySize);
23245  }
23246 
23247  /// Reset all variable-length fields if any.
23250  {
23251  eventsNull();
23252  feedTypesNull();
23253  instAttribNull();
23254  lotTypeRulesNull();
23255  legsNull();
23256  return *this;
23257  }
23258 
23259  /// Reset all variable-length and optional fields if any.
23260  ThisType& reset()
23262  {
23263  totNumReportsNull();
23264  securityTradingStatusNull();
23265  underlyingProductNull();
23266  maturityMonthYearNull();
23267  minPriceIncrementNull();
23268  priceDisplayFormatNull();
23269  priceRatioNull();
23270  tickRuleNull();
23271  tradingReferencePriceNull();
23272  openInterestQtyNull();
23273  clearedVolumeNull();
23274  highLimitPriceNull();
23275  lowLimitPriceNull();
23276  maxPriceVariationNull();
23277  mainFractionNull();
23278  subFractionNull();
23279  tradingReferenceDateNull();
23280  instrumentGUIdNull();
23281 
23282  resetVariableFields();
23283  return *this;
23284  }
23285 
23286  /// \return class name.
23290  static const Char* className()
23291  {
23292  return "InstrumentDefinitionSpread56";
23293  }
23294 
23295  /// FIX message type.
23299  static StrRef fixType()
23301  {
23302  return constructStrRef("d");
23303  }
23304 
23305  /// \return the end of the message.
23307  const void* tail() const
23309  {
23310  return
23311  legs().tail();
23312  }
23313 
23314  /// \return the size occupied by the message.
23318  {
23319  return
23320  SbeMessage::calculateBinarySize(tail());
23321  }
23322 
23323 private:
23324  void checkLength(
23325  EncodedLength length, SchemaVersion version) const
23326  {
23327  const EncodedLength minimalRequiredLength =
23328  minimalBlockLength(version) +
23329  MessageHeader::Size +
23330  getMinimalVariableFieldsSize(version);
23331 
23332  checkBinaryLength(
23333  *this, length, minimalRequiredLength);
23334  }
23335 
23336  /// Checks variable fields consistency.
23337  void checkVarLenFields() const
23338  {
23339  groups().
23340  checkTail<Events>().
23341  checkTail<FeedTypes>().
23342  checkTail<InstAttrib>().
23343  checkTail<LotTypeRules>().
23344  checkTail<Legs>();
23345  }
23346 
23347  void checkCompatibility() const
23348  {
23349  assert(TemplateId == templateId());
23350 
23351  checkSchema<Schema>(schemaId(), version());
23352  checkLength(bufferSize(), version());
23353  checkVarLenFields();
23354  }
23355 
23356  /// Access helper.
23357  struct EventsAccess
23358  {
23359  Events
23360  operator()(
23361  const InstrumentDefinitionSpread56& obj) const
23363  {
23364  return obj.
23365  groups().
23366  head<Events>();
23367  }
23368  };
23369 
23370  /// Reset an instance of the repeating group.
23371  /// All the following data will be invalidated.
23372  void eventsNull()
23374  {
23375  resetGroup<Events>(EventsAccess(), *this);
23376  }
23377 
23378  /// Access helper.
23379  struct FeedTypesAccess
23380  {
23381  FeedTypes
23382  operator()(
23383  const InstrumentDefinitionSpread56& obj) const
23385  {
23386  return obj.
23387  groups().
23388  tail<Events>().
23389  head<FeedTypes>();
23390  }
23391  };
23392 
23393  /// Reset an instance of the repeating group.
23394  /// All the following data will be invalidated.
23395  void feedTypesNull()
23397  {
23398  resetGroup<FeedTypes>(FeedTypesAccess(), *this);
23399  }
23400 
23401  /// Access helper.
23402  struct InstAttribAccess
23403  {
23404  InstAttrib
23405  operator()(
23406  const InstrumentDefinitionSpread56& obj) const
23408  {
23409  return obj.
23410  groups().
23411  tail<Events>().
23412  tail<FeedTypes>().
23413  head<InstAttrib>();
23414  }
23415  };
23416 
23417  /// Reset an instance of the repeating group.
23418  /// All the following data will be invalidated.
23419  void instAttribNull()
23421  {
23422  resetGroup<InstAttrib>(
23423  InstAttribAccess(),
23424  *this);
23425  }
23426 
23427  /// Access helper.
23428  struct LotTypeRulesAccess
23429  {
23430  LotTypeRules
23431  operator()(
23432  const InstrumentDefinitionSpread56& obj) const
23434  {
23435  return obj.
23436  groups().
23437  tail<Events>().
23438  tail<FeedTypes>().
23439  tail<InstAttrib>().
23440  head<LotTypeRules>();
23441  }
23442  };
23443 
23444  /// Reset an instance of the repeating group.
23445  /// All the following data will be invalidated.
23446  void lotTypeRulesNull()
23448  {
23449  resetGroup<LotTypeRules>(
23450  LotTypeRulesAccess(),
23451  *this);
23452  }
23453 
23454  /// Access helper.
23455  struct LegsAccess
23456  {
23457  Legs
23458  operator()(
23459  const InstrumentDefinitionSpread56& obj) const
23461  {
23462  return obj.
23463  groups().
23464  tail<Events>().
23465  tail<FeedTypes>().
23466  tail<InstAttrib>().
23467  tail<LotTypeRules>().
23468  head<Legs>();
23469  }
23470  };
23471 
23472  /// Reset an instance of the repeating group.
23473  /// All the following data will be invalidated.
23474  void legsNull()
23476  {
23477  resetGroup<Legs>(LegsAccess(), *this);
23478  }
23479 };
23480 
23481 /// SecurityStatus.
23484 : SbeMessage
23485 {
23486  /// Used template schema.
23488 
23489  /// This type alias.
23491 
23492  /// Message template ID from SBE schema.
23493  enum { TemplateId = 30 };
23494 
23495  /// Initializes a blank instance.
23496  SecurityStatus30() ONIXS_CONFLATEDTCP_DEFAULT;
23497 
23498  /// Initializes an instance over the given memory block.
23500  void* data,
23501  EncodedLength length,
23502  SchemaVersion version = Schema::Version)
23503  : SbeMessage(data, length, version)
23504  {
23505  checkVersion<Schema>(version);
23506  checkLength(length, version);
23507  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
23508  reset();
23509  }
23510 
23511  /// Initializes an instance over the given memory block
23512  /// With no variable-length fields initialization
23513  /// It is assumed that the user does such an initialization manually.
23515  void* data,
23516  EncodedLength length,
23517  NoFieldsInit,
23518  SchemaVersion version = Schema::Version)
23519  : SbeMessage(data, length, version)
23520  {
23521  checkVersion<Schema>(version);
23522  checkLength(length, version);
23523  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
23524  resetVariableFields();
23525  }
23526 
23527  /// Creates an instance over the given memory block.
23529  void* data,
23530  EncodedLength length,
23531  NoInit)
23532  : SbeMessage(data, length)
23533  {
23534  checkCompatibility();
23535  }
23536 
23537  /// Creates an instance over the given SBE message.
23538  explicit
23540  const SbeMessage& message)
23541  : SbeMessage(message)
23542  {
23543  assert(message.valid());
23544 
23545  checkCompatibility();
23546  }
23547 
23548  /// Start of event processing time in number of nanoseconds
23549  /// since Unix epoch.
23553  {
23555 
23556  return ordinary<Timestamp>(offset);
23557  }
23558 
23559  /// Start of event processing time in number of nanoseconds
23560  /// since Unix epoch.
23561  ThisType& setTransactTime(Timestamp value)
23563  {
23565 
23566  setOrdinary(offset, value.sinceEpoch());
23567  return *this;
23568  }
23569 
23570  /// Security Group.
23574  {
23577 
23578  return fixedStr<length>(offset);
23579  }
23580 
23581  /// Security Group.
23582  ThisType& setSecurityGroup(StrRef value)
23584  {
23587 
23588  setFixedStr<length>(offset, value);
23589  return *this;
23590  }
23591 
23592  /// Product Code within Security Group specified.
23594  StrRef asset() const
23596  {
23599 
23600  return fixedStr<length>(offset);
23601  }
23602 
23603  /// Product Code within Security Group specified.
23604  ThisType& setAsset(StrRef value)
23606  {
23609 
23610  setFixedStr<length>(offset, value);
23611  return *this;
23612  }
23613 
23614  /// If this tag is present, 35=f message is sent for the
23615  /// instrument.
23617  bool securityId(Int32& value) const
23619  {
23621 
23622  return ordinary(value, offset, NullInt32());
23623  }
23624 
23625  /// If this tag is present, 35=f message is sent for the
23626  /// instrument.
23627  ThisType& setSecurityId(Int32 value)
23629  {
23631 
23632  setOrdinary(offset, value);
23633  return *this;
23634  }
23635 
23636  ThisType& securityIdNull()
23638  {
23640 
23641  setOrdinary(offset, NullInt32());
23642  return *this;
23643  }
23644 
23645  /// Trade Session Date.
23647  bool tradeDate(Timestamp& value) const
23649  {
23650  typedef LocalMktDate FieldValue;
23651 
23653 
23654  FieldValue fieldValue;
23655 
23656  if (ordinary(fieldValue, offset, NullLocalMktDate()))
23657  {
23658  value = localMktDateToTimestamp(fieldValue);
23659  return true;
23660  }
23661  return false;
23662  }
23663 
23664  /// Trade Session Date.
23665  ThisType& setTradeDate(Timestamp value)
23667  {
23669 
23670  setOrdinary(offset, timestampToLocalMktDate(value));
23671  return *this;
23672  }
23673 
23674  ThisType& tradeDateNull()
23676  {
23678 
23679  setOrdinary(offset, NullLocalMktDate());
23680  return *this;
23681  }
23682 
23683  /// Bitmap field of eight Boolean type indicators reflecting
23684  /// the end of updates for a given Globex event.
23688  {
23690 
23691  return ordinary<MatchEventIndicator>(offset);
23692  }
23693 
23694  /// Bitmap field of eight Boolean type indicators reflecting
23695  /// the end of updates for a given Globex event.
23696  ThisType&
23698  MatchEventIndicator value)
23700  {
23702 
23703  setOrdinary(offset, value);
23704  return *this;
23705  }
23706 
23707  /// Identifies the trading status applicable to the instrument
23708  /// or Security Group.
23710  bool
23712  SecurityTradingStatus::Enum& value) const
23714  {
23716 
23717  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
23718  }
23719 
23720  /// Identifies the trading status applicable to the instrument
23721  /// or Security Group.
23722  ThisType&
23726  {
23728 
23729  setEnumeration<SecurityTradingStatus>(offset, value);
23730  return *this;
23731  }
23732 
23735  {
23737 
23738  setOrdinary(offset, NullUInt8());
23739  return *this;
23740  }
23741 
23742  /// Identifies the reason for the status change.
23746  {
23748 
23749  return enumeration<HaltReason>(offset);
23750  }
23751 
23752  /// Identifies the reason for the status change.
23755  {
23757 
23758  setEnumeration<HaltReason>(offset, value);
23759  return *this;
23760  }
23761 
23762  /// Identifies an additional event or a rule related to the
23763  /// status.
23768  {
23770 
23771  return enumeration<SecurityTradingEvent>(offset);
23772  }
23773 
23774  /// Identifies an additional event or a rule related to the
23775  /// status.
23776  ThisType&
23780  {
23782 
23783  setEnumeration<SecurityTradingEvent>(offset, value);
23784  return *this;
23785  }
23786 
23787  /// Minimal size of message body in bytes.
23790  static
23791  BlockLength
23793  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
23795  {
23796  return
23797  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
23798  30;
23799  }
23800 
23801  /// Size of message body in bytes.
23806  {
23807  return
23808  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
23809  minimalBlockLength(version);
23810  }
23811 
23812  /// Minimal variable fields size (when variable-length fields are empty).
23816  static
23817  MessageSize
23819  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
23820  {
23821  return
23822  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
23823  0;
23824  }
23825 
23826  /// Reset all variable-length fields if any.
23829  {
23830  return *this;
23831  }
23832 
23833  /// Reset all variable-length and optional fields if any.
23834  ThisType& reset()
23836  {
23837  securityIdNull();
23838  tradeDateNull();
23839  securityTradingStatusNull();
23840 
23841  resetVariableFields();
23842  return *this;
23843  }
23844 
23845  /// \return class name.
23849  static const Char* className()
23850  {
23851  return "SecurityStatus30";
23852  }
23853 
23854  /// FIX message type.
23858  static StrRef fixType()
23860  {
23861  return constructStrRef("f");
23862  }
23863 
23864  /// \return the end of the message.
23866  const void* tail() const
23868  {
23869  return
23870  toOpaquePtr(
23871  advanceByBytes(
23872  binary(),
23873  static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
23874  MessageHeader::Size));
23875  }
23876 
23877  /// \return the size occupied by the message.
23881  {
23882  return
23883  SbeMessage::calculateBinarySize(tail());
23884  }
23885 
23886 private:
23887  void checkLength(
23888  EncodedLength length, SchemaVersion version) const
23889  {
23890  const EncodedLength minimalRequiredLength =
23891  minimalBlockLength(version) +
23892  MessageHeader::Size +
23893  getMinimalVariableFieldsSize(version);
23894 
23895  checkBinaryLength(
23896  *this, length, minimalRequiredLength);
23897  }
23898 
23899  void checkCompatibility() const
23900  {
23901  assert(TemplateId == templateId());
23902 
23903  checkSchema<Schema>(schemaId(), version());
23904  checkLength(bufferSize(), version());
23905  }
23906 };
23907 
23908 /// MDIncrementalRefreshBook.
23911 : SbeMessage
23912 {
23913  /// Used template schema.
23915 
23916  /// This type alias.
23918 
23919  /// Message template ID from SBE schema.
23920  enum { TemplateId = 46 };
23921 
23922  /// Number of entries in Market Data message.
23923  /// Entry of Entry repeating group.
23926  <
23928  >
23929  {
23930  /// Base class type.
23931  typedef
23933  <
23935  >
23937 
23938  /// This type alias.
23939  typedef Entry ThisType;
23940 
23941  /// Initializes instance of given
23942  /// version over given memory block.
23944  void* data,
23945  EncodedLength length,
23946  SchemaVersion version)
23947  : Base(data, length, version)
23948  {
23949  assert(version >= Schema::MinimalVersion);
23950  assert(length >= minimalBlockLength(version));
23951  }
23952 
23953  /// Reset all variable-length fields if any.
23956  {
23957  return *this;
23958  }
23959 
23960  /// Reset all variable-length and optional fields if any.
23961  ThisType& reset()
23963  {
23964  entryPxNull();
23965  entrySizeNull();
23966  numberOfOrdersNull();
23967  tradeableSizeNull();
23968 
23969  resetVariableFields();
23970  return *this;
23971  }
23972 
23973  /// Market Data entry price.
23975  bool entryPx(PRICE9& value) const
23977  {
23979 
23980  return decimal(value, offset, NullPRICE9());
23981  }
23982 
23983  /// Market Data entry price.
23984  ThisType& setEntryPx(PRICE9 value)
23986  {
23988 
23989  setOrdinary(offset, value);
23990  return *this;
23991  }
23992 
23993  ThisType& entryPxNull()
23995  {
23997 
23998  setOrdinary(offset, NullPRICE9());
23999  return *this;
24000  }
24001 
24002  /// Market Data entry size.
24004  bool entrySize(Int32& value) const
24006  {
24008 
24009  return ordinary(value, offset, NullInt32());
24010  }
24011 
24012  /// Market Data entry size.
24013  ThisType& setEntrySize(Int32 value)
24015  {
24017 
24018  setOrdinary(offset, value);
24019  return *this;
24020  }
24021 
24022  ThisType& entrySizeNull()
24024  {
24026 
24027  setOrdinary(offset, NullInt32());
24028  return *this;
24029  }
24030 
24031  /// Security ID.
24035  {
24037 
24038  return ordinary<Int32>(offset);
24039  }
24040 
24041  /// Security ID.
24042  ThisType& setSecurityId(Int32 value)
24044  {
24046 
24047  setOrdinary(offset, value);
24048  return *this;
24049  }
24050 
24051  /// Market Data entry sequence number per instrument update.
24053  UInt32 rptSeq() const
24055  {
24057 
24058  return ordinary<UInt32>(offset);
24059  }
24060 
24061  /// Market Data entry sequence number per instrument update.
24062  ThisType& setRptSeq(UInt32 value)
24064  {
24066 
24067  setOrdinary(offset, value);
24068  return *this;
24069  }
24070 
24071  /// In Book entry - aggregate number of orders at given price
24072  /// level.
24074  bool numberOfOrders(Int32& value) const
24076  {
24078 
24079  return ordinary(value, offset, NullInt32());
24080  }
24081 
24082  /// In Book entry - aggregate number of orders at given price
24083  /// level.
24084  ThisType& setNumberOfOrders(Int32 value)
24086  {
24088 
24089  setOrdinary(offset, value);
24090  return *this;
24091  }
24092 
24095  {
24097 
24098  setOrdinary(offset, NullInt32());
24099  return *this;
24100  }
24101 
24102  /// Aggregate book level.
24106  {
24108 
24109  return ordinary<UInt8>(offset);
24110  }
24111 
24112  /// Aggregate book level.
24113  ThisType& setPriceLevel(UInt8 value)
24115  {
24117 
24118  setOrdinary(offset, value);
24119  return *this;
24120  }
24121 
24122  /// Market Data update action.
24126  {
24128 
24129  return enumeration<UpdateAction>(offset);
24130  }
24131 
24132  /// Market Data update action.
24135  {
24137 
24138  setEnumeration<UpdateAction>(offset, value);
24139  return *this;
24140  }
24141 
24142  /// Market Data entry type.
24146  {
24148 
24149  return enumeration<EntryTypeBook>(offset);
24150  }
24151 
24152  /// Market Data entry type.
24153  ThisType&
24155  EntryTypeBook::Enum value)
24157  {
24159 
24160  setEnumeration<EntryTypeBook>(offset, value);
24161  return *this;
24162  }
24163 
24164  /// Tradeable qty.
24166  bool tradeableSize(Int32& value) const
24168  {
24170 
24171  return ordinary(value, offset, NullInt32());
24172  }
24173 
24174  /// Tradeable qty.
24175  ThisType& setTradeableSize(Int32 value)
24177  {
24179 
24180  setOrdinary(offset, value);
24181  return *this;
24182  }
24183 
24184  ThisType& tradeableSizeNull()
24186  {
24188 
24189  setOrdinary(offset, NullInt32());
24190  return *this;
24191  }
24192 
24193  /// \return size of entry body in bytes
24194  /// for given version of message template.
24197  static
24198  BlockLength
24200  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
24202  {
24203  return
24204  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
24205  32;
24206  }
24207 
24208  /// \return minimal size of entry body in bytes
24209  /// for given version of message template.
24212  static
24213  BlockLength
24215  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
24217  {
24218  return
24219  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
24220  31;
24221  }
24222 
24223  /// Entity class name.
24227  static const Char* className()
24228  {
24229  return "IncrementalRefreshBook46.Entry";
24230  }
24231  };
24232 
24233  /// Repeating group containing Entry entries.
24234  typedef
24237 
24238  /// Number of OrderID entries.
24239  /// Entry of OrderIDEntry repeating group.
24242  <
24244  >
24245  {
24246  /// Base class type.
24247  typedef
24249  <
24251  >
24253 
24254  /// This type alias.
24256 
24257  /// Initializes instance of given
24258  /// version over given memory block.
24260  void* data,
24261  EncodedLength length,
24262  SchemaVersion version)
24263  : Base(data, length, version)
24264  {
24265  assert(version >= Schema::MinimalVersion);
24266  assert(length >= minimalBlockLength(version));
24267  }
24268 
24269  /// Reset all variable-length fields if any.
24272  {
24273  return *this;
24274  }
24275 
24276  /// Reset all variable-length and optional fields if any.
24277  ThisType& reset()
24279  {
24280  orderPriorityNull();
24281  displayQtyNull();
24282  referenceIdNull();
24283 
24284  resetVariableFields();
24285  return *this;
24286  }
24287 
24288  /// Unique Order ID.
24290  UInt64 orderId() const
24292  {
24294 
24295  return ordinary<UInt64>(offset);
24296  }
24297 
24298  /// Unique Order ID.
24299  ThisType& setOrderId(UInt64 value)
24301  {
24303 
24304  setOrdinary(offset, value);
24305  return *this;
24306  }
24307 
24308  /// Order priority for execution on the order book.
24310  bool orderPriority(UInt64& value) const
24312  {
24314 
24315  return ordinary(value, offset, NullUInt64());
24316  }
24317 
24318  /// Order priority for execution on the order book.
24319  ThisType& setOrderPriority(UInt64 value)
24321  {
24323 
24324  setOrdinary(offset, value);
24325  return *this;
24326  }
24327 
24328  ThisType& orderPriorityNull()
24330  {
24332 
24333  setOrdinary(offset, NullUInt64());
24334  return *this;
24335  }
24336 
24337  /// Visible qty of order.
24339  bool displayQty(Int32& value) const
24341  {
24343 
24344  return ordinary(value, offset, NullInt32());
24345  }
24346 
24347  /// Visible qty of order.
24348  ThisType& setDisplayQty(Int32 value)
24350  {
24352 
24353  setOrdinary(offset, value);
24354  return *this;
24355  }
24356 
24357  ThisType& displayQtyNull()
24359  {
24361 
24362  setOrdinary(offset, NullInt32());
24363  return *this;
24364  }
24365 
24366  /// Reference to corresponding Price and Security ID, sequence
24367  /// of MD entry in the message.
24369  bool referenceId(UInt8& value) const
24371  {
24373 
24374  return ordinary(value, offset, NullUInt8());
24375  }
24376 
24377  /// Reference to corresponding Price and Security ID, sequence
24378  /// of MD entry in the message.
24379  ThisType& setReferenceId(UInt8 value)
24381  {
24383 
24384  setOrdinary(offset, value);
24385  return *this;
24386  }
24387 
24388  ThisType& referenceIdNull()
24390  {
24392 
24393  setOrdinary(offset, NullUInt8());
24394  return *this;
24395  }
24396 
24397  /// Order book update action to be applied to the order
24398  /// referenced by OrderID.
24402  {
24404 
24405  return enumeration<OrderUpdateAction>(offset);
24406  }
24407 
24408  /// Order book update action to be applied to the order
24409  /// referenced by OrderID.
24410  ThisType&
24414  {
24416 
24417  setEnumeration<OrderUpdateAction>(offset, value);
24418  return *this;
24419  }
24420 
24421  /// \return size of entry body in bytes
24422  /// for given version of message template.
24425  static
24426  BlockLength
24428  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
24430  {
24431  return
24432  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
24433  24;
24434  }
24435 
24436  /// \return minimal size of entry body in bytes
24437  /// for given version of message template.
24440  static
24441  BlockLength
24443  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
24445  {
24446  return
24447  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
24448  22;
24449  }
24450 
24451  /// Entity class name.
24455  static const Char* className()
24456  {
24457  return "IncrementalRefreshBook46.OrderIDEntry";
24458  }
24459  };
24460 
24461  /// Repeating group containing OrderIDEntry entries.
24462  typedef
24465 
24466  /// Initializes a blank instance.
24467  IncrementalRefreshBook46() ONIXS_CONFLATEDTCP_DEFAULT;
24468 
24469  /// Initializes an instance over the given memory block.
24471  void* data,
24472  EncodedLength length,
24473  SchemaVersion version = Schema::Version)
24474  : SbeMessage(data, length, version)
24475  {
24476  checkVersion<Schema>(version);
24477  checkLength(length, version);
24478  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
24479  reset();
24480  }
24481 
24482  /// Initializes an instance over the given memory block
24483  /// With no variable-length fields initialization
24484  /// It is assumed that the user does such an initialization manually.
24486  void* data,
24487  EncodedLength length,
24488  NoFieldsInit,
24489  SchemaVersion version = Schema::Version)
24490  : SbeMessage(data, length, version)
24491  {
24492  checkVersion<Schema>(version);
24493  checkLength(length, version);
24494  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
24495  resetVariableFields();
24496  }
24497 
24498  /// Creates an instance over the given memory block.
24500  void* data,
24501  EncodedLength length,
24502  NoInit)
24503  : SbeMessage(data, length)
24504  {
24505  checkCompatibility();
24506  }
24507 
24508  /// Creates an instance over the given SBE message.
24509  explicit
24511  const SbeMessage& message)
24512  : SbeMessage(message)
24513  {
24514  assert(message.valid());
24515 
24516  checkCompatibility();
24517  }
24518 
24519  /// Start of event processing time in number of nanoseconds
24520  /// since Unix epoch.
24524  {
24526 
24527  return ordinary<Timestamp>(offset);
24528  }
24529 
24530  /// Start of event processing time in number of nanoseconds
24531  /// since Unix epoch.
24532  ThisType& setTransactTime(Timestamp value)
24534  {
24536 
24537  setOrdinary(offset, value.sinceEpoch());
24538  return *this;
24539  }
24540 
24541  /// Bitmap field of eight Boolean type indicators reflecting
24542  /// the end of updates for a given Globex event.
24546  {
24548 
24549  return ordinary<MatchEventIndicator>(offset);
24550  }
24551 
24552  /// Bitmap field of eight Boolean type indicators reflecting
24553  /// the end of updates for a given Globex event.
24554  ThisType&
24556  MatchEventIndicator value)
24558  {
24560 
24561  setOrdinary(offset, value);
24562  return *this;
24563  }
24564 
24565  /// \return instance of Entries repeating group.
24569  {
24570  return getGroup<Entries>(EntriesAccess(), *this);
24571  }
24572 
24573  /// \return instance of Entries repeating group.
24577  {
24578  return getGroup<Entries>(EntriesAccess(), *this);
24579  }
24580 
24581  /// Setup repeating group with the given number of entries.
24582  /// Sets all optional fields of the group entries to null.
24583  /// \return NoMDEntries(268) repeating group.
24585  {
24586  return constructGroup<Entries>(
24587  EntriesAccess(),
24588  length,
24589  *this);
24590  }
24591 
24592  /// Setup repeating group with the given number of entries.
24593  /// \return NoMDEntries(268) repeating group.
24594  Entries
24596  Entries::Size length,
24597  NoFieldsInit)
24598  {
24599  return setupGroup<Entries>(
24600  EntriesAccess(),
24601  length,
24602  *this);
24603  }
24604 
24605  /// \return instance of OrderIDEntries repeating group.
24609  {
24610  return getGroup<OrderIDEntries>(
24611  OrderIDEntriesAccess(),
24612  *this);
24613  }
24614 
24615  /// \return instance of OrderIDEntries repeating group.
24619  {
24620  return getGroup<OrderIDEntries>(
24621  OrderIDEntriesAccess(),
24622  *this);
24623  }
24624 
24625  /// Setup repeating group with the given number of entries.
24626  /// Sets all optional fields of the group entries to null.
24627  /// \return NoOrderIDEntries(37705) repeating group.
24630  OrderIDEntries::Size length)
24631  {
24632  return constructGroup<OrderIDEntries>(
24633  OrderIDEntriesAccess(),
24634  length,
24635  *this);
24636  }
24637 
24638  /// Setup repeating group with the given number of entries.
24639  /// \return NoOrderIDEntries(37705) repeating group.
24642  OrderIDEntries::Size length,
24643  NoFieldsInit)
24644  {
24645  return setupGroup<OrderIDEntries>(
24646  OrderIDEntriesAccess(),
24647  length,
24648  *this);
24649  }
24650 
24651  /// Minimal size of message body in bytes.
24654  static
24655  BlockLength
24657  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
24659  {
24660  return
24661  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
24662  9;
24663  }
24664 
24665  /// Size of message body in bytes.
24668  static
24669  BlockLength
24671  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
24673  {
24674  return
24675  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
24676  11;
24677  }
24678 
24679  /// Minimal variable fields size (when variable-length fields are empty).
24683  static
24684  MessageSize
24686  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
24687  {
24688  return
24689  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
24690  static_cast<MessageSize>(Entries::EmptySize) + static_cast<MessageSize>(OrderIDEntries::EmptySize);
24691  }
24692 
24693  /// Reset all variable-length fields if any.
24696  {
24697  entriesNull();
24698  orderIdEntriesNull();
24699  return *this;
24700  }
24701 
24702  /// Reset all variable-length and optional fields if any.
24703  ThisType& reset()
24705  {
24706  resetVariableFields();
24707  return *this;
24708  }
24709 
24710  /// \return class name.
24714  static const Char* className()
24715  {
24716  return "IncrementalRefreshBook46";
24717  }
24718 
24719  /// FIX message type.
24723  static StrRef fixType()
24725  {
24726  return constructStrRef("X");
24727  }
24728 
24729  /// \return the end of the message.
24731  const void* tail() const
24733  {
24734  return
24735  orderIdEntries().tail();
24736  }
24737 
24738  /// \return the size occupied by the message.
24742  {
24743  return
24744  SbeMessage::calculateBinarySize(tail());
24745  }
24746 
24747 private:
24748  void checkLength(
24749  EncodedLength length, SchemaVersion version) const
24750  {
24751  const EncodedLength minimalRequiredLength =
24752  minimalBlockLength(version) +
24753  MessageHeader::Size +
24754  getMinimalVariableFieldsSize(version);
24755 
24756  checkBinaryLength(
24757  *this, length, minimalRequiredLength);
24758  }
24759 
24760  /// Checks variable fields consistency.
24761  void checkVarLenFields() const
24762  {
24763  groups().
24764  checkTail<Entries>().
24765  checkTail<OrderIDEntries>();
24766  }
24767 
24768  void checkCompatibility() const
24769  {
24770  assert(TemplateId == templateId());
24771 
24772  checkSchema<Schema>(schemaId(), version());
24773  checkLength(bufferSize(), version());
24774  checkVarLenFields();
24775  }
24776 
24777  /// Access helper.
24778  struct EntriesAccess
24779  {
24780  Entries
24781  operator()(
24782  const IncrementalRefreshBook46& obj) const
24784  {
24785  return obj.
24786  groups().
24787  head<Entries>();
24788  }
24789  };
24790 
24791  /// Reset an instance of the repeating group.
24792  /// All the following data will be invalidated.
24793  void entriesNull()
24795  {
24796  resetGroup<Entries>(EntriesAccess(), *this);
24797  }
24798 
24799  /// Access helper.
24800  struct OrderIDEntriesAccess
24801  {
24803  operator()(
24804  const IncrementalRefreshBook46& obj) const
24806  {
24807  return obj.
24808  groups().
24809  tail<Entries>().
24810  head<OrderIDEntries>();
24811  }
24812  };
24813 
24814  /// Reset an instance of the repeating group.
24815  /// All the following data will be invalidated.
24816  void orderIdEntriesNull()
24818  {
24819  resetGroup<OrderIDEntries>(
24820  OrderIDEntriesAccess(),
24821  *this);
24822  }
24823 };
24824 
24825 /// MDIncrementalRefreshDailyStatistics.
24828 : SbeMessage
24829 {
24830  /// Used template schema.
24832 
24833  /// This type alias.
24835 
24836  /// Message template ID from SBE schema.
24837  enum { TemplateId = 49 };
24838 
24839  /// Number of entries in Market Data message.
24840  /// Entry of Entry repeating group.
24843  <
24845  >
24846  {
24847  /// Base class type.
24848  typedef
24850  <
24852  >
24854 
24855  /// This type alias.
24856  typedef Entry ThisType;
24857 
24858  /// Initializes instance of given
24859  /// version over given memory block.
24861  void* data,
24862  EncodedLength length,
24863  SchemaVersion version)
24864  : Base(data, length, version)
24865  {
24866  assert(version >= Schema::MinimalVersion);
24867  assert(length >= minimalBlockLength(version));
24868  }
24869 
24870  /// Reset all variable-length fields if any.
24873  {
24874  return *this;
24875  }
24876 
24877  /// Reset all variable-length and optional fields if any.
24878  ThisType& reset()
24880  {
24881  entryPxNull();
24882  entrySizeNull();
24883  tradingReferenceDateNull();
24884 
24885  resetVariableFields();
24886  return *this;
24887  }
24888 
24889  /// Market Data entry price.
24891  bool entryPx(PRICE9& value) const
24893  {
24895 
24896  return decimal(value, offset, NullPRICE9());
24897  }
24898 
24899  /// Market Data entry price.
24900  ThisType& setEntryPx(PRICE9 value)
24902  {
24904 
24905  setOrdinary(offset, value);
24906  return *this;
24907  }
24908 
24909  ThisType& entryPxNull()
24911  {
24913 
24914  setOrdinary(offset, NullPRICE9());
24915  return *this;
24916  }
24917 
24918  /// Market Data entry size.
24920  bool entrySize(Int32& value) const
24922  {
24924 
24925  return ordinary(value, offset, NullInt32());
24926  }
24927 
24928  /// Market Data entry size.
24929  ThisType& setEntrySize(Int32 value)
24931  {
24933 
24934  setOrdinary(offset, value);
24935  return *this;
24936  }
24937 
24938  ThisType& entrySizeNull()
24940  {
24942 
24943  setOrdinary(offset, NullInt32());
24944  return *this;
24945  }
24946 
24947  /// Security ID.
24951  {
24953 
24954  return ordinary<Int32>(offset);
24955  }
24956 
24957  /// Security ID.
24958  ThisType& setSecurityId(Int32 value)
24960  {
24962 
24963  setOrdinary(offset, value);
24964  return *this;
24965  }
24966 
24967  /// Market Data entry sequence number per instrument update.
24969  UInt32 rptSeq() const
24971  {
24973 
24974  return ordinary<UInt32>(offset);
24975  }
24976 
24977  /// Market Data entry sequence number per instrument update.
24978  ThisType& setRptSeq(UInt32 value)
24980  {
24982 
24983  setOrdinary(offset, value);
24984  return *this;
24985  }
24986 
24987  /// Indicates trade session date corresponding to a statistic
24988  /// entry.
24990  bool tradingReferenceDate(Timestamp& value) const
24992  {
24993  typedef LocalMktDate FieldValue;
24994 
24996 
24997  FieldValue fieldValue;
24998 
24999  if (ordinary(fieldValue, offset, NullLocalMktDate()))
25000  {
25001  value = localMktDateToTimestamp(fieldValue);
25002  return true;
25003  }
25004  return false;
25005  }
25006 
25007  /// Indicates trade session date corresponding to a statistic
25008  /// entry.
25011  {
25013 
25014  setOrdinary(offset, timestampToLocalMktDate(value));
25015  return *this;
25016  }
25017 
25020  {
25022 
25023  setOrdinary(offset, NullLocalMktDate());
25024  return *this;
25025  }
25026 
25027  /// Bitmap field of eight Boolean type indicators representing
25028  /// settlement price type.
25032  {
25034 
25035  return ordinary<SettlPriceType>(offset);
25036  }
25037 
25038  /// Bitmap field of eight Boolean type indicators representing
25039  /// settlement price type.
25042  {
25044 
25045  setOrdinary(offset, value);
25046  return *this;
25047  }
25048 
25049  /// Market Data update action.
25053  {
25055 
25056  return enumeration<UpdateAction>(offset);
25057  }
25058 
25059  /// Market Data update action.
25062  {
25064 
25065  setEnumeration<UpdateAction>(offset, value);
25066  return *this;
25067  }
25068 
25069  /// Market Data entry type.
25072  entryType() const
25074  {
25076 
25077  return enumeration<EntryTypeDailyStatistics>(offset);
25078  }
25079 
25080  /// Market Data entry type.
25081  ThisType&
25085  {
25087 
25088  setEnumeration<EntryTypeDailyStatistics>(offset, value);
25089  return *this;
25090  }
25091 
25092  /// \return size of entry body in bytes
25093  /// for given version of message template.
25096  static
25097  BlockLength
25099  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25101  {
25102  return
25103  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25104  32;
25105  }
25106 
25107  /// \return minimal size of entry body in bytes
25108  /// for given version of message template.
25111  static
25112  BlockLength
25114  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25116  {
25117  return
25118  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25119  25;
25120  }
25121 
25122  /// Entity class name.
25126  static const Char* className()
25127  {
25128  return "IncrementalRefreshDailyStatistics49.Entry";
25129  }
25130  };
25131 
25132  /// Repeating group containing Entry entries.
25133  typedef
25136 
25137  /// Initializes a blank instance.
25138  IncrementalRefreshDailyStatistics49() ONIXS_CONFLATEDTCP_DEFAULT;
25139 
25140  /// Initializes an instance over the given memory block.
25142  void* data,
25143  EncodedLength length,
25144  SchemaVersion version = Schema::Version)
25145  : SbeMessage(data, length, version)
25146  {
25147  checkVersion<Schema>(version);
25148  checkLength(length, version);
25149  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
25150  reset();
25151  }
25152 
25153  /// Initializes an instance over the given memory block
25154  /// With no variable-length fields initialization
25155  /// It is assumed that the user does such an initialization manually.
25157  void* data,
25158  EncodedLength length,
25159  NoFieldsInit,
25160  SchemaVersion version = Schema::Version)
25161  : SbeMessage(data, length, version)
25162  {
25163  checkVersion<Schema>(version);
25164  checkLength(length, version);
25165  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
25166  resetVariableFields();
25167  }
25168 
25169  /// Creates an instance over the given memory block.
25171  void* data,
25172  EncodedLength length,
25173  NoInit)
25174  : SbeMessage(data, length)
25175  {
25176  checkCompatibility();
25177  }
25178 
25179  /// Creates an instance over the given SBE message.
25180  explicit
25182  const SbeMessage& message)
25183  : SbeMessage(message)
25184  {
25185  assert(message.valid());
25186 
25187  checkCompatibility();
25188  }
25189 
25190  /// Start of event processing time in number of nanoseconds
25191  /// since Unix epoch.
25195  {
25197 
25198  return ordinary<Timestamp>(offset);
25199  }
25200 
25201  /// Start of event processing time in number of nanoseconds
25202  /// since Unix epoch.
25203  ThisType& setTransactTime(Timestamp value)
25205  {
25207 
25208  setOrdinary(offset, value.sinceEpoch());
25209  return *this;
25210  }
25211 
25212  /// Bitmap field of eight Boolean type indicators reflecting
25213  /// the end of updates for a given Globex event.
25217  {
25219 
25220  return ordinary<MatchEventIndicator>(offset);
25221  }
25222 
25223  /// Bitmap field of eight Boolean type indicators reflecting
25224  /// the end of updates for a given Globex event.
25225  ThisType&
25227  MatchEventIndicator value)
25229  {
25231 
25232  setOrdinary(offset, value);
25233  return *this;
25234  }
25235 
25236  /// \return instance of Entries repeating group.
25240  {
25241  return getGroup<Entries>(EntriesAccess(), *this);
25242  }
25243 
25244  /// \return instance of Entries repeating group.
25248  {
25249  return getGroup<Entries>(EntriesAccess(), *this);
25250  }
25251 
25252  /// Setup repeating group with the given number of entries.
25253  /// Sets all optional fields of the group entries to null.
25254  /// \return NoMDEntries(268) repeating group.
25256  {
25257  return constructGroup<Entries>(
25258  EntriesAccess(),
25259  length,
25260  *this);
25261  }
25262 
25263  /// Setup repeating group with the given number of entries.
25264  /// \return NoMDEntries(268) repeating group.
25265  Entries
25267  Entries::Size length,
25268  NoFieldsInit)
25269  {
25270  return setupGroup<Entries>(
25271  EntriesAccess(),
25272  length,
25273  *this);
25274  }
25275 
25276  /// Minimal size of message body in bytes.
25279  static
25280  BlockLength
25282  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25284  {
25285  return
25286  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25287  9;
25288  }
25289 
25290  /// Size of message body in bytes.
25293  static
25294  BlockLength
25296  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25298  {
25299  return
25300  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25301  11;
25302  }
25303 
25304  /// Minimal variable fields size (when variable-length fields are empty).
25308  static
25309  MessageSize
25311  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25312  {
25313  return
25314  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25315  static_cast<MessageSize>(Entries::EmptySize);
25316  }
25317 
25318  /// Reset all variable-length fields if any.
25321  {
25322  entriesNull();
25323  return *this;
25324  }
25325 
25326  /// Reset all variable-length and optional fields if any.
25327  ThisType& reset()
25329  {
25330  resetVariableFields();
25331  return *this;
25332  }
25333 
25334  /// \return class name.
25338  static const Char* className()
25339  {
25340  return "IncrementalRefreshDailyStatistics49";
25341  }
25342 
25343  /// FIX message type.
25347  static StrRef fixType()
25349  {
25350  return constructStrRef("X");
25351  }
25352 
25353  /// \return the end of the message.
25355  const void* tail() const
25357  {
25358  return
25359  entries().tail();
25360  }
25361 
25362  /// \return the size occupied by the message.
25366  {
25367  return
25368  SbeMessage::calculateBinarySize(tail());
25369  }
25370 
25371 private:
25372  void checkLength(
25373  EncodedLength length, SchemaVersion version) const
25374  {
25375  const EncodedLength minimalRequiredLength =
25376  minimalBlockLength(version) +
25377  MessageHeader::Size +
25378  getMinimalVariableFieldsSize(version);
25379 
25380  checkBinaryLength(
25381  *this, length, minimalRequiredLength);
25382  }
25383 
25384  /// Checks variable fields consistency.
25385  void checkVarLenFields() const
25386  {
25387  groups().
25388  checkTail<Entries>();
25389  }
25390 
25391  void checkCompatibility() const
25392  {
25393  assert(TemplateId == templateId());
25394 
25395  checkSchema<Schema>(schemaId(), version());
25396  checkLength(bufferSize(), version());
25397  checkVarLenFields();
25398  }
25399 
25400  /// Access helper.
25401  struct EntriesAccess
25402  {
25403  Entries
25404  operator()(
25405  const IncrementalRefreshDailyStatistics49& obj) const
25407  {
25408  return obj.
25409  groups().
25410  head<Entries>();
25411  }
25412  };
25413 
25414  /// Reset an instance of the repeating group.
25415  /// All the following data will be invalidated.
25416  void entriesNull()
25418  {
25419  resetGroup<Entries>(EntriesAccess(), *this);
25420  }
25421 };
25422 
25423 /// MDIncrementalRefreshLimitsBanding.
25426 : SbeMessage
25427 {
25428  /// Used template schema.
25430 
25431  /// This type alias.
25433 
25434  /// Message template ID from SBE schema.
25435  enum { TemplateId = 50 };
25436 
25437  /// Number of entries in Market Data message.
25438  /// Entry of Entry repeating group.
25441  <
25443  >
25444  {
25445  /// Base class type.
25446  typedef
25448  <
25450  >
25452 
25453  /// This type alias.
25454  typedef Entry ThisType;
25455 
25456  /// Initializes instance of given
25457  /// version over given memory block.
25459  void* data,
25460  EncodedLength length,
25461  SchemaVersion version)
25462  : Base(data, length, version)
25463  {
25464  assert(version >= Schema::MinimalVersion);
25465  assert(length >= minimalBlockLength(version));
25466  }
25467 
25468  /// Reset all variable-length fields if any.
25471  {
25472  return *this;
25473  }
25474 
25475  /// Reset all variable-length and optional fields if any.
25476  ThisType& reset()
25478  {
25479  highLimitPriceNull();
25480  lowLimitPriceNull();
25481  maxPriceVariationNull();
25482 
25483  resetVariableFields();
25484  return *this;
25485  }
25486 
25487  /// Upper price threshold for the instrument.
25489  bool highLimitPrice(PRICE9& value) const
25491  {
25493 
25494  return decimal(value, offset, NullPRICE9());
25495  }
25496 
25497  /// Upper price threshold for the instrument.
25498  ThisType& setHighLimitPrice(PRICE9 value)
25500  {
25502 
25503  setOrdinary(offset, value);
25504  return *this;
25505  }
25506 
25509  {
25511 
25512  setOrdinary(offset, NullPRICE9());
25513  return *this;
25514  }
25515 
25516  /// Lower price threshold for the instrument.
25518  bool lowLimitPrice(PRICE9& value) const
25520  {
25522 
25523  return decimal(value, offset, NullPRICE9());
25524  }
25525 
25526  /// Lower price threshold for the instrument.
25527  ThisType& setLowLimitPrice(PRICE9 value)
25529  {
25531 
25532  setOrdinary(offset, value);
25533  return *this;
25534  }
25535 
25536  ThisType& lowLimitPriceNull()
25538  {
25540 
25541  setOrdinary(offset, NullPRICE9());
25542  return *this;
25543  }
25544 
25545  /// Differential static value for price banding.
25547  bool maxPriceVariation(PRICE9& value) const
25549  {
25551 
25552  return decimal(value, offset, NullPRICE9());
25553  }
25554 
25555  /// Differential static value for price banding.
25556  ThisType& setMaxPriceVariation(PRICE9 value)
25558  {
25560 
25561  setOrdinary(offset, value);
25562  return *this;
25563  }
25564 
25567  {
25569 
25570  setOrdinary(offset, NullPRICE9());
25571  return *this;
25572  }
25573 
25574  /// Security ID.
25578  {
25580 
25581  return ordinary<Int32>(offset);
25582  }
25583 
25584  /// Security ID.
25585  ThisType& setSecurityId(Int32 value)
25587  {
25589 
25590  setOrdinary(offset, value);
25591  return *this;
25592  }
25593 
25594  /// MD Entry sequence number per instrument update.
25596  UInt32 rptSeq() const
25598  {
25600 
25601  return ordinary<UInt32>(offset);
25602  }
25603 
25604  /// MD Entry sequence number per instrument update.
25605  ThisType& setRptSeq(UInt32 value)
25607  {
25609 
25610  setOrdinary(offset, value);
25611  return *this;
25612  }
25613 
25614  /// Market Data entry update action. In order to delete
25615  /// banding value, high or low limit, the deleted price field
25616  /// is populated with a NULL.
25621  {
25622  return UpdateActionNew();
25623  }
25624 
25625  /// Market Data entry type.
25630  {
25631  return EntryTypeLimits();
25632  }
25633 
25634  /// \return size of entry body in bytes
25635  /// for given version of message template.
25640  {
25641  return
25642  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25643  minimalBlockLength(version);
25644  }
25645 
25646  /// \return minimal size of entry body in bytes
25647  /// for given version of message template.
25650  static
25651  BlockLength
25653  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25655  {
25656  return
25657  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25658  32;
25659  }
25660 
25661  /// Entity class name.
25665  static const Char* className()
25666  {
25667  return "IncrementalRefreshLimitsBanding50.Entry";
25668  }
25669  };
25670 
25671  /// Repeating group containing Entry entries.
25672  typedef
25675 
25676  /// Initializes a blank instance.
25677  IncrementalRefreshLimitsBanding50() ONIXS_CONFLATEDTCP_DEFAULT;
25678 
25679  /// Initializes an instance over the given memory block.
25681  void* data,
25682  EncodedLength length,
25683  SchemaVersion version = Schema::Version)
25684  : SbeMessage(data, length, version)
25685  {
25686  checkVersion<Schema>(version);
25687  checkLength(length, version);
25688  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
25689  reset();
25690  }
25691 
25692  /// Initializes an instance over the given memory block
25693  /// With no variable-length fields initialization
25694  /// It is assumed that the user does such an initialization manually.
25696  void* data,
25697  EncodedLength length,
25698  NoFieldsInit,
25699  SchemaVersion version = Schema::Version)
25700  : SbeMessage(data, length, version)
25701  {
25702  checkVersion<Schema>(version);
25703  checkLength(length, version);
25704  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
25705  resetVariableFields();
25706  }
25707 
25708  /// Creates an instance over the given memory block.
25710  void* data,
25711  EncodedLength length,
25712  NoInit)
25713  : SbeMessage(data, length)
25714  {
25715  checkCompatibility();
25716  }
25717 
25718  /// Creates an instance over the given SBE message.
25719  explicit
25721  const SbeMessage& message)
25722  : SbeMessage(message)
25723  {
25724  assert(message.valid());
25725 
25726  checkCompatibility();
25727  }
25728 
25729  /// Start of event processing time in number of nanoseconds
25730  /// since Unix epoch.
25734  {
25736 
25737  return ordinary<Timestamp>(offset);
25738  }
25739 
25740  /// Start of event processing time in number of nanoseconds
25741  /// since Unix epoch.
25742  ThisType& setTransactTime(Timestamp value)
25744  {
25746 
25747  setOrdinary(offset, value.sinceEpoch());
25748  return *this;
25749  }
25750 
25751  /// Bitmap field of eight Boolean type indicators reflecting
25752  /// the end of updates for a given Globex event.
25756  {
25758 
25759  return ordinary<MatchEventIndicator>(offset);
25760  }
25761 
25762  /// Bitmap field of eight Boolean type indicators reflecting
25763  /// the end of updates for a given Globex event.
25764  ThisType&
25766  MatchEventIndicator value)
25768  {
25770 
25771  setOrdinary(offset, value);
25772  return *this;
25773  }
25774 
25775  /// \return instance of Entries repeating group.
25779  {
25780  return getGroup<Entries>(EntriesAccess(), *this);
25781  }
25782 
25783  /// \return instance of Entries repeating group.
25787  {
25788  return getGroup<Entries>(EntriesAccess(), *this);
25789  }
25790 
25791  /// Setup repeating group with the given number of entries.
25792  /// Sets all optional fields of the group entries to null.
25793  /// \return NoMDEntries(268) repeating group.
25795  {
25796  return constructGroup<Entries>(
25797  EntriesAccess(),
25798  length,
25799  *this);
25800  }
25801 
25802  /// Setup repeating group with the given number of entries.
25803  /// \return NoMDEntries(268) repeating group.
25804  Entries
25806  Entries::Size length,
25807  NoFieldsInit)
25808  {
25809  return setupGroup<Entries>(
25810  EntriesAccess(),
25811  length,
25812  *this);
25813  }
25814 
25815  /// Minimal size of message body in bytes.
25818  static
25819  BlockLength
25821  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25823  {
25824  return
25825  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25826  9;
25827  }
25828 
25829  /// Size of message body in bytes.
25832  static
25833  BlockLength
25835  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25837  {
25838  return
25839  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25840  11;
25841  }
25842 
25843  /// Minimal variable fields size (when variable-length fields are empty).
25847  static
25848  MessageSize
25850  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
25851  {
25852  return
25853  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
25854  static_cast<MessageSize>(Entries::EmptySize);
25855  }
25856 
25857  /// Reset all variable-length fields if any.
25860  {
25861  entriesNull();
25862  return *this;
25863  }
25864 
25865  /// Reset all variable-length and optional fields if any.
25866  ThisType& reset()
25868  {
25869  resetVariableFields();
25870  return *this;
25871  }
25872 
25873  /// \return class name.
25877  static const Char* className()
25878  {
25879  return "IncrementalRefreshLimitsBanding50";
25880  }
25881 
25882  /// FIX message type.
25886  static StrRef fixType()
25888  {
25889  return constructStrRef("X");
25890  }
25891 
25892  /// \return the end of the message.
25894  const void* tail() const
25896  {
25897  return
25898  entries().tail();
25899  }
25900 
25901  /// \return the size occupied by the message.
25905  {
25906  return
25907  SbeMessage::calculateBinarySize(tail());
25908  }
25909 
25910 private:
25911  void checkLength(
25912  EncodedLength length, SchemaVersion version) const
25913  {
25914  const EncodedLength minimalRequiredLength =
25915  minimalBlockLength(version) +
25916  MessageHeader::Size +
25917  getMinimalVariableFieldsSize(version);
25918 
25919  checkBinaryLength(
25920  *this, length, minimalRequiredLength);
25921  }
25922 
25923  /// Checks variable fields consistency.
25924  void checkVarLenFields() const
25925  {
25926  groups().
25927  checkTail<Entries>();
25928  }
25929 
25930  void checkCompatibility() const
25931  {
25932  assert(TemplateId == templateId());
25933 
25934  checkSchema<Schema>(schemaId(), version());
25935  checkLength(bufferSize(), version());
25936  checkVarLenFields();
25937  }
25938 
25939  /// Access helper.
25940  struct EntriesAccess
25941  {
25942  Entries
25943  operator()(
25944  const IncrementalRefreshLimitsBanding50& obj) const
25946  {
25947  return obj.
25948  groups().
25949  head<Entries>();
25950  }
25951  };
25952 
25953  /// Reset an instance of the repeating group.
25954  /// All the following data will be invalidated.
25955  void entriesNull()
25957  {
25958  resetGroup<Entries>(EntriesAccess(), *this);
25959  }
25960 };
25961 
25962 /// MDIncrementalRefreshSessionStatistics.
25965 : SbeMessage
25966 {
25967  /// Used template schema.
25969 
25970  /// This type alias.
25972 
25973  /// Message template ID from SBE schema.
25974  enum { TemplateId = 51 };
25975 
25976  /// Number of entries in Market Data message.
25977  /// Entry of Entry repeating group.
25980  <
25982  >
25983  {
25984  /// Base class type.
25985  typedef
25987  <
25989  >
25991 
25992  /// This type alias.
25993  typedef Entry ThisType;
25994 
25995  /// Initializes instance of given
25996  /// version over given memory block.
25998  void* data,
25999  EncodedLength length,
26000  SchemaVersion version)
26001  : Base(data, length, version)
26002  {
26003  assert(version >= Schema::MinimalVersion);
26004  assert(length >= minimalBlockLength(version));
26005  }
26006 
26007  /// Reset all variable-length fields if any.
26010  {
26011  return *this;
26012  }
26013 
26014  /// Reset all variable-length and optional fields if any.
26015  ThisType& reset()
26017  {
26018  openCloseSettlFlagNull();
26019  entrySizeNull();
26020 
26021  resetVariableFields();
26022  return *this;
26023  }
26024 
26025  /// Market Data entry price.
26027  PRICE9 entryPx() const
26029  {
26031 
26032  return decimal<PRICE9>(offset);
26033  }
26034 
26035  /// Market Data entry price.
26036  ThisType& setEntryPx(PRICE9 value)
26038  {
26040 
26041  setOrdinary(offset, value);
26042  return *this;
26043  }
26044 
26045  /// Security ID.
26049  {
26051 
26052  return ordinary<Int32>(offset);
26053  }
26054 
26055  /// Security ID.
26056  ThisType& setSecurityId(Int32 value)
26058  {
26060 
26061  setOrdinary(offset, value);
26062  return *this;
26063  }
26064 
26065  /// MD Entry sequence number per instrument update.
26067  UInt32 rptSeq() const
26069  {
26071 
26072  return ordinary<UInt32>(offset);
26073  }
26074 
26075  /// MD Entry sequence number per instrument update.
26076  ThisType& setRptSeq(UInt32 value)
26078  {
26080 
26081  setOrdinary(offset, value);
26082  return *this;
26083  }
26084 
26085  /// Flag describing IOP and Open Price entries.
26087  bool
26089  OpenCloseSettlFlag::Enum& value) const
26091  {
26093 
26094  return enumeration<OpenCloseSettlFlag>(value, offset, NullUInt8());
26095  }
26096 
26097  /// Flag describing IOP and Open Price entries.
26098  ThisType&
26102  {
26104 
26105  setEnumeration<OpenCloseSettlFlag>(offset, value);
26106  return *this;
26107  }
26108 
26111  {
26113 
26114  setOrdinary(offset, NullUInt8());
26115  return *this;
26116  }
26117 
26118  /// Market Data update action.
26122  {
26124 
26125  return enumeration<UpdateAction>(offset);
26126  }
26127 
26128  /// Market Data update action.
26131  {
26133 
26134  setEnumeration<UpdateAction>(offset, value);
26135  return *this;
26136  }
26137 
26138  /// Market Data entry type.
26141  entryType() const
26143  {
26145 
26146  return enumeration<EntryTypeStatistics>(offset);
26147  }
26148 
26149  /// Market Data entry type.
26150  ThisType&
26154  {
26156 
26157  setEnumeration<EntryTypeStatistics>(offset, value);
26158  return *this;
26159  }
26160 
26161  /// Indicative Opening Quantity.
26163  bool entrySize(Int32& value) const
26165  {
26167 
26168  return ordinary(value, offset, NullInt32());
26169  }
26170 
26171  /// Indicative Opening Quantity.
26172  ThisType& setEntrySize(Int32 value)
26174  {
26176 
26177  setOrdinary(offset, value);
26178  return *this;
26179  }
26180 
26181  ThisType& entrySizeNull()
26183  {
26185 
26186  setOrdinary(offset, NullInt32());
26187  return *this;
26188  }
26189 
26190  /// \return size of entry body in bytes
26191  /// for given version of message template.
26194  static
26195  BlockLength
26197  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26199  {
26200  return
26201  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26202  24;
26203  }
26204 
26205  /// \return minimal size of entry body in bytes
26206  /// for given version of message template.
26209  static
26210  BlockLength
26212  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26214  {
26215  return
26216  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26217  23;
26218  }
26219 
26220  /// Entity class name.
26224  static const Char* className()
26225  {
26226  return "IncrementalRefreshSessionStatistics51.Entry";
26227  }
26228  };
26229 
26230  /// Repeating group containing Entry entries.
26231  typedef
26234 
26235  /// Initializes a blank instance.
26236  IncrementalRefreshSessionStatistics51() ONIXS_CONFLATEDTCP_DEFAULT;
26237 
26238  /// Initializes an instance over the given memory block.
26240  void* data,
26241  EncodedLength length,
26242  SchemaVersion version = Schema::Version)
26243  : SbeMessage(data, length, version)
26244  {
26245  checkVersion<Schema>(version);
26246  checkLength(length, version);
26247  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
26248  reset();
26249  }
26250 
26251  /// Initializes an instance over the given memory block
26252  /// With no variable-length fields initialization
26253  /// It is assumed that the user does such an initialization manually.
26255  void* data,
26256  EncodedLength length,
26257  NoFieldsInit,
26258  SchemaVersion version = Schema::Version)
26259  : SbeMessage(data, length, version)
26260  {
26261  checkVersion<Schema>(version);
26262  checkLength(length, version);
26263  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
26264  resetVariableFields();
26265  }
26266 
26267  /// Creates an instance over the given memory block.
26269  void* data,
26270  EncodedLength length,
26271  NoInit)
26272  : SbeMessage(data, length)
26273  {
26274  checkCompatibility();
26275  }
26276 
26277  /// Creates an instance over the given SBE message.
26278  explicit
26280  const SbeMessage& message)
26281  : SbeMessage(message)
26282  {
26283  assert(message.valid());
26284 
26285  checkCompatibility();
26286  }
26287 
26288  /// Start of event processing time in number of nanoseconds
26289  /// since Unix epoch.
26293  {
26295 
26296  return ordinary<Timestamp>(offset);
26297  }
26298 
26299  /// Start of event processing time in number of nanoseconds
26300  /// since Unix epoch.
26301  ThisType& setTransactTime(Timestamp value)
26303  {
26305 
26306  setOrdinary(offset, value.sinceEpoch());
26307  return *this;
26308  }
26309 
26310  /// Bitmap field of eight Boolean type indicators reflecting
26311  /// the end of updates for a given Globex event.
26315  {
26317 
26318  return ordinary<MatchEventIndicator>(offset);
26319  }
26320 
26321  /// Bitmap field of eight Boolean type indicators reflecting
26322  /// the end of updates for a given Globex event.
26323  ThisType&
26325  MatchEventIndicator value)
26327  {
26329 
26330  setOrdinary(offset, value);
26331  return *this;
26332  }
26333 
26334  /// \return instance of Entries repeating group.
26338  {
26339  return getGroup<Entries>(EntriesAccess(), *this);
26340  }
26341 
26342  /// \return instance of Entries repeating group.
26346  {
26347  return getGroup<Entries>(EntriesAccess(), *this);
26348  }
26349 
26350  /// Setup repeating group with the given number of entries.
26351  /// Sets all optional fields of the group entries to null.
26352  /// \return NoMDEntries(268) repeating group.
26354  {
26355  return constructGroup<Entries>(
26356  EntriesAccess(),
26357  length,
26358  *this);
26359  }
26360 
26361  /// Setup repeating group with the given number of entries.
26362  /// \return NoMDEntries(268) repeating group.
26363  Entries
26365  Entries::Size length,
26366  NoFieldsInit)
26367  {
26368  return setupGroup<Entries>(
26369  EntriesAccess(),
26370  length,
26371  *this);
26372  }
26373 
26374  /// Minimal size of message body in bytes.
26377  static
26378  BlockLength
26380  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26382  {
26383  return
26384  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26385  9;
26386  }
26387 
26388  /// Size of message body in bytes.
26391  static
26392  BlockLength
26394  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26396  {
26397  return
26398  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26399  11;
26400  }
26401 
26402  /// Minimal variable fields size (when variable-length fields are empty).
26406  static
26407  MessageSize
26409  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26410  {
26411  return
26412  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26413  static_cast<MessageSize>(Entries::EmptySize);
26414  }
26415 
26416  /// Reset all variable-length fields if any.
26419  {
26420  entriesNull();
26421  return *this;
26422  }
26423 
26424  /// Reset all variable-length and optional fields if any.
26425  ThisType& reset()
26427  {
26428  resetVariableFields();
26429  return *this;
26430  }
26431 
26432  /// \return class name.
26436  static const Char* className()
26437  {
26438  return "IncrementalRefreshSessionStatistics51";
26439  }
26440 
26441  /// FIX message type.
26445  static StrRef fixType()
26447  {
26448  return constructStrRef("X");
26449  }
26450 
26451  /// \return the end of the message.
26453  const void* tail() const
26455  {
26456  return
26457  entries().tail();
26458  }
26459 
26460  /// \return the size occupied by the message.
26464  {
26465  return
26466  SbeMessage::calculateBinarySize(tail());
26467  }
26468 
26469 private:
26470  void checkLength(
26471  EncodedLength length, SchemaVersion version) const
26472  {
26473  const EncodedLength minimalRequiredLength =
26474  minimalBlockLength(version) +
26475  MessageHeader::Size +
26476  getMinimalVariableFieldsSize(version);
26477 
26478  checkBinaryLength(
26479  *this, length, minimalRequiredLength);
26480  }
26481 
26482  /// Checks variable fields consistency.
26483  void checkVarLenFields() const
26484  {
26485  groups().
26486  checkTail<Entries>();
26487  }
26488 
26489  void checkCompatibility() const
26490  {
26491  assert(TemplateId == templateId());
26492 
26493  checkSchema<Schema>(schemaId(), version());
26494  checkLength(bufferSize(), version());
26495  checkVarLenFields();
26496  }
26497 
26498  /// Access helper.
26499  struct EntriesAccess
26500  {
26501  Entries
26502  operator()(
26503  const IncrementalRefreshSessionStatistics51& obj) const
26505  {
26506  return obj.
26507  groups().
26508  head<Entries>();
26509  }
26510  };
26511 
26512  /// Reset an instance of the repeating group.
26513  /// All the following data will be invalidated.
26514  void entriesNull()
26516  {
26517  resetGroup<Entries>(EntriesAccess(), *this);
26518  }
26519 };
26520 
26521 /// MDIncrementalRefreshVolume.
26524 : SbeMessage
26525 {
26526  /// Used template schema.
26528 
26529  /// This type alias.
26531 
26532  /// Message template ID from SBE schema.
26533  enum { TemplateId = 37 };
26534 
26535  /// Number of entries in Market Data message.
26536  /// Entry of Entry repeating group.
26539  <
26541  >
26542  {
26543  /// Base class type.
26544  typedef
26546  <
26548  >
26550 
26551  /// This type alias.
26552  typedef Entry ThisType;
26553 
26554  /// Initializes instance of given
26555  /// version over given memory block.
26557  void* data,
26558  EncodedLength length,
26559  SchemaVersion version)
26560  : Base(data, length, version)
26561  {
26562  assert(version >= Schema::MinimalVersion);
26563  assert(length >= minimalBlockLength(version));
26564  }
26565 
26566  /// Reset all variable-length fields if any.
26569  {
26570  return *this;
26571  }
26572 
26573  /// Reset all variable-length and optional fields if any.
26574  ThisType& reset()
26576  {
26577  resetVariableFields();
26578  return *this;
26579  }
26580 
26581  /// Cumulative traded volume.
26585  {
26587 
26588  return ordinary<Int32>(offset);
26589  }
26590 
26591  /// Cumulative traded volume.
26592  ThisType& setEntrySize(Int32 value)
26594  {
26596 
26597  setOrdinary(offset, value);
26598  return *this;
26599  }
26600 
26601  /// Security ID.
26605  {
26607 
26608  return ordinary<Int32>(offset);
26609  }
26610 
26611  /// Security ID.
26612  ThisType& setSecurityId(Int32 value)
26614  {
26616 
26617  setOrdinary(offset, value);
26618  return *this;
26619  }
26620 
26621  /// Market Data entry sequence number per instrument update.
26623  UInt32 rptSeq() const
26625  {
26627 
26628  return ordinary<UInt32>(offset);
26629  }
26630 
26631  /// Market Data entry sequence number per instrument update.
26632  ThisType& setRptSeq(UInt32 value)
26634  {
26636 
26637  setOrdinary(offset, value);
26638  return *this;
26639  }
26640 
26641  /// Market Data update action.
26645  {
26647 
26648  return enumeration<UpdateAction>(offset);
26649  }
26650 
26651  /// Market Data update action.
26654  {
26656 
26657  setEnumeration<UpdateAction>(offset, value);
26658  return *this;
26659  }
26660 
26661  /// Electronic Volume entry provides cumulative session trade
26662  /// volume updated with the event.
26667  {
26668  return EntryTypeVol();
26669  }
26670 
26671  /// \return size of entry body in bytes
26672  /// for given version of message template.
26675  static
26676  BlockLength
26678  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26680  {
26681  return
26682  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26683  16;
26684  }
26685 
26686  /// \return minimal size of entry body in bytes
26687  /// for given version of message template.
26690  static
26691  BlockLength
26693  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26695  {
26696  return
26697  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26698  13;
26699  }
26700 
26701  /// Entity class name.
26705  static const Char* className()
26706  {
26707  return "IncrementalRefreshVolume37.Entry";
26708  }
26709  };
26710 
26711  /// Repeating group containing Entry entries.
26712  typedef
26715 
26716  /// Initializes a blank instance.
26717  IncrementalRefreshVolume37() ONIXS_CONFLATEDTCP_DEFAULT;
26718 
26719  /// Initializes an instance over the given memory block.
26721  void* data,
26722  EncodedLength length,
26723  SchemaVersion version = Schema::Version)
26724  : SbeMessage(data, length, version)
26725  {
26726  checkVersion<Schema>(version);
26727  checkLength(length, version);
26728  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
26729  reset();
26730  }
26731 
26732  /// Initializes an instance over the given memory block
26733  /// With no variable-length fields initialization
26734  /// It is assumed that the user does such an initialization manually.
26736  void* data,
26737  EncodedLength length,
26738  NoFieldsInit,
26739  SchemaVersion version = Schema::Version)
26740  : SbeMessage(data, length, version)
26741  {
26742  checkVersion<Schema>(version);
26743  checkLength(length, version);
26744  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
26745  resetVariableFields();
26746  }
26747 
26748  /// Creates an instance over the given memory block.
26750  void* data,
26751  EncodedLength length,
26752  NoInit)
26753  : SbeMessage(data, length)
26754  {
26755  checkCompatibility();
26756  }
26757 
26758  /// Creates an instance over the given SBE message.
26759  explicit
26761  const SbeMessage& message)
26762  : SbeMessage(message)
26763  {
26764  assert(message.valid());
26765 
26766  checkCompatibility();
26767  }
26768 
26769  /// Start of event processing time in number of nanoseconds
26770  /// since Unix epoch.
26774  {
26776 
26777  return ordinary<Timestamp>(offset);
26778  }
26779 
26780  /// Start of event processing time in number of nanoseconds
26781  /// since Unix epoch.
26782  ThisType& setTransactTime(Timestamp value)
26784  {
26786 
26787  setOrdinary(offset, value.sinceEpoch());
26788  return *this;
26789  }
26790 
26791  /// Bitmap field of eight Boolean type indicators reflecting
26792  /// the end of updates for a given Globex event.
26796  {
26798 
26799  return ordinary<MatchEventIndicator>(offset);
26800  }
26801 
26802  /// Bitmap field of eight Boolean type indicators reflecting
26803  /// the end of updates for a given Globex event.
26804  ThisType&
26806  MatchEventIndicator value)
26808  {
26810 
26811  setOrdinary(offset, value);
26812  return *this;
26813  }
26814 
26815  /// \return instance of Entries repeating group.
26819  {
26820  return getGroup<Entries>(EntriesAccess(), *this);
26821  }
26822 
26823  /// \return instance of Entries repeating group.
26827  {
26828  return getGroup<Entries>(EntriesAccess(), *this);
26829  }
26830 
26831  /// Setup repeating group with the given number of entries.
26832  /// Sets all optional fields of the group entries to null.
26833  /// \return NoMDEntries(268) repeating group.
26835  {
26836  return constructGroup<Entries>(
26837  EntriesAccess(),
26838  length,
26839  *this);
26840  }
26841 
26842  /// Setup repeating group with the given number of entries.
26843  /// \return NoMDEntries(268) repeating group.
26844  Entries
26846  Entries::Size length,
26847  NoFieldsInit)
26848  {
26849  return setupGroup<Entries>(
26850  EntriesAccess(),
26851  length,
26852  *this);
26853  }
26854 
26855  /// Minimal size of message body in bytes.
26858  static
26859  BlockLength
26861  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26863  {
26864  return
26865  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26866  9;
26867  }
26868 
26869  /// Size of message body in bytes.
26872  static
26873  BlockLength
26875  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26877  {
26878  return
26879  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26880  11;
26881  }
26882 
26883  /// Minimal variable fields size (when variable-length fields are empty).
26887  static
26888  MessageSize
26890  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
26891  {
26892  return
26893  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
26894  static_cast<MessageSize>(Entries::EmptySize);
26895  }
26896 
26897  /// Reset all variable-length fields if any.
26900  {
26901  entriesNull();
26902  return *this;
26903  }
26904 
26905  /// Reset all variable-length and optional fields if any.
26906  ThisType& reset()
26908  {
26909  resetVariableFields();
26910  return *this;
26911  }
26912 
26913  /// \return class name.
26917  static const Char* className()
26918  {
26919  return "IncrementalRefreshVolume37";
26920  }
26921 
26922  /// FIX message type.
26926  static StrRef fixType()
26928  {
26929  return constructStrRef("X");
26930  }
26931 
26932  /// \return the end of the message.
26934  const void* tail() const
26936  {
26937  return
26938  entries().tail();
26939  }
26940 
26941  /// \return the size occupied by the message.
26945  {
26946  return
26947  SbeMessage::calculateBinarySize(tail());
26948  }
26949 
26950 private:
26951  void checkLength(
26952  EncodedLength length, SchemaVersion version) const
26953  {
26954  const EncodedLength minimalRequiredLength =
26955  minimalBlockLength(version) +
26956  MessageHeader::Size +
26957  getMinimalVariableFieldsSize(version);
26958 
26959  checkBinaryLength(
26960  *this, length, minimalRequiredLength);
26961  }
26962 
26963  /// Checks variable fields consistency.
26964  void checkVarLenFields() const
26965  {
26966  groups().
26967  checkTail<Entries>();
26968  }
26969 
26970  void checkCompatibility() const
26971  {
26972  assert(TemplateId == templateId());
26973 
26974  checkSchema<Schema>(schemaId(), version());
26975  checkLength(bufferSize(), version());
26976  checkVarLenFields();
26977  }
26978 
26979  /// Access helper.
26980  struct EntriesAccess
26981  {
26982  Entries
26983  operator()(
26984  const IncrementalRefreshVolume37& obj) const
26986  {
26987  return obj.
26988  groups().
26989  head<Entries>();
26990  }
26991  };
26992 
26993  /// Reset an instance of the repeating group.
26994  /// All the following data will be invalidated.
26995  void entriesNull()
26997  {
26998  resetGroup<Entries>(EntriesAccess(), *this);
26999  }
27000 };
27001 
27002 /// SnapshotFullRefresh.
27005 : SbeMessage
27006 {
27007  /// Used template schema.
27009 
27010  /// This type alias.
27012 
27013  /// Message template ID from SBE schema.
27014  enum { TemplateId = 52 };
27015 
27016  /// Number of entries in Market Data message.
27017  /// Entry of Entry repeating group.
27020  <
27022  >
27023  {
27024  /// Base class type.
27025  typedef
27027  <
27029  >
27031 
27032  /// This type alias.
27033  typedef Entry ThisType;
27034 
27035  /// Initializes instance of given
27036  /// version over given memory block.
27038  void* data,
27039  EncodedLength length,
27040  SchemaVersion version)
27041  : Base(data, length, version)
27042  {
27043  assert(version >= Schema::MinimalVersion);
27044  assert(length >= minimalBlockLength(version));
27045  }
27046 
27047  /// Reset all variable-length fields if any.
27050  {
27051  return *this;
27052  }
27053 
27054  /// Reset all variable-length and optional fields if any.
27055  ThisType& reset()
27057  {
27058  entryPxNull();
27059  entrySizeNull();
27060  numberOfOrdersNull();
27061  priceLevelNull();
27062  tradingReferenceDateNull();
27063  openCloseSettlFlagNull();
27064 
27065  resetVariableFields();
27066  return *this;
27067  }
27068 
27069  /// Market Data entry price.
27071  bool entryPx(PRICE9& value) const
27073  {
27075 
27076  return decimal(value, offset, NullPRICE9());
27077  }
27078 
27079  /// Market Data entry price.
27080  ThisType& setEntryPx(PRICE9 value)
27082  {
27084 
27085  setOrdinary(offset, value);
27086  return *this;
27087  }
27088 
27089  ThisType& entryPxNull()
27091  {
27093 
27094  setOrdinary(offset, NullPRICE9());
27095  return *this;
27096  }
27097 
27098  /// Market Data entry quantity.
27100  bool entrySize(Int32& value) const
27102  {
27104 
27105  return ordinary(value, offset, NullInt32());
27106  }
27107 
27108  /// Market Data entry quantity.
27109  ThisType& setEntrySize(Int32 value)
27111  {
27113 
27114  setOrdinary(offset, value);
27115  return *this;
27116  }
27117 
27118  ThisType& entrySizeNull()
27120  {
27122 
27123  setOrdinary(offset, NullInt32());
27124  return *this;
27125  }
27126 
27127  /// Aggregate number of orders at the given price level.
27129  bool numberOfOrders(Int32& value) const
27131  {
27133 
27134  return ordinary(value, offset, NullInt32());
27135  }
27136 
27137  /// Aggregate number of orders at the given price level.
27138  ThisType& setNumberOfOrders(Int32 value)
27140  {
27142 
27143  setOrdinary(offset, value);
27144  return *this;
27145  }
27146 
27149  {
27151 
27152  setOrdinary(offset, NullInt32());
27153  return *this;
27154  }
27155 
27156  /// Aggregate book position.
27158  bool priceLevel(Int8& value) const
27160  {
27162 
27163  return ordinary(value, offset, NullInt8());
27164  }
27165 
27166  /// Aggregate book position.
27167  ThisType& setPriceLevel(Int8 value)
27169  {
27171 
27172  setOrdinary(offset, value);
27173  return *this;
27174  }
27175 
27176  ThisType& priceLevelNull()
27178  {
27180 
27181  setOrdinary(offset, NullInt8());
27182  return *this;
27183  }
27184 
27185  /// Indicates the date of trade session corresponding to a
27186  /// statistic entry.
27188  bool tradingReferenceDate(Timestamp& value) const
27190  {
27191  typedef LocalMktDate FieldValue;
27192 
27194 
27195  FieldValue fieldValue;
27196 
27197  if (ordinary(fieldValue, offset, NullLocalMktDate()))
27198  {
27199  value = localMktDateToTimestamp(fieldValue);
27200  return true;
27201  }
27202  return false;
27203  }
27204 
27205  /// Indicates the date of trade session corresponding to a
27206  /// statistic entry.
27209  {
27211 
27212  setOrdinary(offset, timestampToLocalMktDate(value));
27213  return *this;
27214  }
27215 
27218  {
27220 
27221  setOrdinary(offset, NullLocalMktDate());
27222  return *this;
27223  }
27224 
27225  /// Flag describing Open Price entry.
27227  bool
27229  OpenCloseSettlFlag::Enum& value) const
27231  {
27233 
27234  return enumeration<OpenCloseSettlFlag>(value, offset, NullUInt8());
27235  }
27236 
27237  /// Flag describing Open Price entry.
27238  ThisType&
27242  {
27244 
27245  setEnumeration<OpenCloseSettlFlag>(offset, value);
27246  return *this;
27247  }
27248 
27251  {
27253 
27254  setOrdinary(offset, NullUInt8());
27255  return *this;
27256  }
27257 
27258  /// Bitmap field of eight Boolean type indicators representing
27259  /// settlement price type.
27263  {
27265 
27266  return ordinary<SettlPriceType>(offset);
27267  }
27268 
27269  /// Bitmap field of eight Boolean type indicators representing
27270  /// settlement price type.
27273  {
27275 
27276  setOrdinary(offset, value);
27277  return *this;
27278  }
27279 
27280  /// Market Data entry type.
27284  {
27286 
27287  return enumeration<EntryType>(offset);
27288  }
27289 
27290  /// Market Data entry type.
27293  {
27295 
27296  setEnumeration<EntryType>(offset, value);
27297  return *this;
27298  }
27299 
27300  /// \return size of entry body in bytes
27301  /// for given version of message template.
27306  {
27307  return
27308  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
27309  minimalBlockLength(version);
27310  }
27311 
27312  /// \return minimal size of entry body in bytes
27313  /// for given version of message template.
27316  static
27317  BlockLength
27319  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
27321  {
27322  return
27323  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
27324  22;
27325  }
27326 
27327  /// Entity class name.
27331  static const Char* className()
27332  {
27333  return "SnapshotFullRefresh52.Entry";
27334  }
27335  };
27336 
27337  /// Repeating group containing Entry entries.
27338  typedef
27341 
27342  /// Initializes a blank instance.
27343  SnapshotFullRefresh52() ONIXS_CONFLATEDTCP_DEFAULT;
27344 
27345  /// Initializes an instance over the given memory block.
27347  void* data,
27348  EncodedLength length,
27349  SchemaVersion version = Schema::Version)
27350  : SbeMessage(data, length, version)
27351  {
27352  checkVersion<Schema>(version);
27353  checkLength(length, version);
27354  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
27355  reset();
27356  }
27357 
27358  /// Initializes an instance over the given memory block
27359  /// With no variable-length fields initialization
27360  /// It is assumed that the user does such an initialization manually.
27362  void* data,
27363  EncodedLength length,
27364  NoFieldsInit,
27365  SchemaVersion version = Schema::Version)
27366  : SbeMessage(data, length, version)
27367  {
27368  checkVersion<Schema>(version);
27369  checkLength(length, version);
27370  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
27371  resetVariableFields();
27372  }
27373 
27374  /// Creates an instance over the given memory block.
27376  void* data,
27377  EncodedLength length,
27378  NoInit)
27379  : SbeMessage(data, length)
27380  {
27381  checkCompatibility();
27382  }
27383 
27384  /// Creates an instance over the given SBE message.
27385  explicit
27387  const SbeMessage& message)
27388  : SbeMessage(message)
27389  {
27390  assert(message.valid());
27391 
27392  checkCompatibility();
27393  }
27394 
27395  /// Sequence number of the last Incremental feed packet
27396  /// processed. This value is used to synchronize the snapshot
27397  /// loop with the real-time feed.
27401  {
27403 
27404  return ordinary<UInt32>(offset);
27405  }
27406 
27407  /// Sequence number of the last Incremental feed packet
27408  /// processed. This value is used to synchronize the snapshot
27409  /// loop with the real-time feed.
27412  {
27414 
27415  setOrdinary(offset, value);
27416  return *this;
27417  }
27418 
27419  /// Total number of messages replayed in the loop.
27423  {
27425 
27426  return ordinary<UInt32>(offset);
27427  }
27428 
27429  /// Total number of messages replayed in the loop.
27430  ThisType& setTotNumReports(UInt32 value)
27432  {
27434 
27435  setOrdinary(offset, value);
27436  return *this;
27437  }
27438 
27439  /// Security ID.
27443  {
27445 
27446  return ordinary<Int32>(offset);
27447  }
27448 
27449  /// Security ID.
27450  ThisType& setSecurityId(Int32 value)
27452  {
27454 
27455  setOrdinary(offset, value);
27456  return *this;
27457  }
27458 
27459  /// Sequence number of the last Market Data entry processed
27460  /// for the instrument.
27462  UInt32 rptSeq() const
27464  {
27466 
27467  return ordinary<UInt32>(offset);
27468  }
27469 
27470  /// Sequence number of the last Market Data entry processed
27471  /// for the instrument.
27472  ThisType& setRptSeq(UInt32 value)
27474  {
27476 
27477  setOrdinary(offset, value);
27478  return *this;
27479  }
27480 
27481  /// Timestamp of the last event security participated in, sent
27482  /// as number of nanoseconds since Unix epoch.
27486  {
27488 
27489  return ordinary<Timestamp>(offset);
27490  }
27491 
27492  /// Timestamp of the last event security participated in, sent
27493  /// as number of nanoseconds since Unix epoch.
27494  ThisType& setTransactTime(Timestamp value)
27496  {
27498 
27499  setOrdinary(offset, value.sinceEpoch());
27500  return *this;
27501  }
27502 
27503  /// UTC Date and time of last Security Definition add, update
27504  /// or delete on a given Market Data channel.
27508  {
27510 
27511  return ordinary<Timestamp>(offset);
27512  }
27513 
27514  /// UTC Date and time of last Security Definition add, update
27515  /// or delete on a given Market Data channel.
27516  ThisType& setLastUpdateTime(Timestamp value)
27518  {
27520 
27521  setOrdinary(offset, value.sinceEpoch());
27522  return *this;
27523  }
27524 
27525  /// Trade session date sent as number of days since Unix epoch.
27527  bool tradeDate(Timestamp& value) const
27529  {
27530  typedef LocalMktDate FieldValue;
27531 
27533 
27534  FieldValue fieldValue;
27535 
27536  if (ordinary(fieldValue, offset, NullLocalMktDate()))
27537  {
27538  value = localMktDateToTimestamp(fieldValue);
27539  return true;
27540  }
27541  return false;
27542  }
27543 
27544  /// Trade session date sent as number of days since Unix epoch.
27545  ThisType& setTradeDate(Timestamp value)
27547  {
27549 
27550  setOrdinary(offset, timestampToLocalMktDate(value));
27551  return *this;
27552  }
27553 
27554  ThisType& tradeDateNull()
27556  {
27558 
27559  setOrdinary(offset, NullLocalMktDate());
27560  return *this;
27561  }
27562 
27563  /// Identifies the current trading state of the instrument.
27565  bool
27567  SecurityTradingStatus::Enum& value) const
27569  {
27571 
27572  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
27573  }
27574 
27575  /// Identifies the current trading state of the instrument.
27576  ThisType&
27580  {
27582 
27583  setEnumeration<SecurityTradingStatus>(offset, value);
27584  return *this;
27585  }
27586 
27589  {
27591 
27592  setOrdinary(offset, NullUInt8());
27593  return *this;
27594  }
27595 
27596  /// Upper price threshold for the instrument.
27598  bool highLimitPrice(PRICE9& value) const
27600  {
27602 
27603  return decimal(value, offset, NullPRICE9());
27604  }
27605 
27606  /// Upper price threshold for the instrument.
27607  ThisType& setHighLimitPrice(PRICE9 value)
27609  {
27611 
27612  setOrdinary(offset, value);
27613  return *this;
27614  }
27615 
27618  {
27620 
27621  setOrdinary(offset, NullPRICE9());
27622  return *this;
27623  }
27624 
27625  /// Lower price threshold for the instrument.
27627  bool lowLimitPrice(PRICE9& value) const
27629  {
27631 
27632  return decimal(value, offset, NullPRICE9());
27633  }
27634 
27635  /// Lower price threshold for the instrument.
27636  ThisType& setLowLimitPrice(PRICE9 value)
27638  {
27640 
27641  setOrdinary(offset, value);
27642  return *this;
27643  }
27644 
27645  ThisType& lowLimitPriceNull()
27647  {
27649 
27650  setOrdinary(offset, NullPRICE9());
27651  return *this;
27652  }
27653 
27654  /// Differential value for price banding.
27656  bool maxPriceVariation(PRICE9& value) const
27658  {
27660 
27661  return decimal(value, offset, NullPRICE9());
27662  }
27663 
27664  /// Differential value for price banding.
27665  ThisType& setMaxPriceVariation(PRICE9 value)
27667  {
27669 
27670  setOrdinary(offset, value);
27671  return *this;
27672  }
27673 
27676  {
27678 
27679  setOrdinary(offset, NullPRICE9());
27680  return *this;
27681  }
27682 
27683  /// \return instance of Entries repeating group.
27687  {
27688  return getGroup<Entries>(EntriesAccess(), *this);
27689  }
27690 
27691  /// \return instance of Entries repeating group.
27695  {
27696  return getGroup<Entries>(EntriesAccess(), *this);
27697  }
27698 
27699  /// Setup repeating group with the given number of entries.
27700  /// Sets all optional fields of the group entries to null.
27701  /// \return NoMDEntries(268) repeating group.
27703  {
27704  return constructGroup<Entries>(
27705  EntriesAccess(),
27706  length,
27707  *this);
27708  }
27709 
27710  /// Setup repeating group with the given number of entries.
27711  /// \return NoMDEntries(268) repeating group.
27712  Entries
27714  Entries::Size length,
27715  NoFieldsInit)
27716  {
27717  return setupGroup<Entries>(
27718  EntriesAccess(),
27719  length,
27720  *this);
27721  }
27722 
27723  /// Minimal size of message body in bytes.
27726  static
27727  BlockLength
27729  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
27731  {
27732  return
27733  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
27734  59;
27735  }
27736 
27737  /// Size of message body in bytes.
27742  {
27743  return
27744  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
27745  minimalBlockLength(version);
27746  }
27747 
27748  /// Minimal variable fields size (when variable-length fields are empty).
27752  static
27753  MessageSize
27755  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
27756  {
27757  return
27758  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
27759  static_cast<MessageSize>(Entries::EmptySize);
27760  }
27761 
27762  /// Reset all variable-length fields if any.
27765  {
27766  entriesNull();
27767  return *this;
27768  }
27769 
27770  /// Reset all variable-length and optional fields if any.
27771  ThisType& reset()
27773  {
27774  tradeDateNull();
27775  securityTradingStatusNull();
27776  highLimitPriceNull();
27777  lowLimitPriceNull();
27778  maxPriceVariationNull();
27779 
27780  resetVariableFields();
27781  return *this;
27782  }
27783 
27784  /// \return class name.
27788  static const Char* className()
27789  {
27790  return "SnapshotFullRefresh52";
27791  }
27792 
27793  /// FIX message type.
27797  static StrRef fixType()
27799  {
27800  return constructStrRef("W");
27801  }
27802 
27803  /// \return the end of the message.
27805  const void* tail() const
27807  {
27808  return
27809  entries().tail();
27810  }
27811 
27812  /// \return the size occupied by the message.
27816  {
27817  return
27818  SbeMessage::calculateBinarySize(tail());
27819  }
27820 
27821 private:
27822  void checkLength(
27823  EncodedLength length, SchemaVersion version) const
27824  {
27825  const EncodedLength minimalRequiredLength =
27826  minimalBlockLength(version) +
27827  MessageHeader::Size +
27828  getMinimalVariableFieldsSize(version);
27829 
27830  checkBinaryLength(
27831  *this, length, minimalRequiredLength);
27832  }
27833 
27834  /// Checks variable fields consistency.
27835  void checkVarLenFields() const
27836  {
27837  groups().
27838  checkTail<Entries>();
27839  }
27840 
27841  void checkCompatibility() const
27842  {
27843  assert(TemplateId == templateId());
27844 
27845  checkSchema<Schema>(schemaId(), version());
27846  checkLength(bufferSize(), version());
27847  checkVarLenFields();
27848  }
27849 
27850  /// Access helper.
27851  struct EntriesAccess
27852  {
27853  Entries
27854  operator()(
27855  const SnapshotFullRefresh52& obj) const
27857  {
27858  return obj.
27859  groups().
27860  head<Entries>();
27861  }
27862  };
27863 
27864  /// Reset an instance of the repeating group.
27865  /// All the following data will be invalidated.
27866  void entriesNull()
27868  {
27869  resetGroup<Entries>(EntriesAccess(), *this);
27870  }
27871 };
27872 
27873 /// QuoteRequest.
27876 : SbeMessage
27877 {
27878  /// Used template schema.
27880 
27881  /// This type alias.
27883 
27884  /// Message template ID from SBE schema.
27885  enum { TemplateId = 39 };
27886 
27887  /// Indicates the number of repeating symbols specified.
27888  /// Entry of RelatedSymEntry repeating group.
27891  <
27893  >
27894  {
27895  /// Base class type.
27896  typedef
27898  <
27900  >
27902 
27903  /// This type alias.
27905 
27906  /// Initializes instance of given
27907  /// version over given memory block.
27909  void* data,
27910  EncodedLength length,
27911  SchemaVersion version)
27912  : Base(data, length, version)
27913  {
27914  assert(version >= Schema::MinimalVersion);
27915  assert(length >= minimalBlockLength(version));
27916  }
27917 
27918  /// Reset all variable-length fields if any.
27921  {
27922  return *this;
27923  }
27924 
27925  /// Reset all variable-length and optional fields if any.
27926  ThisType& reset()
27928  {
27929  orderQtyNull();
27930  sideNull();
27931 
27932  resetVariableFields();
27933  return *this;
27934  }
27935 
27936  /// Instrument Name or Symbol.
27938  StrRef symbol() const
27940  {
27943 
27944  return fixedStr<length>(offset);
27945  }
27946 
27947  /// Instrument Name or Symbol.
27948  ThisType& setSymbol(StrRef value)
27950  {
27953 
27954  setFixedStr<length>(offset, value);
27955  return *this;
27956  }
27957 
27958  /// Security ID.
27962  {
27964 
27965  return ordinary<Int32>(offset);
27966  }
27967 
27968  /// Security ID.
27969  ThisType& setSecurityId(Int32 value)
27971  {
27973 
27974  setOrdinary(offset, value);
27975  return *this;
27976  }
27977 
27978  /// Quantity requested.
27980  bool orderQty(Int32& value) const
27982  {
27984 
27985  return ordinary(value, offset, NullInt32());
27986  }
27987 
27988  /// Quantity requested.
27989  ThisType& setOrderQty(Int32 value)
27991  {
27993 
27994  setOrdinary(offset, value);
27995  return *this;
27996  }
27997 
27998  ThisType& orderQtyNull()
28000  {
28002 
28003  setOrdinary(offset, NullInt32());
28004  return *this;
28005  }
28006 
28007  /// Type of quote requested.
28009  Int8 quoteType() const
28011  {
28013 
28014  return ordinary<Int8>(offset);
28015  }
28016 
28017  /// Type of quote requested.
28018  ThisType& setQuoteType(Int8 value)
28020  {
28022 
28023  setOrdinary(offset, value);
28024  return *this;
28025  }
28026 
28027  /// Side requested.
28029  bool side(Int8& value) const
28031  {
28033 
28034  return ordinary(value, offset, NullInt8());
28035  }
28036 
28037  /// Side requested.
28038  ThisType& setSide(Int8 value)
28040  {
28042 
28043  setOrdinary(offset, value);
28044  return *this;
28045  }
28046 
28047  ThisType& sideNull()
28049  {
28051 
28052  setOrdinary(offset, NullInt8());
28053  return *this;
28054  }
28055 
28056  /// \return size of entry body in bytes
28057  /// for given version of message template.
28060  static
28061  BlockLength
28063  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28065  {
28066  return
28067  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28068  32;
28069  }
28070 
28071  /// \return minimal size of entry body in bytes
28072  /// for given version of message template.
28075  static
28076  BlockLength
28078  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28080  {
28081  return
28082  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28083  30;
28084  }
28085 
28086  /// Entity class name.
28090  static const Char* className()
28091  {
28092  return "QuoteRequest39.RelatedSymEntry";
28093  }
28094  };
28095 
28096  /// Repeating group containing RelatedSymEntry entries.
28097  typedef
28100 
28101  /// Initializes a blank instance.
28102  QuoteRequest39() ONIXS_CONFLATEDTCP_DEFAULT;
28103 
28104  /// Initializes an instance over the given memory block.
28106  void* data,
28107  EncodedLength length,
28108  SchemaVersion version = Schema::Version)
28109  : SbeMessage(data, length, version)
28110  {
28111  checkVersion<Schema>(version);
28112  checkLength(length, version);
28113  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
28114  reset();
28115  }
28116 
28117  /// Initializes an instance over the given memory block
28118  /// With no variable-length fields initialization
28119  /// It is assumed that the user does such an initialization manually.
28121  void* data,
28122  EncodedLength length,
28123  NoFieldsInit,
28124  SchemaVersion version = Schema::Version)
28125  : SbeMessage(data, length, version)
28126  {
28127  checkVersion<Schema>(version);
28128  checkLength(length, version);
28129  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
28130  resetVariableFields();
28131  }
28132 
28133  /// Creates an instance over the given memory block.
28135  void* data,
28136  EncodedLength length,
28137  NoInit)
28138  : SbeMessage(data, length)
28139  {
28140  checkCompatibility();
28141  }
28142 
28143  /// Creates an instance over the given SBE message.
28144  explicit
28146  const SbeMessage& message)
28147  : SbeMessage(message)
28148  {
28149  assert(message.valid());
28150 
28151  checkCompatibility();
28152  }
28153 
28154  /// Start of event processing time in number of nanoseconds
28155  /// since Unix epoch.
28159  {
28161 
28162  return ordinary<Timestamp>(offset);
28163  }
28164 
28165  /// Start of event processing time in number of nanoseconds
28166  /// since Unix epoch.
28167  ThisType& setTransactTime(Timestamp value)
28169  {
28171 
28172  setOrdinary(offset, value.sinceEpoch());
28173  return *this;
28174  }
28175 
28176  /// Quote Request ID defined by the exchange.
28180  {
28183 
28184  return fixedStr<length>(offset);
28185  }
28186 
28187  /// Quote Request ID defined by the exchange.
28188  ThisType& setQuoteReqId(StrRef value)
28190  {
28193 
28194  setFixedStr<length>(offset, value);
28195  return *this;
28196  }
28197 
28198  /// Bitmap field of eight Boolean type indicators reflecting
28199  /// the end of updates for a given Globex event.
28203  {
28205 
28206  return ordinary<MatchEventIndicator>(offset);
28207  }
28208 
28209  /// Bitmap field of eight Boolean type indicators reflecting
28210  /// the end of updates for a given Globex event.
28211  ThisType&
28213  MatchEventIndicator value)
28215  {
28217 
28218  setOrdinary(offset, value);
28219  return *this;
28220  }
28221 
28222  /// \return instance of RelatedSym repeating group.
28226  {
28227  return getGroup<RelatedSym>(
28228  RelatedSymAccess(),
28229  *this);
28230  }
28231 
28232  /// \return instance of RelatedSym repeating group.
28236  {
28237  return getGroup<RelatedSym>(
28238  RelatedSymAccess(),
28239  *this);
28240  }
28241 
28242  /// Setup repeating group with the given number of entries.
28243  /// Sets all optional fields of the group entries to null.
28244  /// \return NoRelatedSym(146) repeating group.
28246  {
28247  return constructGroup<RelatedSym>(
28248  RelatedSymAccess(),
28249  length,
28250  *this);
28251  }
28252 
28253  /// Setup repeating group with the given number of entries.
28254  /// \return NoRelatedSym(146) repeating group.
28255  RelatedSym
28257  RelatedSym::Size length,
28258  NoFieldsInit)
28259  {
28260  return setupGroup<RelatedSym>(
28261  RelatedSymAccess(),
28262  length,
28263  *this);
28264  }
28265 
28266  /// Minimal size of message body in bytes.
28269  static
28270  BlockLength
28272  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28274  {
28275  return
28276  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28277  32;
28278  }
28279 
28280  /// Size of message body in bytes.
28283  static
28284  BlockLength
28286  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28288  {
28289  return
28290  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28291  35;
28292  }
28293 
28294  /// Minimal variable fields size (when variable-length fields are empty).
28298  static
28299  MessageSize
28301  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28302  {
28303  return
28304  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28305  static_cast<MessageSize>(RelatedSym::EmptySize);
28306  }
28307 
28308  /// Reset all variable-length fields if any.
28311  {
28312  relatedSymNull();
28313  return *this;
28314  }
28315 
28316  /// Reset all variable-length and optional fields if any.
28317  ThisType& reset()
28319  {
28320  resetVariableFields();
28321  return *this;
28322  }
28323 
28324  /// \return class name.
28328  static const Char* className()
28329  {
28330  return "QuoteRequest39";
28331  }
28332 
28333  /// FIX message type.
28337  static StrRef fixType()
28339  {
28340  return constructStrRef("R");
28341  }
28342 
28343  /// \return the end of the message.
28345  const void* tail() const
28347  {
28348  return
28349  relatedSym().tail();
28350  }
28351 
28352  /// \return the size occupied by the message.
28356  {
28357  return
28358  SbeMessage::calculateBinarySize(tail());
28359  }
28360 
28361 private:
28362  void checkLength(
28363  EncodedLength length, SchemaVersion version) const
28364  {
28365  const EncodedLength minimalRequiredLength =
28366  minimalBlockLength(version) +
28367  MessageHeader::Size +
28368  getMinimalVariableFieldsSize(version);
28369 
28370  checkBinaryLength(
28371  *this, length, minimalRequiredLength);
28372  }
28373 
28374  /// Checks variable fields consistency.
28375  void checkVarLenFields() const
28376  {
28377  groups().
28378  checkTail<RelatedSym>();
28379  }
28380 
28381  void checkCompatibility() const
28382  {
28383  assert(TemplateId == templateId());
28384 
28385  checkSchema<Schema>(schemaId(), version());
28386  checkLength(bufferSize(), version());
28387  checkVarLenFields();
28388  }
28389 
28390  /// Access helper.
28391  struct RelatedSymAccess
28392  {
28393  RelatedSym
28394  operator()(
28395  const QuoteRequest39& obj) const
28397  {
28398  return obj.
28399  groups().
28400  head<RelatedSym>();
28401  }
28402  };
28403 
28404  /// Reset an instance of the repeating group.
28405  /// All the following data will be invalidated.
28406  void relatedSymNull()
28408  {
28409  resetGroup<RelatedSym>(
28410  RelatedSymAccess(),
28411  *this);
28412  }
28413 };
28414 
28415 /// MDInstrumentDefinitionOption.
28418 : SbeMessage
28419 {
28420  /// Used template schema.
28422 
28423  /// This type alias.
28425 
28426  /// Message template ID from SBE schema.
28427  enum { TemplateId = 55 };
28428 
28429  /// Number of EventType entries.
28430  /// Entry of EventsEntry repeating group.
28433  <
28435  >
28436  {
28437  /// Base class type.
28438  typedef
28440  <
28442  >
28444 
28445  /// This type alias.
28447 
28448  /// Initializes instance of given
28449  /// version over given memory block.
28451  void* data,
28452  EncodedLength length,
28453  SchemaVersion version)
28454  : Base(data, length, version)
28455  {
28456  assert(version >= Schema::MinimalVersion);
28457  assert(length >= minimalBlockLength(version));
28458  }
28459 
28460  /// Reset all variable-length fields if any.
28463  {
28464  return *this;
28465  }
28466 
28467  /// Reset all variable-length and optional fields if any.
28468  ThisType& reset()
28470  {
28471  resetVariableFields();
28472  return *this;
28473  }
28474 
28475  /// Code to represent the type of event.
28479  {
28481 
28482  return enumeration<EventType>(offset);
28483  }
28484 
28485  /// Code to represent the type of event.
28488  {
28490 
28491  setEnumeration<EventType>(offset, value);
28492  return *this;
28493  }
28494 
28495  /// Date and Time of instument Activation or Expiration event
28496  /// sent as number of nanoseconds since Unix epoch.
28500  {
28502 
28503  return ordinary<Timestamp>(offset);
28504  }
28505 
28506  /// Date and Time of instument Activation or Expiration event
28507  /// sent as number of nanoseconds since Unix epoch.
28508  ThisType& setEventTime(Timestamp value)
28510  {
28512 
28513  setOrdinary(offset, value.sinceEpoch());
28514  return *this;
28515  }
28516 
28517  /// \return size of entry body in bytes
28518  /// for given version of message template.
28523  {
28524  return
28525  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28526  minimalBlockLength(version);
28527  }
28528 
28529  /// \return minimal size of entry body in bytes
28530  /// for given version of message template.
28533  static
28534  BlockLength
28536  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28538  {
28539  return
28540  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28541  9;
28542  }
28543 
28544  /// Entity class name.
28548  static const Char* className()
28549  {
28550  return "InstrumentDefinitionOption55.EventsEntry";
28551  }
28552  };
28553 
28554  /// Repeating group containing EventsEntry entries.
28555  typedef
28558 
28559  /// Number of FeedType entries.
28560  /// Entry of FeedTypesEntry repeating group.
28563  <
28565  >
28566  {
28567  /// Base class type.
28568  typedef
28570  <
28572  >
28574 
28575  /// This type alias.
28577 
28578  /// Initializes instance of given
28579  /// version over given memory block.
28581  void* data,
28582  EncodedLength length,
28583  SchemaVersion version)
28584  : Base(data, length, version)
28585  {
28586  assert(version >= Schema::MinimalVersion);
28587  assert(length >= minimalBlockLength(version));
28588  }
28589 
28590  /// Reset all variable-length fields if any.
28593  {
28594  return *this;
28595  }
28596 
28597  /// Reset all variable-length and optional fields if any.
28598  ThisType& reset()
28600  {
28601  resetVariableFields();
28602  return *this;
28603  }
28604 
28605  /// Describes a class of service for a given data feed. GBX-
28606  /// Real Book, GBI-Implied Book.
28610  {
28613 
28614  return fixedStr<length>(offset);
28615  }
28616 
28617  /// Describes a class of service for a given data feed. GBX-
28618  /// Real Book, GBI-Implied Book.
28619  ThisType& setFeedType(StrRef value)
28621  {
28624 
28625  setFixedStr<length>(offset, value);
28626  return *this;
28627  }
28628 
28629  /// Book depth.
28633  {
28635 
28636  return ordinary<Int8>(offset);
28637  }
28638 
28639  /// Book depth.
28640  ThisType& setMarketDepth(Int8 value)
28642  {
28644 
28645  setOrdinary(offset, value);
28646  return *this;
28647  }
28648 
28649  /// \return size of entry body in bytes
28650  /// for given version of message template.
28655  {
28656  return
28657  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28658  minimalBlockLength(version);
28659  }
28660 
28661  /// \return minimal size of entry body in bytes
28662  /// for given version of message template.
28665  static
28666  BlockLength
28668  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28670  {
28671  return
28672  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28673  4;
28674  }
28675 
28676  /// Entity class name.
28680  static const Char* className()
28681  {
28682  return "InstrumentDefinitionOption55.FeedTypesEntry";
28683  }
28684  };
28685 
28686  /// Repeating group containing FeedTypesEntry entries.
28687  typedef
28690 
28691  /// Number of InstrAttribType entries.
28692  /// Entry of InstAttribEntry repeating group.
28695  <
28697  >
28698  {
28699  /// Base class type.
28700  typedef
28702  <
28704  >
28706 
28707  /// This type alias.
28709 
28710  /// Initializes instance of given
28711  /// version over given memory block.
28713  void* data,
28714  EncodedLength length,
28715  SchemaVersion version)
28716  : Base(data, length, version)
28717  {
28718  assert(version >= Schema::MinimalVersion);
28719  assert(length >= minimalBlockLength(version));
28720  }
28721 
28722  /// Reset all variable-length fields if any.
28725  {
28726  return *this;
28727  }
28728 
28729  /// Reset all variable-length and optional fields if any.
28730  ThisType& reset()
28732  {
28733  resetVariableFields();
28734  return *this;
28735  }
28736 
28737  /// Instrument Eligibility Attributes.
28742  {
28743  return InstAttribType();
28744  }
28745 
28746  /// Bitmap field of 32 Boolean type Instrument eligibility
28747  /// flags.
28751  {
28753 
28754  return ordinary<InstAttribValue>(offset);
28755  }
28756 
28757  /// Bitmap field of 32 Boolean type Instrument eligibility
28758  /// flags.
28761  {
28763 
28764  setOrdinary(offset, value);
28765  return *this;
28766  }
28767 
28768  /// \return size of entry body in bytes
28769  /// for given version of message template.
28774  {
28775  return
28776  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28777  minimalBlockLength(version);
28778  }
28779 
28780  /// \return minimal size of entry body in bytes
28781  /// for given version of message template.
28784  static
28785  BlockLength
28787  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28789  {
28790  return
28791  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28792  4;
28793  }
28794 
28795  /// Entity class name.
28799  static const Char* className()
28800  {
28801  return "InstrumentDefinitionOption55.InstAttribEntry";
28802  }
28803  };
28804 
28805  /// Repeating group containing InstAttribEntry entries.
28806  typedef
28809 
28810  /// Number of entries.
28811  /// Entry of LotTypeRulesEntry repeating group.
28814  <
28816  >
28817  {
28818  /// Base class type.
28819  typedef
28821  <
28823  >
28825 
28826  /// This type alias.
28828 
28829  /// Initializes instance of given
28830  /// version over given memory block.
28832  void* data,
28833  EncodedLength length,
28834  SchemaVersion version)
28835  : Base(data, length, version)
28836  {
28837  assert(version >= Schema::MinimalVersion);
28838  assert(length >= minimalBlockLength(version));
28839  }
28840 
28841  /// Reset all variable-length fields if any.
28844  {
28845  return *this;
28846  }
28847 
28848  /// Reset all variable-length and optional fields if any.
28849  ThisType& reset()
28851  {
28852  minLotSizeNull();
28853 
28854  resetVariableFields();
28855  return *this;
28856  }
28857 
28858  /// This tag is required to interpret the value in tag
28859  /// 1231-MinLotSize.
28861  Int8 lotType() const
28863  {
28865 
28866  return ordinary<Int8>(offset);
28867  }
28868 
28869  /// This tag is required to interpret the value in tag
28870  /// 1231-MinLotSize.
28871  ThisType& setLotType(Int8 value)
28873  {
28875 
28876  setOrdinary(offset, value);
28877  return *this;
28878  }
28879 
28880  /// Minimum quantity accepted for order entry. If tag
28881  /// 1093-LotType=4, this value is the minimum quantity for
28882  /// order entry expressed in the applicable units, specified
28883  /// in tag 996-UnitOfMeasure, e.g. megawatts.
28885  bool minLotSize(DecimalQty& value) const
28887  {
28889 
28890  return decimal(value, offset, NullDecimalQty());
28891  }
28892 
28893  /// Minimum quantity accepted for order entry. If tag
28894  /// 1093-LotType=4, this value is the minimum quantity for
28895  /// order entry expressed in the applicable units, specified
28896  /// in tag 996-UnitOfMeasure, e.g. megawatts.
28897  ThisType& setMinLotSize(DecimalQty value)
28899  {
28901 
28902  setOrdinary(offset, value);
28903  return *this;
28904  }
28905 
28906  ThisType& minLotSizeNull()
28908  {
28910 
28911  setOrdinary(offset, NullDecimalQty());
28912  return *this;
28913  }
28914 
28915  /// \return size of entry body in bytes
28916  /// for given version of message template.
28921  {
28922  return
28923  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28924  minimalBlockLength(version);
28925  }
28926 
28927  /// \return minimal size of entry body in bytes
28928  /// for given version of message template.
28931  static
28932  BlockLength
28934  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
28936  {
28937  return
28938  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
28939  5;
28940  }
28941 
28942  /// Entity class name.
28946  static const Char* className()
28947  {
28948  return "InstrumentDefinitionOption55.LotTypeRulesEntry";
28949  }
28950  };
28951 
28952  /// Repeating group containing LotTypeRulesEntry entries.
28953  typedef
28956 
28957  /// Number of underlying instruments.
28958  /// Entry of UnderlyingsEntry repeating group.
28961  <
28963  >
28964  {
28965  /// Base class type.
28966  typedef
28968  <
28970  >
28972 
28973  /// This type alias.
28975 
28976  /// Initializes instance of given
28977  /// version over given memory block.
28979  void* data,
28980  EncodedLength length,
28981  SchemaVersion version)
28982  : Base(data, length, version)
28983  {
28984  assert(version >= Schema::MinimalVersion);
28985  assert(length >= minimalBlockLength(version));
28986  }
28987 
28988  /// Reset all variable-length fields if any.
28991  {
28992  return *this;
28993  }
28994 
28995  /// Reset all variable-length and optional fields if any.
28996  ThisType& reset()
28998  {
28999  resetVariableFields();
29000  return *this;
29001  }
29002 
29003  /// Unique Instrument ID as qualified by the exchange per tag
29004  /// 305-UnderlyingSecurityIDSource.
29008  {
29010 
29011  return ordinary<Int32>(offset);
29012  }
29013 
29014  /// Unique Instrument ID as qualified by the exchange per tag
29015  /// 305-UnderlyingSecurityIDSource.
29018  {
29020 
29021  setOrdinary(offset, value);
29022  return *this;
29023  }
29024 
29025  /// This value is always '8' for CME.
29030  {
29031  return SecurityIDSource();
29032  }
29033 
29034  /// Underlying Instrument Symbol (Contract Name).
29038  {
29041 
29042  return fixedStr<length>(offset);
29043  }
29044 
29045  /// Underlying Instrument Symbol (Contract Name).
29046  ThisType& setUnderlyingSymbol(StrRef value)
29048  {
29051 
29052  setFixedStr<length>(offset, value);
29053  return *this;
29054  }
29055 
29056  /// \return size of entry body in bytes
29057  /// for given version of message template.
29062  {
29063  return
29064  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
29065  minimalBlockLength(version);
29066  }
29067 
29068  /// \return minimal size of entry body in bytes
29069  /// for given version of message template.
29072  static
29073  BlockLength
29075  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
29077  {
29078  return
29079  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
29080  24;
29081  }
29082 
29083  /// Entity class name.
29087  static const Char* className()
29088  {
29089  return "InstrumentDefinitionOption55.UnderlyingsEntry";
29090  }
29091  };
29092 
29093  /// Repeating group containing UnderlyingsEntry entries.
29094  typedef
29097 
29098  /// Number of related instruments group.
29099  /// Entry of RelatedInstrumentsEntry repeating group.
29102  <
29104  >
29105  {
29106  /// Base class type.
29107  typedef
29109  <
29111  >
29113 
29114  /// This type alias.
29116 
29117  /// Initializes instance of given
29118  /// version over given memory block.
29120  void* data,
29121  EncodedLength length,
29122  SchemaVersion version)
29123  : Base(data, length, version)
29124  {
29125  assert(version >= Schema::MinimalVersion);
29126  assert(length >= minimalBlockLength(version));
29127  }
29128 
29129  /// Reset all variable-length fields if any.
29132  {
29133  return *this;
29134  }
29135 
29136  /// Reset all variable-length and optional fields if any.
29137  ThisType& reset()
29139  {
29140  resetVariableFields();
29141  return *this;
29142  }
29143 
29144  /// Related Security ID.
29148  {
29150 
29151  return ordinary<Int32>(offset);
29152  }
29153 
29154  /// Related Security ID.
29155  ThisType& setRelatedSecurityId(Int32 value)
29157  {
29159 
29160  setOrdinary(offset, value);
29161  return *this;
29162  }
29163 
29164  /// Related Security ID source.
29169  {
29170  return SecurityIDSource();
29171  }
29172 
29173  /// Related instrument Symbol.
29177  {
29180 
29181  return fixedStr<length>(offset);
29182  }
29183 
29184  /// Related instrument Symbol.
29185  ThisType& setRelatedSymbol(StrRef value)
29187  {
29190 
29191  setFixedStr<length>(offset, value);
29192  return *this;
29193  }
29194 
29195  /// \return size of entry body in bytes
29196  /// for given version of message template.
29201  {
29202  return
29203  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
29204  minimalBlockLength(version);
29205  }
29206 
29207  /// \return minimal size of entry body in bytes
29208  /// for given version of message template.
29211  static
29212  BlockLength
29214  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
29216  {
29217  return
29218  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
29219  24;
29220  }
29221 
29222  /// Entity class name.
29226  static const Char* className()
29227  {
29228  return "InstrumentDefinitionOption55.RelatedInstrumentsEntry";
29229  }
29230  };
29231 
29232  /// Repeating group containing RelatedInstrumentsEntry entries.
29233  typedef
29236 
29237  /// Initializes a blank instance.
29238  InstrumentDefinitionOption55() ONIXS_CONFLATEDTCP_DEFAULT;
29239 
29240  /// Initializes an instance over the given memory block.
29242  void* data,
29243  EncodedLength length,
29244  SchemaVersion version = Schema::Version)
29245  : SbeMessage(data, length, version)
29246  {
29247  checkVersion<Schema>(version);
29248  checkLength(length, version);
29249  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
29250  reset();
29251  }
29252 
29253  /// Initializes an instance over the given memory block
29254  /// With no variable-length fields initialization
29255  /// It is assumed that the user does such an initialization manually.
29257  void* data,
29258  EncodedLength length,
29259  NoFieldsInit,
29260  SchemaVersion version = Schema::Version)
29261  : SbeMessage(data, length, version)
29262  {
29263  checkVersion<Schema>(version);
29264  checkLength(length, version);
29265  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
29266  resetVariableFields();
29267  }
29268 
29269  /// Creates an instance over the given memory block.
29271  void* data,
29272  EncodedLength length,
29273  NoInit)
29274  : SbeMessage(data, length)
29275  {
29276  checkCompatibility();
29277  }
29278 
29279  /// Creates an instance over the given SBE message.
29280  explicit
29282  const SbeMessage& message)
29283  : SbeMessage(message)
29284  {
29285  assert(message.valid());
29286 
29287  checkCompatibility();
29288  }
29289 
29290  /// Bitmap field of eight Boolean type indicators reflecting
29291  /// the end of updates for a given Globex event.
29295  {
29297 
29298  return ordinary<MatchEventIndicator>(offset);
29299  }
29300 
29301  /// Bitmap field of eight Boolean type indicators reflecting
29302  /// the end of updates for a given Globex event.
29303  ThisType&
29305  MatchEventIndicator value)
29307  {
29309 
29310  setOrdinary(offset, value);
29311  return *this;
29312  }
29313 
29314  /// Total number of instruments in the Replay loop. Used on
29315  /// Replay Feed only.
29317  bool totNumReports(UInt32& value) const
29319  {
29321 
29322  return ordinary(value, offset, NullUInt32());
29323  }
29324 
29325  /// Total number of instruments in the Replay loop. Used on
29326  /// Replay Feed only.
29327  ThisType& setTotNumReports(UInt32 value)
29329  {
29331 
29332  setOrdinary(offset, value);
29333  return *this;
29334  }
29335 
29336  ThisType& totNumReportsNull()
29338  {
29340 
29341  setOrdinary(offset, NullUInt32());
29342  return *this;
29343  }
29344 
29345  /// Last Security update action on Incremental feed, 'D' or
29346  /// 'M' is used when a mid-week deletion or modification (i.e.
29347  /// extension) occurs.
29352  {
29354 
29355  return enumeration<SecurityUpdateAction>(offset);
29356  }
29357 
29358  /// Last Security update action on Incremental feed, 'D' or
29359  /// 'M' is used when a mid-week deletion or modification (i.e.
29360  /// extension) occurs.
29361  ThisType&
29365  {
29367 
29368  setEnumeration<SecurityUpdateAction>(offset, value);
29369  return *this;
29370  }
29371 
29372  /// Timestamp of when the instrument was last added, modified
29373  /// or deleted.
29377  {
29379 
29380  return ordinary<Timestamp>(offset);
29381  }
29382 
29383  /// Timestamp of when the instrument was last added, modified
29384  /// or deleted.
29385  ThisType& setLastUpdateTime(Timestamp value)
29387  {
29389 
29390  setOrdinary(offset, value.sinceEpoch());
29391  return *this;
29392  }
29393 
29394  /// Identifies the current state of the instrument. The data
29395  /// is available in the Instrument Replay feed only.
29397  bool
29399  SecurityTradingStatus::Enum& value) const
29401  {
29403 
29404  return enumeration<SecurityTradingStatus>(value, offset, NullUInt8());
29405  }
29406 
29407  /// Identifies the current state of the instrument. The data
29408  /// is available in the Instrument Replay feed only.
29409  ThisType&
29413  {
29415 
29416  setEnumeration<SecurityTradingStatus>(offset, value);
29417  return *this;
29418  }
29419 
29422  {
29424 
29425  setOrdinary(offset, NullUInt8());
29426  return *this;
29427  }
29428 
29429  /// The channel ID as defined in the XML Configuration file.
29431  Int16 applId() const
29433  {
29435 
29436  return ordinary<Int16>(offset);
29437  }
29438 
29439  /// The channel ID as defined in the XML Configuration file.
29440  ThisType& setApplId(Int16 value)
29442  {
29444 
29445  setOrdinary(offset, value);
29446  return *this;
29447  }
29448 
29449  /// Identifies the market segment, populated for all CME
29450  /// Globex instruments.
29454  {
29456 
29457  return ordinary<UInt8>(offset);
29458  }
29459 
29460  /// Identifies the market segment, populated for all CME
29461  /// Globex instruments.
29462  ThisType& setMarketSegmentId(UInt8 value)
29464  {
29466 
29467  setOrdinary(offset, value);
29468  return *this;
29469  }
29470 
29471  /// Indicates the product complex.
29475  {
29477 
29478  return ordinary<UInt8>(offset);
29479  }
29480 
29481  /// Indicates the product complex.
29482  ThisType& setUnderlyingProduct(UInt8 value)
29484  {
29486 
29487  setOrdinary(offset, value);
29488  return *this;
29489  }
29490 
29491  /// Exchange used to identify a security.
29495  {
29498 
29499  return fixedStr<length>(offset);
29500  }
29501 
29502  /// Exchange used to identify a security.
29503  ThisType& setSecurityExchange(StrRef value)
29505  {
29508 
29509  setFixedStr<length>(offset, value);
29510  return *this;
29511  }
29512 
29513  /// Security Group Code.
29517  {
29520 
29521  return fixedStr<length>(offset);
29522  }
29523 
29524  /// Security Group Code.
29525  ThisType& setSecurityGroup(StrRef value)
29527  {
29530 
29531  setFixedStr<length>(offset, value);
29532  return *this;
29533  }
29534 
29535  /// The underlying asset code also known as Product Code.
29537  StrRef asset() const
29539  {
29542 
29543  return fixedStr<length>(offset);
29544  }
29545 
29546  /// The underlying asset code also known as Product Code.
29547  ThisType& setAsset(StrRef value)
29549  {
29552 
29553  setFixedStr<length>(offset, value);
29554  return *this;
29555  }
29556 
29557  /// Instrument Name or Symbol. Previously used as Instrument
29558  /// Group Code.
29560  StrRef symbol() const
29562  {
29565 
29566  return fixedStr<length>(offset);
29567  }
29568 
29569  /// Instrument Name or Symbol. Previously used as Instrument
29570  /// Group Code.
29571  ThisType& setSymbol(StrRef value)
29573  {
29576 
29577  setFixedStr<length>(offset, value);
29578  return *this;
29579  }
29580 
29581  /// Unique Instrument ID.
29585  {
29587 
29588  return ordinary<Int32>(offset);
29589  }
29590 
29591  /// Unique Instrument ID.
29592  ThisType& setSecurityId(Int32 value)
29594  {
29596 
29597  setOrdinary(offset, value);
29598  return *this;
29599  }
29600 
29601  /// Identifies class or source of tag 48-SecurityID value.
29606  {
29607  return SecurityIDSource();
29608  }
29609 
29610  /// Security Type.
29614  {
29617 
29618  return fixedStr<length>(offset);
29619  }
29620 
29621  /// Security Type.
29622  ThisType& setSecurityType(StrRef value)
29624  {
29627 
29628  setFixedStr<length>(offset, value);
29629  return *this;
29630  }
29631 
29632  /// ISO standard instrument categorization code.
29634  StrRef cfiCode() const
29636  {
29639 
29640  return fixedStr<length>(offset);
29641  }
29642 
29643  /// ISO standard instrument categorization code.
29644  ThisType& setCfiCode(StrRef value)
29646  {
29649 
29650  setFixedStr<length>(offset, value);
29651  return *this;
29652  }
29653 
29654  /// Indicates whether an option instrument is a put or call.
29658  {
29660 
29661  return enumeration<PutOrCall>(offset);
29662  }
29663 
29664  /// Indicates whether an option instrument is a put or call.
29667  {
29669 
29670  setEnumeration<PutOrCall>(offset, value);
29671  return *this;
29672  }
29673 
29674  /// This field provides the actual calendar date for contract
29675  /// maturity.
29679  {
29681 
29682  return ordinary(value, offset, NullMaturityMonthYear());
29683  }
29684 
29685  /// This field provides the actual calendar date for contract
29686  /// maturity.
29689  {
29691 
29692  setOrdinary(offset, value);
29693  return *this;
29694  }
29695 
29698  {
29700 
29701  setOrdinary(offset, NullMaturityMonthYear());
29702  return *this;
29703  }
29704 
29705  /// Identifies currency used for price.
29709  {
29712 
29713  return fixedStr<length>(offset);
29714  }
29715 
29716  /// Identifies currency used for price.
29717  ThisType& setCurrency(StrRef value)
29719  {
29722 
29723  setFixedStr<length>(offset, value);
29724  return *this;
29725  }
29726 
29727  /// Strike Price for an option instrument.
29729  bool strikePrice(PRICE9& value) const
29731  {
29733 
29734  return decimal(value, offset, NullPRICE9());
29735  }
29736 
29737  /// Strike Price for an option instrument.
29738  ThisType& setStrikePrice(PRICE9 value)
29740  {
29742 
29743  setOrdinary(offset, value);
29744  return *this;
29745  }
29746 
29747  ThisType& strikePriceNull()
29749  {
29751 
29752  setOrdinary(offset, NullPRICE9());
29753  return *this;
29754  }
29755 
29756  /// Currency in which the StrikePrice is denominated.
29760  {
29763 
29764  return fixedStr<length>(offset);
29765  }
29766 
29767  /// Currency in which the StrikePrice is denominated.
29768  ThisType& setStrikeCurrency(StrRef value)
29770  {
29773 
29774  setFixedStr<length>(offset, value);
29775  return *this;
29776  }
29777 
29778  /// Identifies currency used for settlement, if different from
29779  /// trade price currency.
29783  {
29786 
29787  return fixedStr<length>(offset);
29788  }
29789 
29790  /// Identifies currency used for settlement, if different from
29791  /// trade price currency.
29792  ThisType& setSettlCurrency(StrRef value)
29794  {
29797 
29798  setFixedStr<length>(offset, value);
29799  return *this;
29800  }
29801 
29802  /// Defines cabinet price for outright options products.
29804  bool minCabPrice(PRICE9& value) const
29806  {
29808 
29809  return decimal(value, offset, NullPRICE9());
29810  }
29811 
29812  /// Defines cabinet price for outright options products.
29813  ThisType& setMinCabPrice(PRICE9 value)
29815  {
29817 
29818  setOrdinary(offset, value);
29819  return *this;
29820  }
29821 
29822  ThisType& minCabPriceNull()
29824  {
29826 
29827  setOrdinary(offset, NullPRICE9());
29828  return *this;
29829  }
29830 
29831  /// Matching algorithm.
29835  {
29837 
29838  return ordinary<CHAR>(offset);
29839  }
29840 
29841  /// Matching algorithm.
29842  ThisType& setMatchAlgorithm(CHAR value)
29844  {
29846 
29847  setOrdinary(offset, value);
29848  return *this;
29849  }
29850 
29851  /// The minimum trading volume for a security.
29855  {
29857 
29858  return ordinary<UInt32>(offset);
29859  }
29860 
29861  /// The minimum trading volume for a security.
29862  ThisType& setMinTradeVol(UInt32 value)
29864  {
29866 
29867  setOrdinary(offset, value);
29868  return *this;
29869  }
29870 
29871  /// The maximum trading volume for a security.
29875  {
29877 
29878  return ordinary<UInt32>(offset);
29879  }
29880 
29881  /// The maximum trading volume for a security.
29882  ThisType& setMaxTradeVol(UInt32 value)
29884  {
29886 
29887  setOrdinary(offset, value);
29888  return *this;
29889  }
29890 
29891  /// Minimum constant tick for the instrument.
29893  bool minPriceIncrement(PRICE9& value) const
29895  {
29897 
29898  return decimal(value, offset, NullPRICE9());
29899  }
29900 
29901  /// Minimum constant tick for the instrument.
29902  ThisType& setMinPriceIncrement(PRICE9 value)
29904  {
29906 
29907  setOrdinary(offset, value);
29908  return *this;
29909  }
29910 
29913  {
29915 
29916  setOrdinary(offset, NullPRICE9());
29917  return *this;
29918  }
29919 
29920  /// Monetary value equivalent to the minimum price fluctuation.
29922  bool minPriceIncrementAmount(PRICE9& value) const
29924  {
29926 
29927  return decimal(value, offset, NullPRICE9());
29928  }
29929 
29930  /// Monetary value equivalent to the minimum price fluctuation.
29933  {
29935 
29936  setOrdinary(offset, value);
29937  return *this;
29938  }
29939 
29942  {
29944 
29945  setOrdinary(offset, NullPRICE9());
29946  return *this;
29947  }
29948 
29949  /// Contains the multiplier to convert the CME Globex display
29950  /// price to the conventional price.
29954  {
29956 
29957  return decimal<Decimal9>(offset);
29958  }
29959 
29960  /// Contains the multiplier to convert the CME Globex display
29961  /// price to the conventional price.
29962  ThisType& setDisplayFactor(Decimal9 value)
29964  {
29966 
29967  setOrdinary(offset, value);
29968  return *this;
29969  }
29970 
29971  /// VTT code referencing variable tick table.
29973  bool tickRule(Int8& value) const
29975  {
29977 
29978  return ordinary(value, offset, NullInt8());
29979  }
29980 
29981  /// VTT code referencing variable tick table.
29982  ThisType& setTickRule(Int8 value)
29984  {
29986 
29987  setOrdinary(offset, value);
29988  return *this;
29989  }
29990 
29991  ThisType& tickRuleNull()
29993  {
29995 
29996  setOrdinary(offset, NullInt8());
29997  return *this;
29998  }
29999 
30000  /// Price Denominator of Main Fraction.
30002  bool mainFraction(UInt8& value) const
30004  {
30006 
30007  return ordinary(value, offset, NullUInt8());
30008  }
30009 
30010  /// Price Denominator of Main Fraction.
30011  ThisType& setMainFraction(UInt8 value)
30013  {
30015 
30016  setOrdinary(offset, value);
30017  return *this;
30018  }
30019 
30020  ThisType& mainFractionNull()
30022  {
30024 
30025  setOrdinary(offset, NullUInt8());
30026  return *this;
30027  }
30028 
30029  /// Price Denominator of Sub Fraction.
30031  bool subFraction(UInt8& value) const
30033  {
30035 
30036  return ordinary(value, offset, NullUInt8());
30037  }
30038 
30039  /// Price Denominator of Sub Fraction.
30040  ThisType& setSubFraction(UInt8 value)
30042  {
30044 
30045  setOrdinary(offset, value);
30046  return *this;
30047  }
30048 
30049  ThisType& subFractionNull()
30051  {
30053 
30054  setOrdinary(offset, NullUInt8());
30055  return *this;
30056  }
30057 
30058  /// Number of decimals in fractional display price.
30060  bool priceDisplayFormat(UInt8& value) const
30062  {
30064 
30065  return ordinary(value, offset, NullUInt8());
30066  }
30067 
30068  /// Number of decimals in fractional display price.
30069  ThisType& setPriceDisplayFormat(UInt8 value)
30071  {
30073 
30074  setOrdinary(offset, value);
30075  return *this;
30076  }
30077 
30080  {
30082 
30083  setOrdinary(offset, NullUInt8());
30084  return *this;
30085  }
30086 
30087  /// Unit of measure for the products' original contract size.
30088  /// This will be populated for all products listed on CME
30089  /// Globex.
30093  {
30096 
30097  return fixedStr<length>(offset);
30098  }
30099 
30100  /// Unit of measure for the products' original contract size.
30101  /// This will be populated for all products listed on CME
30102  /// Globex.
30103  ThisType& setUnitOfMeasure(StrRef value)
30105  {
30108 
30109  setFixedStr<length>(offset, value);
30110  return *this;
30111  }
30112 
30113  /// This field contains the contract size for each instrument.
30114  /// Used in combination with tag 996-UnitofMeasure.
30116  bool unitOfMeasureQty(Decimal9& value) const
30118  {
30120 
30121  return decimal(value, offset, NullDecimal9());
30122  }
30123 
30124  /// This field contains the contract size for each instrument.
30125  /// Used in combination with tag 996-UnitofMeasure.
30128  {
30130 
30131  setOrdinary(offset, value);
30132  return *this;
30133  }
30134 
30137  {
30139 
30140  setOrdinary(offset, NullDecimal9());
30141  return *this;
30142  }
30143 
30144  /// Reference price - the most recently available Settlement
30145  /// whether it be Theoretical, Preliminary or a Final Settle
30146  /// of the session.
30148  bool tradingReferencePrice(PRICE9& value) const
30150  {
30152 
30153  return decimal(value, offset, NullPRICE9());
30154  }
30155 
30156  /// Reference price - the most recently available Settlement
30157  /// whether it be Theoretical, Preliminary or a Final Settle
30158  /// of the session.
30161  {
30163 
30164  setOrdinary(offset, value);
30165  return *this;
30166  }
30167 
30170  {
30172 
30173  setOrdinary(offset, NullPRICE9());
30174  return *this;
30175  }
30176 
30177  /// Bitmap field of eight Boolean type indicators representing
30178  /// settlement price type.
30182  {
30184 
30185  return ordinary<SettlPriceType>(offset);
30186  }
30187 
30188  /// Bitmap field of eight Boolean type indicators representing
30189  /// settlement price type.
30192  {
30194 
30195  setOrdinary(offset, value);
30196  return *this;
30197  }
30198 
30199  /// The total cleared volume of instrument traded during the
30200  /// prior trading session.
30202  bool clearedVolume(Int32& value) const
30204  {
30206 
30207  return ordinary(value, offset, NullInt32());
30208  }
30209 
30210  /// The total cleared volume of instrument traded during the
30211  /// prior trading session.
30212  ThisType& setClearedVolume(Int32 value)
30214  {
30216 
30217  setOrdinary(offset, value);
30218  return *this;
30219  }
30220 
30221  ThisType& clearedVolumeNull()
30223  {
30225 
30226  setOrdinary(offset, NullInt32());
30227  return *this;
30228  }
30229 
30230  /// The total open interest for the market at the close of the
30231  /// prior trading session.
30233  bool openInterestQty(Int32& value) const
30235  {
30237 
30238  return ordinary(value, offset, NullInt32());
30239  }
30240 
30241  /// The total open interest for the market at the close of the
30242  /// prior trading session.
30243  ThisType& setOpenInterestQty(Int32 value)
30245  {
30247 
30248  setOrdinary(offset, value);
30249  return *this;
30250  }
30251 
30254  {
30256 
30257  setOrdinary(offset, NullInt32());
30258  return *this;
30259  }
30260 
30261  /// Allowable low limit price for the trading day.
30263  bool lowLimitPrice(PRICE9& value) const
30265  {
30267 
30268  return decimal(value, offset, NullPRICE9());
30269  }
30270 
30271  /// Allowable low limit price for the trading day.
30272  ThisType& setLowLimitPrice(PRICE9 value)
30274  {
30276 
30277  setOrdinary(offset, value);
30278  return *this;
30279  }
30280 
30281  ThisType& lowLimitPriceNull()
30283  {
30285 
30286  setOrdinary(offset, NullPRICE9());
30287  return *this;
30288  }
30289 
30290  /// Allowable high limit price for the trading day.
30292  bool highLimitPrice(PRICE9& value) const
30294  {
30296 
30297  return decimal(value, offset, NullPRICE9());
30298  }
30299 
30300  /// Allowable high limit price for the trading day.
30301  ThisType& setHighLimitPrice(PRICE9 value)
30303  {
30305 
30306  setOrdinary(offset, value);
30307  return *this;
30308  }
30309 
30312  {
30314 
30315  setOrdinary(offset, NullPRICE9());
30316  return *this;
30317  }
30318 
30319  /// User-defined instruments flag.
30323  {
30325 
30326  return ordinary<UserDefinedInstrument>(offset);
30327  }
30328 
30329  /// User-defined instruments flag.
30330  ThisType&
30332  UserDefinedInstrument value)
30334  {
30336 
30337  setOrdinary(offset, value);
30338  return *this;
30339  }
30340 
30341  /// Indicates session date corresponding to the settlement
30342  /// price in tag 1150-TradingReferencePrice.
30344  bool tradingReferenceDate(Timestamp& value) const
30346  {
30347  typedef LocalMktDate FieldValue;
30348 
30350 
30351  FieldValue fieldValue;
30352 
30353  if (ordinary(fieldValue, offset, NullLocalMktDate()))
30354  {
30355  value = localMktDateToTimestamp(fieldValue);
30356  return true;
30357  }
30358  return false;
30359  }
30360 
30361  /// Indicates session date corresponding to the settlement
30362  /// price in tag 1150-TradingReferencePrice.
30365  {
30367 
30368  setOrdinary(offset, timestampToLocalMktDate(value));
30369  return *this;
30370  }
30371 
30374  {
30376 
30377  setOrdinary(offset, NullLocalMktDate());
30378  return *this;
30379  }
30380 
30381  /// External unique instrument ID.
30383  bool instrumentGUId(UInt64& value) const
30385  {
30387 
30388  return ordinary(value, offset, NullUInt64());
30389  }
30390 
30391  /// External unique instrument ID.
30392  ThisType& setInstrumentGUId(UInt64 value)
30394  {
30396 
30397  setOrdinary(offset, value);
30398  return *this;
30399  }
30400 
30403  {
30405 
30406  setOrdinary(offset, NullUInt64());
30407  return *this;
30408  }
30409 
30410  /// \return instance of Events repeating group.
30412  Events events() const
30414  {
30415  return getGroup<Events>(EventsAccess(), *this);
30416  }
30417 
30418  /// \return instance of Events repeating group.
30422  {
30423  return getGroup<Events>(EventsAccess(), *this);
30424  }
30425 
30426  /// Setup repeating group with the given number of entries.
30427  /// Sets all optional fields of the group entries to null.
30428  /// \return NoEvents(864) repeating group.
30430  {
30431  return constructGroup<Events>(
30432  EventsAccess(),
30433  length,
30434  *this);
30435  }
30436 
30437  /// Setup repeating group with the given number of entries.
30438  /// \return NoEvents(864) repeating group.
30439  Events
30441  Events::Size length,
30442  NoFieldsInit)
30443  {
30444  return setupGroup<Events>(
30445  EventsAccess(),
30446  length,
30447  *this);
30448  }
30449 
30450  /// \return instance of FeedTypes repeating group.
30454  {
30455  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
30456  }
30457 
30458  /// \return instance of FeedTypes repeating group.
30462  {
30463  return getGroup<FeedTypes>(FeedTypesAccess(), *this);
30464  }
30465 
30466  /// Setup repeating group with the given number of entries.
30467  /// Sets all optional fields of the group entries to null.
30468  /// \return NoMDFeedTypes(1141) repeating group.
30470  {
30471  return constructGroup<FeedTypes>(
30472  FeedTypesAccess(),
30473  length,
30474  *this);
30475  }
30476 
30477  /// Setup repeating group with the given number of entries.
30478  /// \return NoMDFeedTypes(1141) repeating group.
30479  FeedTypes
30481  FeedTypes::Size length,
30482  NoFieldsInit)
30483  {
30484  return setupGroup<FeedTypes>(
30485  FeedTypesAccess(),
30486  length,
30487  *this);
30488  }
30489 
30490  /// \return instance of InstAttrib repeating group.
30494  {
30495  return getGroup<InstAttrib>(
30496  InstAttribAccess(),
30497  *this);
30498  }
30499 
30500  /// \return instance of InstAttrib repeating group.
30504  {
30505  return getGroup<InstAttrib>(
30506  InstAttribAccess(),
30507  *this);
30508  }
30509 
30510  /// Setup repeating group with the given number of entries.
30511  /// Sets all optional fields of the group entries to null.
30512  /// \return NoInstAttrib(870) repeating group.
30514  {
30515  return constructGroup<InstAttrib>(
30516  InstAttribAccess(),
30517  length,
30518  *this);
30519  }
30520 
30521  /// Setup repeating group with the given number of entries.
30522  /// \return NoInstAttrib(870) repeating group.
30523  InstAttrib
30525  InstAttrib::Size length,
30526  NoFieldsInit)
30527  {
30528  return setupGroup<InstAttrib>(
30529  InstAttribAccess(),
30530  length,
30531  *this);
30532  }
30533 
30534  /// \return instance of LotTypeRules repeating group.
30538  {
30539  return getGroup<LotTypeRules>(
30540  LotTypeRulesAccess(),
30541  *this);
30542  }
30543 
30544  /// \return instance of LotTypeRules repeating group.
30548  {
30549  return getGroup<LotTypeRules>(
30550  LotTypeRulesAccess(),
30551  *this);
30552  }
30553 
30554  /// Setup repeating group with the given number of entries.
30555  /// Sets all optional fields of the group entries to null.
30556  /// \return NoLotTypeRules(1234) repeating group.
30557  LotTypeRules
30559  LotTypeRules::Size length)
30560  {
30561  return constructGroup<LotTypeRules>(
30562  LotTypeRulesAccess(),
30563  length,
30564  *this);
30565  }
30566 
30567  /// Setup repeating group with the given number of entries.
30568  /// \return NoLotTypeRules(1234) repeating group.
30569  LotTypeRules
30571  LotTypeRules::Size length,
30572  NoFieldsInit)
30573  {
30574  return setupGroup<LotTypeRules>(
30575  LotTypeRulesAccess(),
30576  length,
30577  *this);
30578  }
30579 
30580  /// \return instance of Underlyings repeating group.
30584  {
30585  return getGroup<Underlyings>(
30586  UnderlyingsAccess(),
30587  *this);
30588  }
30589 
30590  /// \return instance of Underlyings repeating group.
30594  {
30595  return getGroup<Underlyings>(
30596  UnderlyingsAccess(),
30597  *this);
30598  }
30599 
30600  /// Setup repeating group with the given number of entries.
30601  /// Sets all optional fields of the group entries to null.
30602  /// \return NoUnderlyings(711) repeating group.
30604  {
30605  return constructGroup<Underlyings>(
30606  UnderlyingsAccess(),
30607  length,
30608  *this);
30609  }
30610 
30611  /// Setup repeating group with the given number of entries.
30612  /// \return NoUnderlyings(711) repeating group.
30613  Underlyings
30615  Underlyings::Size length,
30616  NoFieldsInit)
30617  {
30618  return setupGroup<Underlyings>(
30619  UnderlyingsAccess(),
30620  length,
30621  *this);
30622  }
30623 
30624  /// \return instance of RelatedInstruments repeating group.
30628  {
30629  return getGroup<RelatedInstruments>(
30630  RelatedInstrumentsAccess(),
30631  *this);
30632  }
30633 
30634  /// \return instance of RelatedInstruments repeating group.
30638  {
30639  return getGroup<RelatedInstruments>(
30640  RelatedInstrumentsAccess(),
30641  *this);
30642  }
30643 
30644  /// Setup repeating group with the given number of entries.
30645  /// Sets all optional fields of the group entries to null.
30646  /// \return NoRelatedInstruments(1647) repeating group.
30649  RelatedInstruments::Size length)
30650  {
30651  return constructGroup<RelatedInstruments>(
30652  RelatedInstrumentsAccess(),
30653  length,
30654  *this);
30655  }
30656 
30657  /// Setup repeating group with the given number of entries.
30658  /// \return NoRelatedInstruments(1647) repeating group.
30661  RelatedInstruments::Size length,
30662  NoFieldsInit)
30663  {
30664  return setupGroup<RelatedInstruments>(
30665  RelatedInstrumentsAccess(),
30666  length,
30667  *this);
30668  }
30669 
30670  /// Minimal size of message body in bytes.
30673  static
30674  BlockLength
30676  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
30678  {
30679  return
30680  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
30681  221;
30682  }
30683 
30684  /// Size of message body in bytes.
30689  {
30690  return
30691  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
30692  minimalBlockLength(version);
30693  }
30694 
30695  /// Minimal variable fields size (when variable-length fields are empty).
30699  static
30700  MessageSize
30702  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
30703  {
30704  return
30705  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
30706  static_cast<MessageSize>(Events::EmptySize) + static_cast<MessageSize>(FeedTypes::EmptySize) + static_cast<MessageSize>(InstAttrib::EmptySize) + static_cast<MessageSize>(LotTypeRules::EmptySize) + static_cast<MessageSize>(Underlyings::EmptySize) + static_cast<MessageSize>(RelatedInstruments::EmptySize);
30707  }
30708 
30709  /// Reset all variable-length fields if any.
30712  {
30713  eventsNull();
30714  feedTypesNull();
30715  instAttribNull();
30716  lotTypeRulesNull();
30717  underlyingsNull();
30718  relatedInstrumentsNull();
30719  return *this;
30720  }
30721 
30722  /// Reset all variable-length and optional fields if any.
30723  ThisType& reset()
30725  {
30726  totNumReportsNull();
30727  securityTradingStatusNull();
30728  maturityMonthYearNull();
30729  strikePriceNull();
30730  minCabPriceNull();
30731  minPriceIncrementNull();
30732  minPriceIncrementAmountNull();
30733  tickRuleNull();
30734  mainFractionNull();
30735  subFractionNull();
30736  priceDisplayFormatNull();
30737  unitOfMeasureQtyNull();
30738  tradingReferencePriceNull();
30739  clearedVolumeNull();
30740  openInterestQtyNull();
30741  lowLimitPriceNull();
30742  highLimitPriceNull();
30743  tradingReferenceDateNull();
30744  instrumentGUIdNull();
30745 
30746  resetVariableFields();
30747  return *this;
30748  }
30749 
30750  /// \return class name.
30754  static const Char* className()
30755  {
30756  return "InstrumentDefinitionOption55";
30757  }
30758 
30759  /// FIX message type.
30763  static StrRef fixType()
30765  {
30766  return constructStrRef("d");
30767  }
30768 
30769  /// \return the end of the message.
30771  const void* tail() const
30773  {
30774  return
30775  relatedInstruments().tail();
30776  }
30777 
30778  /// \return the size occupied by the message.
30782  {
30783  return
30784  SbeMessage::calculateBinarySize(tail());
30785  }
30786 
30787 private:
30788  void checkLength(
30789  EncodedLength length, SchemaVersion version) const
30790  {
30791  const EncodedLength minimalRequiredLength =
30792  minimalBlockLength(version) +
30793  MessageHeader::Size +
30794  getMinimalVariableFieldsSize(version);
30795 
30796  checkBinaryLength(
30797  *this, length, minimalRequiredLength);
30798  }
30799 
30800  /// Checks variable fields consistency.
30801  void checkVarLenFields() const
30802  {
30803  groups().
30804  checkTail<Events>().
30805  checkTail<FeedTypes>().
30806  checkTail<InstAttrib>().
30807  checkTail<LotTypeRules>().
30808  checkTail<Underlyings>().
30809  checkTail<RelatedInstruments>();
30810  }
30811 
30812  void checkCompatibility() const
30813  {
30814  assert(TemplateId == templateId());
30815 
30816  checkSchema<Schema>(schemaId(), version());
30817  checkLength(bufferSize(), version());
30818  checkVarLenFields();
30819  }
30820 
30821  /// Access helper.
30822  struct EventsAccess
30823  {
30824  Events
30825  operator()(
30826  const InstrumentDefinitionOption55& obj) const
30828  {
30829  return obj.
30830  groups().
30831  head<Events>();
30832  }
30833  };
30834 
30835  /// Reset an instance of the repeating group.
30836  /// All the following data will be invalidated.
30837  void eventsNull()
30839  {
30840  resetGroup<Events>(EventsAccess(), *this);
30841  }
30842 
30843  /// Access helper.
30844  struct FeedTypesAccess
30845  {
30846  FeedTypes
30847  operator()(
30848  const InstrumentDefinitionOption55& obj) const
30850  {
30851  return obj.
30852  groups().
30853  tail<Events>().
30854  head<FeedTypes>();
30855  }
30856  };
30857 
30858  /// Reset an instance of the repeating group.
30859  /// All the following data will be invalidated.
30860  void feedTypesNull()
30862  {
30863  resetGroup<FeedTypes>(FeedTypesAccess(), *this);
30864  }
30865 
30866  /// Access helper.
30867  struct InstAttribAccess
30868  {
30869  InstAttrib
30870  operator()(
30871  const InstrumentDefinitionOption55& obj) const
30873  {
30874  return obj.
30875  groups().
30876  tail<Events>().
30877  tail<FeedTypes>().
30878  head<InstAttrib>();
30879  }
30880  };
30881 
30882  /// Reset an instance of the repeating group.
30883  /// All the following data will be invalidated.
30884  void instAttribNull()
30886  {
30887  resetGroup<InstAttrib>(
30888  InstAttribAccess(),
30889  *this);
30890  }
30891 
30892  /// Access helper.
30893  struct LotTypeRulesAccess
30894  {
30895  LotTypeRules
30896  operator()(
30897  const InstrumentDefinitionOption55& obj) const
30899  {
30900  return obj.
30901  groups().
30902  tail<Events>().
30903  tail<FeedTypes>().
30904  tail<InstAttrib>().
30905  head<LotTypeRules>();
30906  }
30907  };
30908 
30909  /// Reset an instance of the repeating group.
30910  /// All the following data will be invalidated.
30911  void lotTypeRulesNull()
30913  {
30914  resetGroup<LotTypeRules>(
30915  LotTypeRulesAccess(),
30916  *this);
30917  }
30918 
30919  /// Access helper.
30920  struct UnderlyingsAccess
30921  {
30922  Underlyings
30923  operator()(
30924  const InstrumentDefinitionOption55& obj) const
30926  {
30927  return obj.
30928  groups().
30929  tail<Events>().
30930  tail<FeedTypes>().
30931  tail<InstAttrib>().
30932  tail<LotTypeRules>().
30933  head<Underlyings>();
30934  }
30935  };
30936 
30937  /// Reset an instance of the repeating group.
30938  /// All the following data will be invalidated.
30939  void underlyingsNull()
30941  {
30942  resetGroup<Underlyings>(
30943  UnderlyingsAccess(),
30944  *this);
30945  }
30946 
30947  /// Access helper.
30948  struct RelatedInstrumentsAccess
30949  {
30951  operator()(
30952  const InstrumentDefinitionOption55& obj) const
30954  {
30955  return obj.
30956  groups().
30957  tail<Events>().
30958  tail<FeedTypes>().
30959  tail<InstAttrib>().
30960  tail<LotTypeRules>().
30961  tail<Underlyings>().
30962  head<RelatedInstruments>();
30963  }
30964  };
30965 
30966  /// Reset an instance of the repeating group.
30967  /// All the following data will be invalidated.
30968  void relatedInstrumentsNull()
30970  {
30971  resetGroup<RelatedInstruments>(
30972  RelatedInstrumentsAccess(),
30973  *this);
30974  }
30975 };
30976 
30977 /// MDIncrementalRefreshTradeSummary.
30980 : SbeMessage
30981 {
30982  /// Used template schema.
30984 
30985  /// This type alias.
30987 
30988  /// Message template ID from SBE schema.
30989  enum { TemplateId = 48 };
30990 
30991  /// Number of Trade Summary entries.
30992  /// Entry of Entry repeating group.
30995  <
30997  >
30998  {
30999  /// Base class type.
31000  typedef
31002  <
31004  >
31006 
31007  /// This type alias.
31008  typedef Entry ThisType;
31009 
31010  /// Initializes instance of given
31011  /// version over given memory block.
31013  void* data,
31014  EncodedLength length,
31015  SchemaVersion version)
31016  : Base(data, length, version)
31017  {
31018  assert(version >= Schema::MinimalVersion);
31019  assert(length >= minimalBlockLength(version));
31020  }
31021 
31022  /// Reset all variable-length fields if any.
31025  {
31026  return *this;
31027  }
31028 
31029  /// Reset all variable-length and optional fields if any.
31030  ThisType& reset()
31032  {
31033  aggressorSideNull();
31034  tradeEntryIdNull();
31035 
31036  resetVariableFields();
31037  return *this;
31038  }
31039 
31040  /// Trade price.
31042  PRICE9 entryPx() const
31044  {
31046 
31047  return decimal<PRICE9>(offset);
31048  }
31049 
31050  /// Trade price.
31051  ThisType& setEntryPx(PRICE9 value)
31053  {
31055 
31056  setOrdinary(offset, value);
31057  return *this;
31058  }
31059 
31060  /// Consolidated trade quantity.
31064  {
31066 
31067  return ordinary<Int32>(offset);
31068  }
31069 
31070  /// Consolidated trade quantity.
31071  ThisType& setEntrySize(Int32 value)
31073  {
31075 
31076  setOrdinary(offset, value);
31077  return *this;
31078  }
31079 
31080  /// Security ID as defined by CME.
31084  {
31086 
31087  return ordinary<Int32>(offset);
31088  }
31089 
31090  /// Security ID as defined by CME.
31091  ThisType& setSecurityId(Int32 value)
31093  {
31095 
31096  setOrdinary(offset, value);
31097  return *this;
31098  }
31099 
31100  /// Sequence number per instrument update.
31102  UInt32 rptSeq() const
31104  {
31106 
31107  return ordinary<UInt32>(offset);
31108  }
31109 
31110  /// Sequence number per instrument update.
31111  ThisType& setRptSeq(UInt32 value)
31113  {
31115 
31116  setOrdinary(offset, value);
31117  return *this;
31118  }
31119 
31120  /// The total number of real orders per instrument that
31121  /// participated in a match step within a match event.
31125  {
31127 
31128  return ordinary<Int32>(offset);
31129  }
31130 
31131  /// The total number of real orders per instrument that
31132  /// participated in a match step within a match event.
31133  ThisType& setNumberOfOrders(Int32 value)
31135  {
31137 
31138  setOrdinary(offset, value);
31139  return *this;
31140  }
31141 
31142  /// Indicates which side is the aggressor or if there is no
31143  /// aggressor.
31145  bool
31147  AggressorSide::Enum& value) const
31149  {
31151 
31152  return enumeration<AggressorSide>(value, offset, NullUInt8());
31153  }
31154 
31155  /// Indicates which side is the aggressor or if there is no
31156  /// aggressor.
31157  ThisType&
31159  AggressorSide::Enum value)
31161  {
31163 
31164  setEnumeration<AggressorSide>(offset, value);
31165  return *this;
31166  }
31167 
31168  ThisType& aggressorSideNull()
31170  {
31172 
31173  setOrdinary(offset, NullUInt8());
31174  return *this;
31175  }
31176 
31177  /// Market Data update action.
31181  {
31183 
31184  return enumeration<UpdateAction>(offset);
31185  }
31186 
31187  /// Market Data update action.
31190  {
31192 
31193  setEnumeration<UpdateAction>(offset, value);
31194  return *this;
31195  }
31196 
31197  /// Market Data entry type.
31202  {
31203  return EntryTypeTrade();
31204  }
31205 
31206  /// Market Data Trade entry ID.
31208  bool tradeEntryId(UInt32& value) const
31210  {
31212 
31213  return ordinary(value, offset, NullUInt32());
31214  }
31215 
31216  /// Market Data Trade entry ID.
31217  ThisType& setTradeEntryId(UInt32 value)
31219  {
31221 
31222  setOrdinary(offset, value);
31223  return *this;
31224  }
31225 
31226  ThisType& tradeEntryIdNull()
31228  {
31230 
31231  setOrdinary(offset, NullUInt32());
31232  return *this;
31233  }
31234 
31235  /// \return size of entry body in bytes
31236  /// for given version of message template.
31239  static
31240  BlockLength
31242  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
31244  {
31245  return
31246  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
31247  32;
31248  }
31249 
31250  /// \return minimal size of entry body in bytes
31251  /// for given version of message template.
31254  static
31255  BlockLength
31257  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
31259  {
31260  return
31261  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
31262  30;
31263  }
31264 
31265  /// Entity class name.
31269  static const Char* className()
31270  {
31271  return "IncrementalRefreshTradeSummary48.Entry";
31272  }
31273  };
31274 
31275  /// Repeating group containing Entry entries.
31276  typedef
31279 
31280  /// Number of OrderID entries.
31281  /// Entry of OrderIDEntry repeating group.
31284  <
31286  >
31287  {
31288  /// Base class type.
31289  typedef
31291  <
31293  >
31295 
31296  /// This type alias.
31298 
31299  /// Initializes instance of given
31300  /// version over given memory block.
31302  void* data,
31303  EncodedLength length,
31304  SchemaVersion version)
31305  : Base(data, length, version)
31306  {
31307  assert(version >= Schema::MinimalVersion);
31308  assert(length >= minimalBlockLength(version));
31309  }
31310 
31311  /// Reset all variable-length fields if any.
31314  {
31315  return *this;
31316  }
31317 
31318  /// Reset all variable-length and optional fields if any.
31319  ThisType& reset()
31321  {
31322  resetVariableFields();
31323  return *this;
31324  }
31325 
31326  /// Unique order identifier as assigned by the exchange.
31328  UInt64 orderId() const
31330  {
31332 
31333  return ordinary<UInt64>(offset);
31334  }
31335 
31336  /// Unique order identifier as assigned by the exchange.
31337  ThisType& setOrderId(UInt64 value)
31339  {
31341 
31342  setOrdinary(offset, value);
31343  return *this;
31344  }
31345 
31346  /// Quantity bought or sold on this last fill.
31348  Int32 lastQty() const
31350  {
31352 
31353  return ordinary<Int32>(offset);
31354  }
31355 
31356  /// Quantity bought or sold on this last fill.
31357  ThisType& setLastQty(Int32 value)
31359  {
31361 
31362  setOrdinary(offset, value);
31363  return *this;
31364  }
31365 
31366  /// \return size of entry body in bytes
31367  /// for given version of message template.
31370  static
31371  BlockLength
31373  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
31375  {
31376  return
31377  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
31378  16;
31379  }
31380 
31381  /// \return minimal size of entry body in bytes
31382  /// for given version of message template.
31385  static
31386  BlockLength
31388  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
31390  {
31391  return
31392  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
31393  12;
31394  }
31395 
31396  /// Entity class name.
31400  static const Char* className()
31401  {
31402  return "IncrementalRefreshTradeSummary48.OrderIDEntry";
31403  }
31404  };
31405 
31406  /// Repeating group containing OrderIDEntry entries.
31407  typedef
31410 
31411  /// Initializes a blank instance.
31412  IncrementalRefreshTradeSummary48() ONIXS_CONFLATEDTCP_DEFAULT;
31413 
31414  /// Initializes an instance over the given memory block.
31416  void* data,
31417  EncodedLength length,
31418  SchemaVersion version = Schema::Version)
31419  : SbeMessage(data, length, version)
31420  {
31421  checkVersion<Schema>(version);
31422  checkLength(length, version);
31423  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
31424  reset();
31425  }
31426 
31427  /// Initializes an instance over the given memory block
31428  /// With no variable-length fields initialization
31429  /// It is assumed that the user does such an initialization manually.
31431  void* data,
31432  EncodedLength length,
31433  NoFieldsInit,
31434  SchemaVersion version = Schema::Version)
31435  : SbeMessage(data, length, version)
31436  {
31437  checkVersion<Schema>(version);
31438  checkLength(length, version);
31439  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
31440  resetVariableFields();
31441  }
31442 
31443  /// Creates an instance over the given memory block.
31445  void* data,
31446  EncodedLength length,
31447  NoInit)
31448  : SbeMessage(data, length)
31449  {
31450  checkCompatibility();
31451  }
31452 
31453  /// Creates an instance over the given SBE message.
31454  explicit
31456  const SbeMessage& message)
31457  : SbeMessage(message)
31458  {
31459  assert(message.valid());
31460 
31461  checkCompatibility();
31462  }
31463 
31464  /// Start of event processing time in number of nanoseconds
31465  /// since Unix epoch.
31469  {
31471 
31472  return ordinary<Timestamp>(offset);
31473  }
31474 
31475  /// Start of event processing time in number of nanoseconds
31476  /// since Unix epoch.
31477  ThisType& setTransactTime(Timestamp value)
31479  {
31481 
31482  setOrdinary(offset, value.sinceEpoch());
31483  return *this;
31484  }
31485 
31486  /// Bitmap field of eight Boolean type indicators reflecting
31487  /// the end of updates for a given Globex event.
31491  {
31493 
31494  return ordinary<MatchEventIndicator>(offset);
31495  }
31496 
31497  /// Bitmap field of eight Boolean type indicators reflecting
31498  /// the end of updates for a given Globex event.
31499  ThisType&
31501  MatchEventIndicator value)
31503  {
31505 
31506  setOrdinary(offset, value);
31507  return *this;
31508  }
31509 
31510  /// \return instance of Entries repeating group.
31514  {
31515  return getGroup<Entries>(EntriesAccess(), *this);
31516  }
31517 
31518  /// \return instance of Entries repeating group.
31522  {
31523  return getGroup<Entries>(EntriesAccess(), *this);
31524  }
31525 
31526  /// Setup repeating group with the given number of entries.
31527  /// Sets all optional fields of the group entries to null.
31528  /// \return NoMDEntries(268) repeating group.
31530  {
31531  return constructGroup<Entries>(
31532  EntriesAccess(),
31533  length,
31534  *this);
31535  }
31536 
31537  /// Setup repeating group with the given number of entries.
31538  /// \return NoMDEntries(268) repeating group.
31539  Entries
31541  Entries::Size length,
31542  NoFieldsInit)
31543  {
31544  return setupGroup<Entries>(
31545  EntriesAccess(),
31546  length,
31547  *this);
31548  }
31549 
31550  /// \return instance of OrderIDEntries repeating group.
31554  {
31555  return getGroup<OrderIDEntries>(
31556  OrderIDEntriesAccess(),
31557  *this);
31558  }
31559 
31560  /// \return instance of OrderIDEntries repeating group.
31564  {
31565  return getGroup<OrderIDEntries>(
31566  OrderIDEntriesAccess(),
31567  *this);
31568  }
31569 
31570  /// Setup repeating group with the given number of entries.
31571  /// Sets all optional fields of the group entries to null.
31572  /// \return NoOrderIDEntries(37705) repeating group.
31575  OrderIDEntries::Size length)
31576  {
31577  return constructGroup<OrderIDEntries>(
31578  OrderIDEntriesAccess(),
31579  length,
31580  *this);
31581  }
31582 
31583  /// Setup repeating group with the given number of entries.
31584  /// \return NoOrderIDEntries(37705) repeating group.
31587  OrderIDEntries::Size length,
31588  NoFieldsInit)
31589  {
31590  return setupGroup<OrderIDEntries>(
31591  OrderIDEntriesAccess(),
31592  length,
31593  *this);
31594  }
31595 
31596  /// Minimal size of message body in bytes.
31599  static
31600  BlockLength
31602  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
31604  {
31605  return
31606  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
31607  9;
31608  }
31609 
31610  /// Size of message body in bytes.
31613  static
31614  BlockLength
31616  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
31618  {
31619  return
31620  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
31621  11;
31622  }
31623 
31624  /// Minimal variable fields size (when variable-length fields are empty).
31628  static
31629  MessageSize
31631  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
31632  {
31633  return
31634  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
31635  static_cast<MessageSize>(Entries::EmptySize) + static_cast<MessageSize>(OrderIDEntries::EmptySize);
31636  }
31637 
31638  /// Reset all variable-length fields if any.
31641  {
31642  entriesNull();
31643  orderIdEntriesNull();
31644  return *this;
31645  }
31646 
31647  /// Reset all variable-length and optional fields if any.
31648  ThisType& reset()
31650  {
31651  resetVariableFields();
31652  return *this;
31653  }
31654 
31655  /// \return class name.
31659  static const Char* className()
31660  {
31661  return "IncrementalRefreshTradeSummary48";
31662  }
31663 
31664  /// FIX message type.
31668  static StrRef fixType()
31670  {
31671  return constructStrRef("X");
31672  }
31673 
31674  /// \return the end of the message.
31676  const void* tail() const
31678  {
31679  return
31680  orderIdEntries().tail();
31681  }
31682 
31683  /// \return the size occupied by the message.
31687  {
31688  return
31689  SbeMessage::calculateBinarySize(tail());
31690  }
31691 
31692 private:
31693  void checkLength(
31694  EncodedLength length, SchemaVersion version) const
31695  {
31696  const EncodedLength minimalRequiredLength =
31697  minimalBlockLength(version) +
31698  MessageHeader::Size +
31699  getMinimalVariableFieldsSize(version);
31700 
31701  checkBinaryLength(
31702  *this, length, minimalRequiredLength);
31703  }
31704 
31705  /// Checks variable fields consistency.
31706  void checkVarLenFields() const
31707  {
31708  groups().
31709  checkTail<Entries>().
31710  checkTail<OrderIDEntries>();
31711  }
31712 
31713  void checkCompatibility() const
31714  {
31715  assert(TemplateId == templateId());
31716 
31717  checkSchema<Schema>(schemaId(), version());
31718  checkLength(bufferSize(), version());
31719  checkVarLenFields();
31720  }
31721 
31722  /// Access helper.
31723  struct EntriesAccess
31724  {
31725  Entries
31726  operator()(
31727  const IncrementalRefreshTradeSummary48& obj) const
31729  {
31730  return obj.
31731  groups().
31732  head<Entries>();
31733  }
31734  };
31735 
31736  /// Reset an instance of the repeating group.
31737  /// All the following data will be invalidated.
31738  void entriesNull()
31740  {
31741  resetGroup<Entries>(EntriesAccess(), *this);
31742  }
31743 
31744  /// Access helper.
31745  struct OrderIDEntriesAccess
31746  {
31748  operator()(
31749  const IncrementalRefreshTradeSummary48& obj) const
31751  {
31752  return obj.
31753  groups().
31754  tail<Entries>().
31755  head<OrderIDEntries>();
31756  }
31757  };
31758 
31759  /// Reset an instance of the repeating group.
31760  /// All the following data will be invalidated.
31761  void orderIdEntriesNull()
31763  {
31764  resetGroup<OrderIDEntries>(
31765  OrderIDEntriesAccess(),
31766  *this);
31767  }
31768 };
31769 
31770 /// MDIncrementalRefreshOrderBook.
31773 : SbeMessage
31774 {
31775  /// Used template schema.
31777 
31778  /// This type alias.
31780 
31781  /// Message template ID from SBE schema.
31782  enum { TemplateId = 47 };
31783 
31784  /// Number of entries in Market Data message.
31785  /// Entry of Entry repeating group.
31788  <
31790  >
31791  {
31792  /// Base class type.
31793  typedef
31795  <
31797  >
31799 
31800  /// This type alias.
31801  typedef Entry ThisType;
31802 
31803  /// Initializes instance of given
31804  /// version over given memory block.
31806  void* data,
31807  EncodedLength length,
31808  SchemaVersion version)
31809  : Base(data, length, version)
31810  {
31811  assert(version >= Schema::MinimalVersion);
31812  assert(length >= minimalBlockLength(version));
31813  }
31814 
31815  /// Reset all variable-length fields if any.
31818  {
31819  return *this;
31820  }
31821 
31822  /// Reset all variable-length and optional fields if any.
31823  ThisType& reset()
31825  {
31826  orderIdNull();
31827  orderPriorityNull();
31828  entryPxNull();
31829  displayQtyNull();
31830 
31831  resetVariableFields();
31832  return *this;
31833  }
31834 
31835  /// Order ID.
31837  bool orderId(UInt64& value) const
31839  {
31841 
31842  return ordinary(value, offset, NullUInt64());
31843  }
31844 
31845  /// Order ID.
31846  ThisType& setOrderId(UInt64 value)
31848  {
31850 
31851  setOrdinary(offset, value);
31852  return *this;
31853  }
31854 
31855  ThisType& orderIdNull()
31857  {
31859 
31860  setOrdinary(offset, NullUInt64());
31861  return *this;
31862  }
31863 
31864  /// Order priority for execution on the order book.
31866  bool orderPriority(UInt64& value) const
31868  {
31870 
31871  return ordinary(value, offset, NullUInt64());
31872  }
31873 
31874  /// Order priority for execution on the order book.
31875  ThisType& setOrderPriority(UInt64 value)
31877  {
31879 
31880  setOrdinary(offset, value);
31881  return *this;
31882  }
31883 
31884  ThisType& orderPriorityNull()
31886  {
31888 
31889  setOrdinary(offset, NullUInt64());
31890  return *this;
31891  }
31892 
31893  /// Order price.
31895  bool entryPx(PRICE9& value) const
31897  {
31899 
31900  return decimal(value, offset, NullPRICE9());
31901  }
31902 
31903  /// Order price.
31904  ThisType& setEntryPx(PRICE9 value)
31906  {
31908 
31909  setOrdinary(offset, value);
31910  return *this;
31911  }
31912 
31913  ThisType& entryPxNull()
31915  {
31917 
31918  setOrdinary(offset, NullPRICE9());
31919  return *this;
31920  }
31921 
31922  /// Visible order qty.
31924  bool displayQty(Int32& value) const
31926  {
31928 
31929  return ordinary(value, offset, NullInt32());
31930  }
31931 
31932  /// Visible order qty.
31933  ThisType& setDisplayQty(Int32 value)
31935  {
31937 
31938  setOrdinary(offset, value);
31939  return *this;
31940  }
31941 
31942  ThisType& displayQtyNull()
31944  {
31946 
31947  setOrdinary(offset, NullInt32());
31948  return *this;
31949  }
31950 
31951  /// Security ID.
31955  {
31957 
31958  return ordinary<Int32>(offset);
31959  }
31960 
31961  /// Security ID.
31962  ThisType& setSecurityId(Int32 value)
31964  {
31966 
31967  setOrdinary(offset, value);
31968  return *this;
31969  }
31970 
31971  /// Order book update action to be applied to the order
31972  /// referenced by OrderID.
31976  {
31978 
31979  return enumeration<UpdateAction>(offset);
31980  }
31981 
31982  /// Order book update action to be applied to the order
31983  /// referenced by OrderID.
31986  {
31988 
31989  setEnumeration<UpdateAction>(offset, value);
31990  return *this;
31991  }
31992 
31993  /// Market Data entry type.
31997  {
31999 
32000  return enumeration<EntryTypeBook>(offset);
32001  }
32002 
32003  /// Market Data entry type.
32004  ThisType&
32006  EntryTypeBook::Enum value)
32008  {
32010 
32011  setEnumeration<EntryTypeBook>(offset, value);
32012  return *this;
32013  }
32014 
32015  /// \return size of entry body in bytes
32016  /// for given version of message template.
32019  static
32020  BlockLength
32022  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32024  {
32025  return
32026  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32027  40;
32028  }
32029 
32030  /// \return minimal size of entry body in bytes
32031  /// for given version of message template.
32034  static
32035  BlockLength
32037  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32039  {
32040  return
32041  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32042  34;
32043  }
32044 
32045  /// Entity class name.
32049  static const Char* className()
32050  {
32051  return "IncrementalRefreshOrderBook47.Entry";
32052  }
32053  };
32054 
32055  /// Repeating group containing Entry entries.
32056  typedef
32059 
32060  /// Initializes a blank instance.
32061  IncrementalRefreshOrderBook47() ONIXS_CONFLATEDTCP_DEFAULT;
32062 
32063  /// Initializes an instance over the given memory block.
32065  void* data,
32066  EncodedLength length,
32067  SchemaVersion version = Schema::Version)
32068  : SbeMessage(data, length, version)
32069  {
32070  checkVersion<Schema>(version);
32071  checkLength(length, version);
32072  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
32073  reset();
32074  }
32075 
32076  /// Initializes an instance over the given memory block
32077  /// With no variable-length fields initialization
32078  /// It is assumed that the user does such an initialization manually.
32080  void* data,
32081  EncodedLength length,
32082  NoFieldsInit,
32083  SchemaVersion version = Schema::Version)
32084  : SbeMessage(data, length, version)
32085  {
32086  checkVersion<Schema>(version);
32087  checkLength(length, version);
32088  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
32089  resetVariableFields();
32090  }
32091 
32092  /// Creates an instance over the given memory block.
32094  void* data,
32095  EncodedLength length,
32096  NoInit)
32097  : SbeMessage(data, length)
32098  {
32099  checkCompatibility();
32100  }
32101 
32102  /// Creates an instance over the given SBE message.
32103  explicit
32105  const SbeMessage& message)
32106  : SbeMessage(message)
32107  {
32108  assert(message.valid());
32109 
32110  checkCompatibility();
32111  }
32112 
32113  /// Start of event processing time in number of nanoseconds
32114  /// since Unix epoch.
32118  {
32120 
32121  return ordinary<Timestamp>(offset);
32122  }
32123 
32124  /// Start of event processing time in number of nanoseconds
32125  /// since Unix epoch.
32126  ThisType& setTransactTime(Timestamp value)
32128  {
32130 
32131  setOrdinary(offset, value.sinceEpoch());
32132  return *this;
32133  }
32134 
32135  /// Bitmap field of eight Boolean type indicators reflecting
32136  /// the end of updates for a given Globex event.
32140  {
32142 
32143  return ordinary<MatchEventIndicator>(offset);
32144  }
32145 
32146  /// Bitmap field of eight Boolean type indicators reflecting
32147  /// the end of updates for a given Globex event.
32148  ThisType&
32150  MatchEventIndicator value)
32152  {
32154 
32155  setOrdinary(offset, value);
32156  return *this;
32157  }
32158 
32159  /// \return instance of Entries repeating group.
32163  {
32164  return getGroup<Entries>(EntriesAccess(), *this);
32165  }
32166 
32167  /// \return instance of Entries repeating group.
32171  {
32172  return getGroup<Entries>(EntriesAccess(), *this);
32173  }
32174 
32175  /// Setup repeating group with the given number of entries.
32176  /// Sets all optional fields of the group entries to null.
32177  /// \return NoMDEntries(268) repeating group.
32179  {
32180  return constructGroup<Entries>(
32181  EntriesAccess(),
32182  length,
32183  *this);
32184  }
32185 
32186  /// Setup repeating group with the given number of entries.
32187  /// \return NoMDEntries(268) repeating group.
32188  Entries
32190  Entries::Size length,
32191  NoFieldsInit)
32192  {
32193  return setupGroup<Entries>(
32194  EntriesAccess(),
32195  length,
32196  *this);
32197  }
32198 
32199  /// Minimal size of message body in bytes.
32202  static
32203  BlockLength
32205  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32207  {
32208  return
32209  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32210  9;
32211  }
32212 
32213  /// Size of message body in bytes.
32216  static
32217  BlockLength
32219  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32221  {
32222  return
32223  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32224  11;
32225  }
32226 
32227  /// Minimal variable fields size (when variable-length fields are empty).
32231  static
32232  MessageSize
32234  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32235  {
32236  return
32237  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32238  static_cast<MessageSize>(Entries::EmptySize);
32239  }
32240 
32241  /// Reset all variable-length fields if any.
32244  {
32245  entriesNull();
32246  return *this;
32247  }
32248 
32249  /// Reset all variable-length and optional fields if any.
32250  ThisType& reset()
32252  {
32253  resetVariableFields();
32254  return *this;
32255  }
32256 
32257  /// \return class name.
32261  static const Char* className()
32262  {
32263  return "IncrementalRefreshOrderBook47";
32264  }
32265 
32266  /// FIX message type.
32270  static StrRef fixType()
32272  {
32273  return constructStrRef("X");
32274  }
32275 
32276  /// \return the end of the message.
32278  const void* tail() const
32280  {
32281  return
32282  entries().tail();
32283  }
32284 
32285  /// \return the size occupied by the message.
32289  {
32290  return
32291  SbeMessage::calculateBinarySize(tail());
32292  }
32293 
32294 private:
32295  void checkLength(
32296  EncodedLength length, SchemaVersion version) const
32297  {
32298  const EncodedLength minimalRequiredLength =
32299  minimalBlockLength(version) +
32300  MessageHeader::Size +
32301  getMinimalVariableFieldsSize(version);
32302 
32303  checkBinaryLength(
32304  *this, length, minimalRequiredLength);
32305  }
32306 
32307  /// Checks variable fields consistency.
32308  void checkVarLenFields() const
32309  {
32310  groups().
32311  checkTail<Entries>();
32312  }
32313 
32314  void checkCompatibility() const
32315  {
32316  assert(TemplateId == templateId());
32317 
32318  checkSchema<Schema>(schemaId(), version());
32319  checkLength(bufferSize(), version());
32320  checkVarLenFields();
32321  }
32322 
32323  /// Access helper.
32324  struct EntriesAccess
32325  {
32326  Entries
32327  operator()(
32328  const IncrementalRefreshOrderBook47& obj) const
32330  {
32331  return obj.
32332  groups().
32333  head<Entries>();
32334  }
32335  };
32336 
32337  /// Reset an instance of the repeating group.
32338  /// All the following data will be invalidated.
32339  void entriesNull()
32341  {
32342  resetGroup<Entries>(EntriesAccess(), *this);
32343  }
32344 };
32345 
32346 /// SnapshotFullRefreshOrderBook.
32349 : SbeMessage
32350 {
32351  /// Used template schema.
32353 
32354  /// This type alias.
32356 
32357  /// Message template ID from SBE schema.
32358  enum { TemplateId = 53 };
32359 
32360  /// Number of entries in Market Data message.
32361  /// Entry of Entry repeating group.
32364  <
32366  >
32367  {
32368  /// Base class type.
32369  typedef
32371  <
32373  >
32375 
32376  /// This type alias.
32377  typedef Entry ThisType;
32378 
32379  /// Initializes instance of given
32380  /// version over given memory block.
32382  void* data,
32383  EncodedLength length,
32384  SchemaVersion version)
32385  : Base(data, length, version)
32386  {
32387  assert(version >= Schema::MinimalVersion);
32388  assert(length >= minimalBlockLength(version));
32389  }
32390 
32391  /// Reset all variable-length fields if any.
32394  {
32395  return *this;
32396  }
32397 
32398  /// Reset all variable-length and optional fields if any.
32399  ThisType& reset()
32401  {
32402  orderPriorityNull();
32403 
32404  resetVariableFields();
32405  return *this;
32406  }
32407 
32408  /// Unique Order ID.
32410  UInt64 orderId() const
32412  {
32414 
32415  return ordinary<UInt64>(offset);
32416  }
32417 
32418  /// Unique Order ID.
32419  ThisType& setOrderId(UInt64 value)
32421  {
32423 
32424  setOrdinary(offset, value);
32425  return *this;
32426  }
32427 
32428  /// Order priority for execution on the order book.
32430  bool orderPriority(UInt64& value) const
32432  {
32434 
32435  return ordinary(value, offset, NullUInt64());
32436  }
32437 
32438  /// Order priority for execution on the order book.
32439  ThisType& setOrderPriority(UInt64 value)
32441  {
32443 
32444  setOrdinary(offset, value);
32445  return *this;
32446  }
32447 
32448  ThisType& orderPriorityNull()
32450  {
32452 
32453  setOrdinary(offset, NullUInt64());
32454  return *this;
32455  }
32456 
32457  /// Order Price.
32459  PRICE9 entryPx() const
32461  {
32463 
32464  return decimal<PRICE9>(offset);
32465  }
32466 
32467  /// Order Price.
32468  ThisType& setEntryPx(PRICE9 value)
32470  {
32472 
32473  setOrdinary(offset, value);
32474  return *this;
32475  }
32476 
32477  /// Visible order qty.
32481  {
32483 
32484  return ordinary<Int32>(offset);
32485  }
32486 
32487  /// Visible order qty.
32488  ThisType& setDisplayQty(Int32 value)
32490  {
32492 
32493  setOrdinary(offset, value);
32494  return *this;
32495  }
32496 
32497  /// Market Data entry type.
32501  {
32503 
32504  return enumeration<EntryTypeBook>(offset);
32505  }
32506 
32507  /// Market Data entry type.
32508  ThisType&
32510  EntryTypeBook::Enum value)
32512  {
32514 
32515  setEnumeration<EntryTypeBook>(offset, value);
32516  return *this;
32517  }
32518 
32519  /// \return size of entry body in bytes
32520  /// for given version of message template.
32525  {
32526  return
32527  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32528  minimalBlockLength(version);
32529  }
32530 
32531  /// \return minimal size of entry body in bytes
32532  /// for given version of message template.
32535  static
32536  BlockLength
32538  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32540  {
32541  return
32542  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32543  29;
32544  }
32545 
32546  /// Entity class name.
32550  static const Char* className()
32551  {
32552  return "SnapshotFullRefreshOrderBook53.Entry";
32553  }
32554  };
32555 
32556  /// Repeating group containing Entry entries.
32557  typedef
32560 
32561  /// Initializes a blank instance.
32562  SnapshotFullRefreshOrderBook53() ONIXS_CONFLATEDTCP_DEFAULT;
32563 
32564  /// Initializes an instance over the given memory block.
32566  void* data,
32567  EncodedLength length,
32568  SchemaVersion version = Schema::Version)
32569  : SbeMessage(data, length, version)
32570  {
32571  checkVersion<Schema>(version);
32572  checkLength(length, version);
32573  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
32574  reset();
32575  }
32576 
32577  /// Initializes an instance over the given memory block
32578  /// With no variable-length fields initialization
32579  /// It is assumed that the user does such an initialization manually.
32581  void* data,
32582  EncodedLength length,
32583  NoFieldsInit,
32584  SchemaVersion version = Schema::Version)
32585  : SbeMessage(data, length, version)
32586  {
32587  checkVersion<Schema>(version);
32588  checkLength(length, version);
32589  init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
32590  resetVariableFields();
32591  }
32592 
32593  /// Creates an instance over the given memory block.
32595  void* data,
32596  EncodedLength length,
32597  NoInit)
32598  : SbeMessage(data, length)
32599  {
32600  checkCompatibility();
32601  }
32602 
32603  /// Creates an instance over the given SBE message.
32604  explicit
32606  const SbeMessage& message)
32607  : SbeMessage(message)
32608  {
32609  assert(message.valid());
32610 
32611  checkCompatibility();
32612  }
32613 
32614  /// Sequence number of the last Incremental feed packet
32615  /// processed. This value is used to synchronize the snapshot
32616  /// loop with the real-time feed.
32620  {
32622 
32623  return ordinary<UInt32>(offset);
32624  }
32625 
32626  /// Sequence number of the last Incremental feed packet
32627  /// processed. This value is used to synchronize the snapshot
32628  /// loop with the real-time feed.
32631  {
32633 
32634  setOrdinary(offset, value);
32635  return *this;
32636  }
32637 
32638  /// Total number of instruments in the replayed loop.
32642  {
32644 
32645  return ordinary<UInt32>(offset);
32646  }
32647 
32648  /// Total number of instruments in the replayed loop.
32649  ThisType& setTotNumReports(UInt32 value)
32651  {
32653 
32654  setOrdinary(offset, value);
32655  return *this;
32656  }
32657 
32658  /// Security ID.
32662  {
32664 
32665  return ordinary<Int32>(offset);
32666  }
32667 
32668  /// Security ID.
32669  ThisType& setSecurityId(Int32 value)
32671  {
32673 
32674  setOrdinary(offset, value);
32675  return *this;
32676  }
32677 
32678  /// Total number of packets that constitutes a single
32679  /// instrument order book.
32681  UInt32 chunks() const
32683  {
32685 
32686  return ordinary<UInt32>(offset);
32687  }
32688 
32689  /// Total number of packets that constitutes a single
32690  /// instrument order book.
32691  ThisType& setNoChunks(UInt32 value)
32693  {
32695 
32696  setOrdinary(offset, value);
32697  return *this;
32698  }
32699 
32700  /// Chunk sequence.
32704  {
32706 
32707  return ordinary<UInt32>(offset);
32708  }
32709 
32710  /// Chunk sequence.
32711  ThisType& setCurrentChunk(UInt32 value)
32713  {
32715 
32716  setOrdinary(offset, value);
32717  return *this;
32718  }
32719 
32720  /// Timestamp of the last event security participated in, sent
32721  /// as number of nanoseconds since Unix epoch.
32725  {
32727 
32728  return ordinary<Timestamp>(offset);
32729  }
32730 
32731  /// Timestamp of the last event security participated in, sent
32732  /// as number of nanoseconds since Unix epoch.
32733  ThisType& setTransactTime(Timestamp value)
32735  {
32737 
32738  setOrdinary(offset, value.sinceEpoch());
32739  return *this;
32740  }
32741 
32742  /// \return instance of Entries repeating group.
32746  {
32747  return getGroup<Entries>(EntriesAccess(), *this);
32748  }
32749 
32750  /// \return instance of Entries repeating group.
32754  {
32755  return getGroup<Entries>(EntriesAccess(), *this);
32756  }
32757 
32758  /// Setup repeating group with the given number of entries.
32759  /// Sets all optional fields of the group entries to null.
32760  /// \return NoMDEntries(268) repeating group.
32762  {
32763  return constructGroup<Entries>(
32764  EntriesAccess(),
32765  length,
32766  *this);
32767  }
32768 
32769  /// Setup repeating group with the given number of entries.
32770  /// \return NoMDEntries(268) repeating group.
32771  Entries
32773  Entries::Size length,
32774  NoFieldsInit)
32775  {
32776  return setupGroup<Entries>(
32777  EntriesAccess(),
32778  length,
32779  *this);
32780  }
32781 
32782  /// Minimal size of message body in bytes.
32785  static
32786  BlockLength
32788  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32790  {
32791  return
32792  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32793  28;
32794  }
32795 
32796  /// Size of message body in bytes.
32801  {
32802  return
32803  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32804  minimalBlockLength(version);
32805  }
32806 
32807  /// Minimal variable fields size (when variable-length fields are empty).
32811  static
32812  MessageSize
32814  ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
32815  {
32816  return
32817  ONIXS_CONFLATEDTCP_ASSERT(version >= Schema::MinimalVersion),
32818  static_cast<MessageSize>(Entries::EmptySize);
32819  }
32820 
32821  /// Reset all variable-length fields if any.
32824  {
32825  entriesNull();
32826  return *this;
32827  }
32828 
32829  /// Reset all variable-length and optional fields if any.
32830  ThisType& reset()
32832  {
32833  resetVariableFields();
32834  return *this;
32835  }
32836 
32837  /// \return class name.
32841  static const Char* className()
32842  {
32843  return "SnapshotFullRefreshOrderBook53";
32844  }
32845 
32846  /// FIX message type.
32850  static StrRef fixType()
32852  {
32853  return constructStrRef("W");
32854  }
32855 
32856  /// \return the end of the message.
32858  const void* tail() const
32860  {
32861  return
32862  entries().tail();
32863  }
32864 
32865  /// \return the size occupied by the message.
32869  {
32870  return
32871  SbeMessage::calculateBinarySize(tail());
32872  }
32873 
32874 private:
32875  void checkLength(
32876  EncodedLength length, SchemaVersion version) const
32877  {
32878  const EncodedLength minimalRequiredLength =
32879  minimalBlockLength(version) +
32880  MessageHeader::Size +
32881  getMinimalVariableFieldsSize(version);
32882 
32883  checkBinaryLength(
32884  *this, length, minimalRequiredLength);
32885  }
32886 
32887  /// Checks variable fields consistency.
32888  void checkVarLenFields() const
32889  {
32890  groups().
32891  checkTail<Entries>();
32892  }
32893 
32894  void checkCompatibility() const
32895  {
32896  assert(TemplateId == templateId());
32897 
32898  checkSchema<Schema>(schemaId(), version());
32899  checkLength(bufferSize(), version());
32900  checkVarLenFields();
32901  }
32902 
32903  /// Access helper.
32904  struct EntriesAccess
32905  {
32906  Entries
32907  operator()(
32908  const SnapshotFullRefreshOrderBook53& obj) const
32910  {
32911  return obj.
32912  groups().
32913  head<Entries>();
32914  }
32915  };
32916 
32917  /// Reset an instance of the repeating group.
32918  /// All the following data will be invalidated.
32919  void entriesNull()
32921  {
32922  resetGroup<Entries>(EntriesAccess(), *this);
32923  }
32924 };
32925 
32926 
bool brokenDateEnd(Timestamp &value) const noexcept
End date of a broken date period.
Definition: Messages.h:3749
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:17211
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:19446
ThisType & setSecurityGroup(StrRef value) noexcept
Security Group Code.
Definition: Messages.h:29525
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:13187
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:13464
FeedTypes feedTypes(FeedTypes::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:5059
bool startDate(Timestamp &value) const noexcept
Start date of a financing deal, i.e.
Definition: Messages.h:4647
bool streamId(PriceSource::Enum &value) const noexcept
Source of the Clean Price.
Definition: Messages.h:7798
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:9619
SbeGroup< LotTypeRulesEntry, GroupSize, MessageSize > LotTypeRules
Repeating group containing LotTypeRulesEntry entries.
Definition: Messages.h:19377
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:31823
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:26874
ThisType & setTransactTime(Timestamp value) noexcept
Time of execution/order creation; expressed in UTC.
Definition: Messages.h:7934
Entries::Size Size
Number of entries in the group.
Definition: SbeMessage.h:643
ThisType & setEntryTime(Timestamp value) noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:15921
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:19469
SnapshotRefreshTopOrders59(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:5920
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:23961
GlobalDayRoll307(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:17647
bool securityId(Int32 &value) const noexcept
If this tag is present, 35=f message is sent for the instrument.
Definition: Messages.h:23617
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:2732
ThisType & setRptSeq(UInt32 value) noexcept
Sequence number per instrument update.
Definition: Messages.h:31111
ThisType & setSecurityType(StrRef value) noexcept
Security Type.
Definition: Messages.h:29622
ThisType & setEntryTime(Timestamp value) noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:17083
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:10729
bool altMinQuoteLife(UInt32 &value) const noexcept
MQL duration in number of microseconds applied to orders at AltMinPriceIncrement. ...
Definition: Messages.h:10068
ThisType & setLastUpdateTime(Timestamp value) noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:726
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:32242
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:18355
UInt32 maxTradeVol() const noexcept
The maximum trading volume for a security.
Definition: Messages.h:22395
InstAttrib instAttrib(InstAttrib::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:10266
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:8012
FeedTypesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2589
SBE-encoded repeating group.
Definition: SbeMessage.h:618
ThisType & setSymbol(StrRef value) noexcept
Instrument Name or Symbol.
Definition: Messages.h:27948
bool openCloseSettlFlag(OpenCloseSettlFlag::Enum &value) const noexcept
Flag that identifies a market data entry.
Definition: Messages.h:7056
ThisType & setSecurityId(Int32 value) noexcept
Unique instrument ID.
Definition: Messages.h:14472
StrRef underlyingSecurityType() const noexcept
Underlying Security Type.
Definition: Messages.h:3189
Int32 securityId() const noexcept
Unique instrument ID.
Definition: Messages.h:7311
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:19075
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:16053
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:2980
bool aggressorIndicator(AggressorFlag::Enum &value) const noexcept
Aggressor Indicator 1=Aggressor Order 0=Passive Order.
Definition: Messages.h:6295
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:15263
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:7661
ThisType & setUnderlyingSecurityId(Int32 value) noexcept
Underlying Security ID as qualified by tag 305-UnderlyingSecurityIDSource.
Definition: Messages.h:3066
StrRef marketSet() const noexcept
Market Set defines the bilateral relationship and Self Match Prevention configuration for eligible ma...
Definition: Messages.h:22926
ThisType & setUserDefinedInstrument(UserDefinedInstrument value) noexcept
User-defined Instrument flag.
Definition: Messages.h:1919
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:31256
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:25051
ThisType & setAggressorSide(AggressorSide::Enum value) noexcept
Indicates which side is aggressor of the trade.
Definition: Messages.h:16003
ThisType & setClearedVolume(Int32 value) noexcept
The total cleared volume of instrument traded during the prior trading session.
Definition: Messages.h:22674
bool decayQuantity(Int32 &value) const noexcept
Indicates the quantity that a contract will decay daily by once the decay start date is reached...
Definition: Messages.h:20328
ThisType & setApplId(Int16 value) noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:29440
GlobalDayRoll307(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:17622
LotTypeRules lotTypeRules(LotTypeRules::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:20808
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:12600
RelatedSym relatedSym(RelatedSym::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:28256
bool unitOfMeasureQty(Decimal9 &value) const noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:1266
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:23792
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:17023
ThisType & setUnderlyingProduct(UInt8 value) noexcept
Product complex.
Definition: Messages.h:4070
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:2779
ThisType & setBrokenDateEnd(Timestamp value) noexcept
End date of a broken date period.
Definition: Messages.h:3767
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:11250
bool priceDisplayFormat(UInt8 &value) const noexcept
Number of Decimals in Displayed Price.
Definition: Messages.h:1210
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:18147
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:8656
Events events(Events::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:2025
SbeGroup< OrderIDEntry, GroupSize8Byte, MessageSize > OrderIDEntries
Repeating group containing OrderIDEntry entries.
Definition: Messages.h:11971
ThisType & setRptSeq(UInt32 value) noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:12448
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:26120
StrRef asset() const noexcept
Product Code within Security Group specified.
Definition: Messages.h:23594
bool displayQty(Int32 &value) const noexcept
Visible order qty.
Definition: Messages.h:31924
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:23697
InstrumentDefinitionFixedIncome57(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:622
Timestamp transactTime() const noexcept
Timestamp of the last event security participated in, sent as number of nanoseconds since Unix epoch...
Definition: Messages.h:32723
Underlyings underlyings(Underlyings::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:30614
SbeGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:18979
Int16 applId() const noexcept
MD channel ID as defined in the XML Configuration file.
Definition: Messages.h:770
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:1374
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:12459
ThisType & setMarketSet(StrRef value) noexcept
MarketSet defines the bilateral relationship and Self Match Prevention configuration for eligible mar...
Definition: Messages.h:4905
Number of repeating FeedType repeating group entries.
Definition: Messages.h:2570
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:31319
ThisType & setEventTime(Timestamp value) noexcept
Date and time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:21160
UInt64 orderId() const noexcept
Unique order identifier as assigned by the exchange.
Definition: Messages.h:11890
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:19194
OrderIDEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:11863
StrRef cfiCode() const noexcept
ISO standard instrument categorization code.
Definition: Messages.h:29634
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:10915
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
Financial instrument long name.
Definition: Messages.h:16669
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:10930
static constexpr SecurityIDSource securityIdSource() noexcept
Identifies class or source of the SecurityID (Tag 48) value.
Definition: Messages.h:4191
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:3883
Int32 securityId() const noexcept
Unique instrument ID.
Definition: Messages.h:22184
static constexpr SecurityIDSource securityIdSource() noexcept
Identifies class or source of Tag 48-SecurityID value.
Definition: Messages.h:941
ThisType & setCouponFrequencyPeriod(UInt16 value) noexcept
Time unit multiplier for the frequency of the bond&#39;s coupon payment.
Definition: Messages.h:1694
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:21585
static constexpr InstAttribType instAttribType() noexcept
Instrument eligibility attributes.
Definition: Messages.h:19162
CHAR matchAlgorithm() const noexcept
Matching algorithm.
Definition: Messages.h:29833
ThisType & setSettlCurrency(StrRef value) noexcept
Identifies currency used for settlement, if different from trade price currency.
Definition: Messages.h:29792
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:15594
ThisType & setFixRateLocalTime(StrRef value) noexcept
Fixing Rate Local Time, denoted in HH:MM:SS format.
Definition: Messages.h:9871
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:18375
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:31630
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:17718
IncrementalRefreshVolume37(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:26760
ThisType & setEntrySize(UInt64 value) noexcept
Market Data entry size.
Definition: Messages.h:14183
bool minPriceIncrementAmount(PRICE9 &value) const noexcept
Monetary value equivalent to the minimum price fluctuation.
Definition: Messages.h:1453
bool numberOfOrders(Int32 &value) const noexcept
In Book entry - aggregate number of orders at given price level.
Definition: Messages.h:24074
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:31601
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:2849
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:17014
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:32550
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:28598
ThisType & setStartDate(Timestamp value) noexcept
Start date of a financing deal, i.e.
Definition: Messages.h:4666
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:28849
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:27754
ThisType & setSymbol(StrRef value) noexcept
Unique instrument Symbol.
Definition: Messages.h:17355
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current trading state of the instrument.
Definition: Messages.h:27566
SecurityStatus30(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:23514
bool highLimitPrice(PRICE9 &value) const noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:20240
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:9034
ThisType & setSubFraction(UInt8 value) noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:1190
OrderIDEntries orderIdEntries(OrderIDEntries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:12138
LotTypeRules lotTypeRules(LotTypeRules::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:10323
ThisType & setPriceLevel(Int8 value) noexcept
Aggregate book price level, number from 1 to 10.
Definition: Messages.h:7035
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:6036
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:8445
StrRef financialInstrumentFullName() const noexcept
EBS instrument long name.
Definition: Messages.h:9719
ThisType & setHaltReason(HaltReason::Enum value) noexcept
Indicates halt reason status due to surveillance activity.
Definition: Messages.h:6607
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:6236
Timestamp lastUpdateTime() const noexcept
UTC Date and time of last Security Definition add, update or delete on a given Market Data channel...
Definition: Messages.h:27506
bool subFraction(UInt8 &value) const noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:20008
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:32218
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:7276
EventType::Enum eventType() const noexcept
Code to represent the type of event.
Definition: Messages.h:96
ThisType & setTerminationType(StrRef value) noexcept
For Repos the timing or method for terminating the agreement.
Definition: Messages.h:4740
static constexpr InstAttribType instAttribType() noexcept
Instrument eligibility attributes.
Definition: Messages.h:2749
IncrementalRefreshTradeSummary48(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:31455
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:17846
bool unitOfMeasureQty(Decimal9 &value) const noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:9580
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:5332
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:10467
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:28062
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:14780
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:18725
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:14789
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:11874
ThisType & setOpenCloseSettlFlag(OpenCloseSettlFlag::Enum value) noexcept
Flag describing Open Price entry.
Definition: Messages.h:27239
ThisType & setSecurityTradingStatus(WorkupTradingStatus::Enum value) noexcept
Identifies the trading status applicable to the instrument.
Definition: Messages.h:6586
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:10430
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:5876
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:15723
#define ONIXS_CONFLATEDTCP_LTWT_EXPORTED
Definition: ABI.h:92
ThisType & setUnitOfMeasure(StrRef value) noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:1253
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Order book update action to be applied to the order referenced by OrderID.
Definition: Messages.h:31984
Timestamp eventTime() const noexcept
Date and time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:21150
IncrementalRefreshDailyStatistics49(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:25181
ThisType & setEntryTime(Timestamp value) noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:15332
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:20912
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:13966
OrderIDEntries orderIdEntries(OrderIDEntries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:6663
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:12692
ThisType & setCollateralMarketPrice(PRICE9 value) noexcept
Market price of the collateral, either from external market sources or a result of trading activity o...
Definition: Messages.h:7745
StrRef underlyingIssuer() const noexcept
Underlying Security&#39;s Issuer.
Definition: Messages.h:3236
ThisType & setMainFraction(UInt8 value) noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:19988
UInt32 rptSeq() const noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:12439
static constexpr UpdateActionNew updateAction() noexcept
Market Data update action.
Definition: Messages.h:15149
StrRef settlCurrency() const noexcept
Identifies currency used for settlement, if different from trade price currency.
Definition: Messages.h:29781
ThisType & setMatchAlgorithm(CHAR value) noexcept
Matching algorithm.
Definition: Messages.h:22364
UInt8 pricePrecision() const noexcept
Specifies price decimal precision for EBS instrument.
Definition: Messages.h:9533
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:30272
ThisType & setOpenCloseSettlFlag(OpenCloseSettlFlag::Enum value) noexcept
Flag that additionally describes a market data entry.
Definition: Messages.h:14279
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:6869
EventType::Enum eventType() const noexcept
Code to represent the type of event.
Definition: Messages.h:28477
ThisType & setRptSeq(UInt32 value) noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:26632
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:14123
static constexpr SecurityIDSource securityIdSource() noexcept
Identifies class or source of tag 48-SecurityID value.
Definition: Messages.h:19746
InstAttrib instAttrib(InstAttrib::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:23101
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:24670
bool unitOfMeasureQty(Decimal9 &value) const noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:4416
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:24853
EventType::Enum eventType() const noexcept
Code to represent the type of event.
Definition: Messages.h:8219
ThisType & setMinPriceIncrementAmount(PRICE9 value) noexcept
Monetary value equivalent to the minimum price fluctuation.
Definition: Messages.h:29931
ThisType & setLegPrice(PRICE9 value) noexcept
Price for the future leg of a UDS Covered instrument.
Definition: Messages.h:21740
Int32 numberOfOrders() const noexcept
The total number of real orders per instrument that participated in a match step within a match event...
Definition: Messages.h:11693
ThisType & setUnderlyingProduct(UInt8 value) noexcept
Product complex.
Definition: Messages.h:9191
Events events(Events::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:23028
ThisType & setFlowScheduleType(Int8 value) noexcept
The schedule according to which the electricity is delivered in a physical contract, or priced in a financial contract.
Definition: Messages.h:20510
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:14797
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:19355
StrRef settlType() const noexcept
For SPOTs will contain 0.
Definition: Messages.h:9768
ThisType & setUnderlyingProduct(UInt8 value) noexcept
Product complex.
Definition: Messages.h:22076
bool numberOfOrders(Int32 &value) const noexcept
In Book entry - aggregate number of orders at given price level.
Definition: Messages.h:13516
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:27030
Legs legs(Legs::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:23198
ThisType & setUnderlyingSecurityAltIdSource(SecurityAltIDSource::Enum value) noexcept
Identifies class or source of the UnderlyingSecurityAltID (458) value.
Definition: Messages.h:7711
ThisType & setUnderlyingFinancialInstrumentFullName(StrRef value) noexcept
Long Name of the Underlying Instrument.
Definition: Messages.h:3177
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:25858
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:6356
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:26211
ThisType & setUnitOfMeasure(StrRef value) noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:20080
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:10682
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:28167
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential static value for price banding.
Definition: Messages.h:13859
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:28443
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:6243
RelatedSymEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:27908
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:31179
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:12383
StrRef fxBenchmarkRateFix() const noexcept
Fixing Rate Description.
Definition: Messages.h:9817
SbeGroup< RelatedSymEntry, GroupSize, MessageSize > RelatedSym
Repeating group containing RelatedSymEntry entries.
Definition: Messages.h:28099
bool tradingReferencePrice(PRICE9 &value) const noexcept
Reference price - the most recently available Settlement whether it be Theoretical, Preliminary or a Final Settle of the session.
Definition: Messages.h:30148
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Indicates trade session date corresponding to a statistic entry.
Definition: Messages.h:25009
ThisType & setTradeDate(Timestamp value) noexcept
Trade session date sent as number of days since Unix epoch.
Definition: Messages.h:14567
ThisType & setTickRule(Int8 value) noexcept
VTT code referencing variable tick table.
Definition: Messages.h:29982
ThisType & setTradingReferencePrice(PRICE9 value) noexcept
Reference price - the most recently available Settlement whether it be Theoretical, Preliminary or a Final Settle of the session.
Definition: Messages.h:30159
bool totNumReports(UInt32 &value) const noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:658
Legs legs(Legs::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:23187
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:15716
SbeGroup< InstAttribEntry, GroupSize, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:21460
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:14145
ThisType & setEntryPx(PRICE9 value) noexcept
Order price.
Definition: Messages.h:5794
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:14130
StrRef currency() const noexcept
Identifies currency used for price.
Definition: Messages.h:29707
bool underlyingSecurityAltIdSource(SecurityAltIDSource::Enum &value) const noexcept
Identifies class or source of the UnderlyingSecurityAltID (458) value.
Definition: Messages.h:3128
SbeGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:21341
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:13164
StrRef securityExchange() const noexcept
Exchange used to identify a security.
Definition: Messages.h:4081
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:25319
InstAttrib instAttrib(InstAttrib::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:30524
InstrumentDefinitionFixedIncome57 ThisType
This type alias.
Definition: Messages.h:43
ChannelReset4(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:18004
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:21641
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:17184
StrRef strikeCurrency() const noexcept
Currency in which the StrikePrice is denominated.
Definition: Messages.h:29758
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:13242
OrderIDEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:10975
AdminHeartbeat302(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:14946
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:10878
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:12104
InstAttrib instAttrib(InstAttrib::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:2120
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:15698
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:27969
Number of data blocks listed in the Incremental message.
Definition: Messages.h:6850
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:24694
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:16404
ThisType & setQuoteReqId(StrRef value) noexcept
Quote Request ID defined by the exchange.
Definition: Messages.h:28188
IncrementalRefreshTicker304(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:16097
AdminLogin15(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:18472
bool priceDisplayFormat(UInt8 &value) const noexcept
Number of decimals in fractional display price.
Definition: Messages.h:22468
Indicates the number of repeating symbols specified.
Definition: Messages.h:27889
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:13905
bool priceLevel(Int8 &value) const noexcept
Aggregate book position.
Definition: Messages.h:27158
LotTypeRules lotTypeRules(LotTypeRules::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:20796
ThisType & setDisplayFactor(Decimal9 value) noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:29962
IncrementalRefreshVolume37 ThisType
This type alias.
Definition: Messages.h:26530
ThisType & setEntrySize(UInt64 value) noexcept
Consolidated trade quantity, notional.
Definition: Messages.h:11639
StrRef settlementLocale() const noexcept
Settlement Locale.
Definition: Messages.h:10010
ThisType & setPriceQuoteCurrency(StrRef value) noexcept
Local (counter) currency.
Definition: Messages.h:9419
LotTypeRulesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:450
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:8058
CollateralMarketValue62(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:7903
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Indicates session date corresponding to the settlement price in tag 1150-TradingReferencePrice.
Definition: Messages.h:22859
Timestamp entryTime() const noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:15322
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:14766
EntryType::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:14300
ThisType & setEntryType(EntryTypeStatistics::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:13041
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:15531
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:15006
Timestamp lastUpdateTime() const noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:19517
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:21898
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:5729
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current state of the instrument.
Definition: Messages.h:29410
#define ONIXS_CONFLATEDTCP_NOTHROW
Definition: Compiler.h:189
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:17435
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:13728
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:24455
bool lowLimitPrice(PRICE9 &value) const noexcept
Lower price threshold for the instrument.
Definition: Messages.h:7363
SecurityUpdateAction::Enum securityUpdateAction() const noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:9057
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:19089
bool entrySize(UInt64 &value) const noexcept
Indicative Opening Quantity.
Definition: Messages.h:12908
ThisType & setCouponRate(Decimal9 value) noexcept
The rate of interest that, when multiplied by the principal, par value, or face value of a bond...
Definition: Messages.h:1610
ThisType & setDisplayQty(Int32 value) noexcept
Visible qty of order.
Definition: Messages.h:24348
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:28573
ThisType & setSecurityType(StrRef value) noexcept
Security Type.
Definition: Messages.h:959
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:18104
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:6494
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:13256
ThisType & setAggressorIndicator(AggressorFlag::Enum value) noexcept
Aggressor Indicator 1=Aggressor Order 0=Passive Order.
Definition: Messages.h:6306
UInt32 rptSeq() const noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:26067
bool underlyingMaxLifeTime(UInt8 &value) const noexcept
Max life time of the underlying instruments qualifying for the GC basket in number of year...
Definition: Messages.h:3261
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:18313
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:15118
IntegralConstant< UInt16, 65535 > NullLocalMktDate
Null value for an optional LocalMktDate field.
Definition: Fields.h:1764
Timestamp transactTime() const noexcept
Event time, sent in number of nanoseconds since Unix epoch.
Definition: Messages.h:17658
EventIndicator matchEventIndicator() const noexcept
End of updates indicator.
Definition: Messages.h:15464
Events events(Events::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:10182
ThisType & setClearedVolume(Int32 value) noexcept
The total cleared volume of instrument traded during the prior trading session.
Definition: Messages.h:30212
bool lowLimitPrice(PRICE9 &value) const noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:1394
IncrementalRefreshSessionStatistics51 ThisType
This type alias.
Definition: Messages.h:25971
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:26015
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:7831
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:7500
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:26860
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:23827
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:25266
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current state of the instrument.
Definition: Messages.h:22004
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:8050
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:30301
ThisType & setRelatedSymbol(StrRef value) noexcept
Related instrument Symbol.
Definition: Messages.h:29185
ThisType & setTradeableSize(Int32 value) noexcept
Tradeable qty.
Definition: Messages.h:6971
ThisType & setUnderlyingProduct(UInt8 value) noexcept
Indicates the product complex.
Definition: Messages.h:29482
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:16849
SbeGroup< InstAttribEntry, GroupSize, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:2815
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:28337
IncrementalRefreshTradeSummary48(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:31430
StrRef cfiCode() const noexcept
ISO standard instrument categorization code.
Definition: Messages.h:4221
ThisType & setDecayStartDate(Timestamp value) noexcept
Indicates the date at which a decaying contract will begin to decay.
Definition: Messages.h:20378
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:15574
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential value for price banding.
Definition: Messages.h:1423
static constexpr EntryTypeVol entryType() noexcept
Electronic Volume entry provides cumulative session trade volume updated with the event...
Definition: Messages.h:26665
ThisType & setSymbol(StrRef value) noexcept
Unique instrument symbol.
Definition: Messages.h:16691
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:7532
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:19435
IntegralConstant< Char, 'e'> EntryTypeVol
MDEntryTypeVol.
Definition: Fields.h:85
bool tradeDate(Timestamp &value) const noexcept
Trade Date.
Definition: Messages.h:6517
SbeGroup< BrokenDatesEntry, GroupSize, MessageSize > BrokenDates
Repeating group containing BrokenDatesEntry entries.
Definition: Messages.h:3825
InstAttribEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:19134
ThisType & setPriceQuoteMethod(StrRef value) noexcept
Price quotation method.
Definition: Messages.h:1875
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Lower price threshold for the instrument.
Definition: Messages.h:27636
ThisType & setPriceDisplayFormat(UInt8 value) noexcept
Number of decimals in fractional display price.
Definition: Messages.h:20046
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:31639
CHAR matchAlgorithm() const noexcept
Matching Algorithm - CME assigned values.
Definition: Messages.h:4287
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:26889
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:32399
ThisType & setUnderlyingSymbol(StrRef value) noexcept
Underlying Instrument Symbol (Contract Name).
Definition: Messages.h:29046
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:7491
bool underlyingMaturityDate(Timestamp &value) const noexcept
Underlying Security&#39;s Maturity Date.
Definition: Messages.h:3358
ThisType & setMarketDepth(Int8 value) noexcept
Identifies the depth of book.
Definition: Messages.h:21292
ThisType & setMinPriceIncrement(PRICE9 value) noexcept
Minimum constant tick for the instrument, sent only if instrument is non-VTT (Variable Tick table) el...
Definition: Messages.h:1110
ThisType & setMarketSegmentId(UInt8 value) noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:9171
EventsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:69
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:18348
ThisType & setInstAttribValue(InstAttribValue value) noexcept
Bitmap field of 32 Boolean type instrument eligibility flags.
Definition: Messages.h:19181
ThisType & setDisplayQty(Int32 value) noexcept
Visible order qty.
Definition: Messages.h:32488
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:12858
ThisType & setEventTime(Timestamp value) noexcept
Date and Time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:28508
bool legOptionDelta(DecimalQty &value) const noexcept
Delta used to calculate the quantity of futures used to cover the option or option strategy...
Definition: Messages.h:21761
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:28933
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:24270
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:31500
EntryTypeDailyStatistics::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:25072
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:18883
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:14105
ThisType & setRptSeq(UInt32 value) noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:26076
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:17958
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:22703
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:7986
bool orderQty(Int32 &value) const noexcept
Quantity requested.
Definition: Messages.h:27980
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:32058
FeedTypes feedTypes(FeedTypes::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:10222
bool lowLimitPrice(PRICE9 &value) const noexcept
Lower price threshold for the instrument.
Definition: Messages.h:25518
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential value for price banding.
Definition: Messages.h:4582
ThisType & setDisplayQty(Int32 value) noexcept
Visible qty of order.
Definition: Messages.h:5814
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:18760
EntryTypeBook::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:10889
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:16771
UInt8 marketSegmentId() const noexcept
Identifies the market segment for all CME Globex instruments.
Definition: Messages.h:4040
ThisType & setOrderPriority(UInt64 value) noexcept
Order priority for execution on the order book.
Definition: Messages.h:24319
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:13433
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:7288
ThisType & setCouponDayCount(StrRef value) noexcept
The day count convention used in interest calculations for a bond or an interest bearing security...
Definition: Messages.h:1726
FeedTypes feedTypes(FeedTypes::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:23057
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:10689
IncrementalRefreshTradeSummaryLongQty65(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:12018
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:23225
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:8708
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:32178
bool highLimitPrice(PRICE9 &value) const noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:30292
bool entrySize(UInt64 &value) const noexcept
Market Data entry size.
Definition: Messages.h:14174
bool altPriceIncrementConstraint(PRICE9 &value) const noexcept
Minimum price offset better than the best Standard Tick order for an order to be allowed into the mar...
Definition: Messages.h:10100
bool underlyingSecurityId(Int32 &value) const noexcept
Underlying Security ID as qualified by tag 305-UnderlyingSecurityIDSource.
Definition: Messages.h:3053
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:23954
ThisType & setSettlCurrency(StrRef value) noexcept
Identifies currency used for settlement.
Definition: Messages.h:4275
ThisType & setRptSeq(UInt32 value) noexcept
Sequence number of the last Market Data entry processed for the instrument.
Definition: Messages.h:27472
ThisType & setMaturityMonthYear(MaturityMonthYear value) noexcept
This field provides the actual calendar date for contract maturity.
Definition: Messages.h:19809
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential value for price banding.
Definition: Messages.h:14682
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:31387
ThisType & setTradeableSize(Int32 value) noexcept
Tradeable qty.
Definition: Messages.h:24175
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:13227
UInt8 marketSegmentId() const noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:22046
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:6716
bool securityAltIdSource(SecurityAltIDSource::Enum &value) const noexcept
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:1832
SettlPriceType settlPriceType() const noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:22611
static constexpr InstAttribType instAttribType() noexcept
Instrument Eligibility Attributes.
Definition: Messages.h:28740
ThisType & setOrderUpdateAction(OrderUpdateAction::Enum value) noexcept
Order book update action to be applied to the order referenced by OrderID.
Definition: Messages.h:24411
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:5965
ThisType & setEntryType(EntryTypeBook::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:32005
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential static value for price banding.
Definition: Messages.h:25547
ThisType & setReferenceId(UInt8 value) noexcept
Reference to corresponding Price and SecurityID, sequence of MD entry in the message.
Definition: Messages.h:11095
UnderlyingsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2987
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:15705
IncrementalRefreshSpectrum303(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:15402
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:30687
bool underlyingProduct(UInt8 &value) const noexcept
Product complex.
Definition: Messages.h:22067
ThisType & setInterveningDays(UInt16 value) noexcept
For SPOT, number of business days between trade date and value (settlement) date. ...
Definition: Messages.h:9806
ThisType & setSecuritySubType(StrRef value) noexcept
Strategy type.
Definition: Messages.h:22321
static constexpr UpdateTypeNew updateAction() noexcept
Market Data update action.
Definition: Messages.h:17881
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:26677
SecurityStatus30(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:23539
ThisType & setTransactTime(Timestamp value) noexcept
Timestamp of the last event security participated in, sent as number of nanoseconds since Unix epoch...
Definition: Messages.h:14516
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:1403
ThisType & setTransactTime(Timestamp value) noexcept
Event time, sent in number of nanoseconds since Unix epoch.
Definition: Messages.h:17667
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:14452
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:25997
StrRef riskSet() const noexcept
Risk Set identifies the list of instruments sharing credit limits set up.
Definition: Messages.h:22902
UInt64 brokenDateGUId() const noexcept
External unique broken date Instrument ID.
Definition: Messages.h:3671
ThisType & setSecurityAltIdSource(SecurityAltIDSource::Enum value) noexcept
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:1844
StrRef cfiCode() const noexcept
ISO standard instrument categorization code.
Definition: Messages.h:19776
ThisType & setOrderId(UInt64 value) noexcept
Unique Order ID.
Definition: Messages.h:32419
EventType::Enum eventType() const noexcept
Code to represent the type of event.
Definition: Messages.h:2486
bool referenceId(UInt8 &value) const noexcept
Reference to corresponding Price and SecurityID, sequence of MD entry in the message.
Definition: Messages.h:11085
HaltReason::Enum haltReason() const noexcept
Indicates halt reason status due to surveillance activity.
Definition: Messages.h:6598
StrRef financialInstrumentFullName() const noexcept
Long name of the instrument.
Definition: Messages.h:4602
SbeGroup< InstAttribEntry, GroupSize, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:28808
ThisType & setSettlPriceType(SettlPriceType value) noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:22621
IncrementalRefreshTradeSummaryLongQty65(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:12006
ThisType & setSubFraction(UInt8 value) noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:30040
SnapshotRefreshSpectrum305 ThisType
This type alias.
Definition: Messages.h:16360
bool aggressorSide(AggressorSide::Enum &value) const noexcept
Indicates which side is the aggressor or if there is no aggressor.
Definition: Messages.h:31146
bool underlyingSecurityAltIdSource(SecurityAltIDSource::Enum &value) const noexcept
Identifies class or source of the UnderlyingSecurityAltID (458) value.
Definition: Messages.h:7699
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:32772
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:27728
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:7859
IncrementalRefreshTradeSummaryLongQty65 ThisType
This type alias.
Definition: Messages.h:11552
UInt32 rptSeq() const noexcept
Sequence number of the last Market Data entry processed for the instrument.
Definition: Messages.h:27462
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:17936
StrRef securityGroup() const noexcept
Security Group.
Definition: Messages.h:23572
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:21120
bool tradeableSize(Int32 &value) const noexcept
Tradeable qty.
Definition: Messages.h:24166
ThisType & setPriceQuoteMethod(StrRef value) noexcept
Price quotation method.
Definition: Messages.h:22889
SnapshotRefreshSpectrum305(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:16591
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:12031
Int32 brokenDateSecurityId() const noexcept
Broken date Instrument Globex Security ID.
Definition: Messages.h:3691
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:10869
StrRef securityExchange() const noexcept
Exchange used to identify a security.
Definition: Messages.h:19637
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:25765
bool referenceId(UInt8 &value) const noexcept
Reference to corresponding Price and Security ID, sequence of MD entry in the message.
Definition: Messages.h:24369
ThisType & setInstAttribValue(InstAttribValue value) noexcept
Bitmap field of 32 Boolean type Instrument eligibility flags.
Definition: Messages.h:28759
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:18529
bool tradingReferenceDate(Timestamp &value) const noexcept
Indicates session date corresponding to the price in tag 1150-TradingReferencePrice.
Definition: Messages.h:4476
Int32 numberOfOrders() const noexcept
The total number of real orders per instrument that participated in a match step within a match event...
Definition: Messages.h:31123
bool highLimitPrice(PRICE9 &value) const noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:9610
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:8670
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:32233
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:7946
static constexpr InstAttribType instAttribType() noexcept
Instrument Eligibility Attributes.
Definition: Messages.h:21392
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:25098
Int16 applId() const noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:29431
IntegralConstant< Int8, 127 > NullInt8
Null value for an optional Int8 field.
Definition: Fields.h:1758
PRICE9 minPriceIncrement() const noexcept
Minimum constant tick for the instrument, sent only if instrument is non-VTT (Variable Tick table) el...
Definition: Messages.h:19936
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:5943
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:32822
ThisType & setCountryOfIssue(StrRef value) noexcept
Country of Origin, ISO alpha-2 country code.
Definition: Messages.h:1748
IntegralConstant< Char, '8'> SecurityIDSource
SecurityIDSource.
Definition: Fields.h:119
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:18579
ThisType & setSecurityExchange(StrRef value) noexcept
Exchange used to identify a security.
Definition: Messages.h:842
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:32669
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:25203
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:13440
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:25742
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:19020
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:16520
InstrumentDefinitionOption55 ThisType
This type alias.
Definition: Messages.h:28424
ThisType & setMainFraction(UInt8 value) noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:30011
bool originalContractSize(Int32 &value) const noexcept
Fixed contract value assigned to each product.
Definition: Messages.h:20398
ThisType & setUnderlyingIssuer(StrRef value) noexcept
Underlying Security&#39;s Issuer.
Definition: Messages.h:3247
StrRef currency() const noexcept
Identifies currency used for price.
Definition: Messages.h:19829
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:26926
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current state of the instrument.
Definition: Messages.h:3987
ThisType & setUnderlyingCountryOfIssue(StrRef value) noexcept
Underlying Security&#39;s CountryOfIssue.
Definition: Messages.h:3223
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:4524
SnapshotFullRefreshTCP61 ThisType
This type alias.
Definition: Messages.h:6843
RelatedSym relatedSym(RelatedSym::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:28245
ThisType & setNumberOfOrders(Int32 value) noexcept
Aggregate number of orders at the given price level.
Definition: Messages.h:27138
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:18890
EncodedLength calculateBinarySize() const noexcept
Definition: Messages.h:18808
IncrementalRefreshSessionStatisticsLongQty67(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:13141
SbeGroup< InstAttribEntry, GroupSize, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:427
OrderIDEntries orderIdEntries(OrderIDEntries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:12150
UInt32 minTradeVol() const noexcept
The minimum trading volume for a security.
Definition: Messages.h:4307
ThisType & setCfiCode(StrRef value) noexcept
ISO standard instrument categorization code.
Definition: Messages.h:19786
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:18737
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current market state of the instrument.
Definition: Messages.h:749
HaltReason::Enum haltReason() const noexcept
Identifies the reason for the status change.
Definition: Messages.h:23744
ThisType & setEntrySize(Int32 value) noexcept
Market Data entry size.
Definition: Messages.h:24013
bool entrySize(UInt64 &value) const noexcept
Market Data entry size.
Definition: Messages.h:15881
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:32559
ThisType & setNumberOfOrders(Int32 value) noexcept
In Book entry - aggregate number of orders at given price level.
Definition: Messages.h:13528
InstrumentDefinitionRepo58(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:3860
StrRef symbol() const noexcept
Instrument Name or Symbol.
Definition: Messages.h:19703
AdminHeartbeat302(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:14932
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:3894
SbeGroup< LotTypeRulesEntry, GroupSize, MessageSize > LotTypeRules
Repeating group containing LotTypeRulesEntry entries.
Definition: Messages.h:2964
bool minLotSize(DecimalQty &value) const noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:19307
bool minCabPrice(PRICE9 &value) const noexcept
Defines cabinet price for outright options products.
Definition: Messages.h:29804
StrRef settlCurrency() const noexcept
Identifies currency used for settlement, if different from trading currency.
Definition: Messages.h:19852
SnapshotFullRefreshTCP61(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:7243
IncrementalRefreshOrderBook47(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:32079
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:342
StrRef feedType() const noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:19030
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:8290
SnapshotFullRefreshLongQty69(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:14379
ThisType & setAltMinQuoteLife(UInt32 value)
MQL duration in number of microseconds applied to orders at AltMinPriceIncrement. ...
Definition: Messages.h:10079
Timestamp lastUpdateTime() const noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:9082
SbeGroupEntry< GroupSize8Byte::BlockLength > Base
Base class type.
Definition: Messages.h:31294
IncrementalRefreshSessionStatisticsLongQty67(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:13115
ThisType & setOrderPriority(UInt64 value) noexcept
Order priority for execution on the order book.
Definition: Messages.h:32439
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:26291
#define ONIXS_CONFLATEDTCP_CONST_OR_CONSTEXPR
Definition: Compiler.h:191
ThisType & setLotType(Int8 value) noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:28871
SnapshotRefreshTopOrders59(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:5906
SbeGroup< LotTypeRulesEntry, GroupSize, MessageSize > LotTypeRules
Repeating group containing LotTypeRulesEntry entries.
Definition: Messages.h:8692
bool subFraction(UInt8 &value) const noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:1181
Decimal9 displayFactor() const noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:4368
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:32392
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:2470
ThisType & setRptSeq(UInt32 value) noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:25605
EntryTypeBook::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:5825
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:5885
bool priceDisplayFormat(UInt8 &value) const noexcept
Number of decimals in fractional display price.
Definition: Messages.h:30060
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:25060
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:24900
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current state of the instrument.
Definition: Messages.h:21992
ThisType & setIssueDate(Timestamp value) noexcept
Issue Date.
Definition: Messages.h:1501
bool openInterestQty(Int32 &value) const noexcept
The total open interest for the market at the close of the prior trading session. ...
Definition: Messages.h:20179
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:13931
ThisType & setTradingReferencePrice(PRICE9 value) noexcept
Trading Reference price.
Definition: Messages.h:4455
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:15861
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Lower price threshold for the instrument.
Definition: Messages.h:13839
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:6433
bool priceLevel(Int8 &value) const noexcept
Aggregate book price level, number from 1 to 10.
Definition: Messages.h:7026
InstAttrib instAttrib(InstAttrib::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:20762
EntryTypeStatistics::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:13031
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:11313
Int32 securityId() const noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:17387
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:32021
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
Financial instrument long name.
Definition: Messages.h:15189
UnderlyingsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:28978
UInt32 rptSeq() const noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:12957
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:11262
Char UserDefinedInstrument
Type alias for the UserDefinedInstrument.
Definition: Fields.h:127
StrRef fixRateLocalTimeZone() const noexcept
Fixing Rate Local Time Zone corresponding to Fixing Local Time.
Definition: Messages.h:9884
ThisType & setSecurityId(Int32 value) noexcept
Unique instrument ID.
Definition: Messages.h:9299
ThisType & setNumberOfOrders(Int32 value) noexcept
In Book entry - aggregate number of orders at given price level.
Definition: Messages.h:10829
ThisType & setAltPriceIncrementConstraint(PRICE9 value)
Minimum price offset better than the best Standard Tick order for an order to be allowed into the mar...
Definition: Messages.h:10111
StrRef securityExchange() const noexcept
Exchange used to identify a security.
Definition: Messages.h:22096
EntryTypeBook::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:31995
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:16212
SecurityUpdateAction::Enum securityUpdateAction() const noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:21944
Int32 securityId() const noexcept
Unique Instrument ID.
Definition: Messages.h:29583
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:21113
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:4553
bool endDate(Timestamp &value) const noexcept
End date of a financing deal, i.e.
Definition: Messages.h:4688
LotTypeRulesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2838
InstAttrib instAttrib(InstAttrib::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:5103
ThisType & setSymbol(StrRef value) noexcept
Unique instrument Symbol.
Definition: Messages.h:15211
Int32 underlyingSecurityId() const noexcept
Unique Instrument ID as qualified by the exchange per tag 305-UnderlyingSecurityIDSource.
Definition: Messages.h:29006
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:28772
ThisType & setSymbol(StrRef value) noexcept
Unique instrument Symbol.
Definition: Messages.h:15798
bool displayQty(Int32 &value) const noexcept
Visible qty of order.
Definition: Messages.h:24339
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:25135
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:15819
StrRef asset() const noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:19681
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:17450
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:16712
static constexpr BlockLength minimalBlockLength(SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:10382
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:15232
bool instrumentGUId(UInt64 &value) const noexcept
External unique instrument ID.
Definition: Messages.h:9951
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:7868
EntryType::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:27282
ThisType & setEventTime(Timestamp value) noexcept
Date and Time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:8250
static constexpr EntryTypeLimits entryType() noexcept
Market Data entry type.
Definition: Messages.h:25628
bool tradingReferencePrice(PRICE9 &value) const noexcept
Trading Reference Price.
Definition: Messages.h:1296
ThisType & setEntryPx(PRICE9 value) noexcept
Price of the Market Data Entry.
Definition: Messages.h:6913
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:32761
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:26692
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:8340
ThisType & setTradeEntryId(UInt32 value) noexcept
Market Data Trade entry ID.
Definition: Messages.h:31217
SbeGroup< LotTypeRulesEntry, GroupSize, MessageSize > LotTypeRules
Repeating group containing LotTypeRulesEntry entries.
Definition: Messages.h:28955
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:12372
MessageSize EncodedLength
Length of the message binary data.
Definition: SbeMessage.h:1100
ThisType & setStreamId(PriceSource::Enum value) noexcept
Source of the Clean Price.
Definition: Messages.h:7807
SpectrumEntryType::Enum entryType() const noexcept
Market Data entry type, identifies the element.
Definition: Messages.h:15157
ThisType & setUnderlyingSecurityAltIdSource(SecurityAltIDSource::Enum value) noexcept
Identifies class or source of the UnderlyingSecurityAltID (458) value.
Definition: Messages.h:3140
ThisType & setSecuritySubType(RepoSubType::Enum value) noexcept
Repo Sub Security Type.
Definition: Messages.h:4761
ThisType & setTradingReferencePrice(PRICE9 value) noexcept
Trading Reference Price.
Definition: Messages.h:1305
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:31648
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:28212
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:5997
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:18130
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:15566
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:11273
StrRef securityGroup() const noexcept
Security Group Code.
Definition: Messages.h:4103
ThisType & setSecurityId(Int32 value) noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:16732
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:5718
StrRef underlyingCountryOfIssue() const noexcept
Underlying Security&#39;s CountryOfIssue.
Definition: Messages.h:3212
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:9648
StrRef couponFrequencyUnit() const noexcept
Time unit associated with the frequency of the bond&#39;s coupon payment.
Definition: Messages.h:1660
ThisType & setMinTradeVol(UInt32 value) noexcept
The minimum trading volume for a security.
Definition: Messages.h:4316
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:2942
StrRef financialInstrumentFullName() const noexcept
Financial Instrument long name.
Definition: Messages.h:17323
Int8 lotType() const noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:21513
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:31005
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:5354
RepoSubType::Enum securitySubType() const noexcept
Repo Sub Security Type.
Definition: Messages.h:4752
bool highLimitPrice(PRICE9 &value) const noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:22694
EntryType::Enum entryType() const noexcept
Market Data Entry Type.
Definition: Messages.h:7088
SbeGroup< LotTypeRulesEntry, GroupSize, MessageSize > LotTypeRules
Repeating group containing LotTypeRulesEntry entries.
Definition: Messages.h:576
bool totNumReports(UInt32 &value) const noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:19459
StrRef underlyingSymbol() const noexcept
Underlying Instrument Symbol (Contract Name).
Definition: Messages.h:29036
IncrementalRefreshBook46(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:24485
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:20278
IncrementalRefreshDailyStatistics49(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:25170
SecurityStatusWorkup60 ThisType
This type alias.
Definition: Messages.h:6199
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:24891
AdminLogout16(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:18662
ThisType & setBrokenDateStart(Timestamp value) noexcept
Start date of a broken date period.
Definition: Messages.h:3729
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:31816
ThisType & setMarketSegmentId(UInt8 value) noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:19606
FeedTypesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:8322
StrRef symbol() const noexcept
Instrument Name or Symbol.
Definition: Messages.h:27938
StrRef financialInstrumentFullName() const noexcept
Financial instrument long name.
Definition: Messages.h:16659
OrderIDEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:24259
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:28989
SecurityUpdateAction::Enum securityUpdateAction() const noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:29350
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:7654
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:16247
ThisType & setMinPriceIncrement(PRICE9 value) noexcept
Minimum constant tick for the instrument, sent only if instrument is non-VTT (Variable Tick table) el...
Definition: Messages.h:19946
EntryTypeBook::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:24144
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:16040
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:13288
EventsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:28450
bool tickRule(Int8 &value) const noexcept
VTT code referencing variable tick table.
Definition: Messages.h:29973
EventType::Enum eventType() const noexcept
Code to represent the type of event.
Definition: Messages.h:21129
ThisType & setSecurityType(StrRef value) noexcept
Security Type.
Definition: Messages.h:19764
ThisType & setOrderId(UInt64 value) noexcept
Unique Order ID.
Definition: Messages.h:24299
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:6218
SbeGroup< LotTypeRulesEntry, GroupSize, MessageSize > LotTypeRules
Repeating group containing LotTypeRulesEntry entries.
Definition: Messages.h:21607
bool totNumReports(UInt32 &value) const noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:9024
Timestamp eventTime() const noexcept
Date and Time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:8240
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:23686
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:23936
ThisType & setPriceRatio(PRICE9 value) noexcept
Used for price calculation in spread and leg pricing.
Definition: Messages.h:22506
ChannelReset4(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:17979
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:28786
ThisType & setOpenCloseSettlFlag(PreviousDayFlag::Enum value) noexcept
Previous day elements, Global or Regional, will contain the value 4 - entry from previous business da...
Definition: Messages.h:17106
ThisType & setUserDefinedInstrument(UserDefinedInstrument value) noexcept
User-defined instrument flag.
Definition: Messages.h:4857
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:32813
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:26008
SnapshotRefreshTopOrders59(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:5931
FeedTypesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:19002
bool entryPx(PRICE9 &value) const noexcept
Workup price.
Definition: Messages.h:6444
ThisType & setUnitOfMeasure(StrRef value) noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:30103
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:25805
bool highLimitPrice(PRICE9 &value) const noexcept
Upper price threshold for the instrument.
Definition: Messages.h:7332
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:26794
Timestamp transactTime() const noexcept
Timestamp of the last publication event instrument participated in, sent in number of nanoseconds sin...
Definition: Messages.h:16615
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:5953
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:31668
UInt32 totNumReports() const noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:14442
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:540
Events events(Events::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:2036
ThisType & setCfiCode(StrRef value) noexcept
ISO standard instrument categorization code.
Definition: Messages.h:981
SbeGroup< UnderlyingsEntry, GroupSize, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:3436
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:26906
IncrementalRefreshBook46(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:24510
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:13415
UInt32 maxTradeVol() const noexcept
The maximum trading volume for a security.
Definition: Messages.h:9471
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:19341
ThisType & setTradeDate(Timestamp value) noexcept
Trade session date sent as number of days since Unix epoch.
Definition: Messages.h:27545
bool priceRatio(PRICE9 &value) const noexcept
Used for price calculation in spread and leg pricing.
Definition: Messages.h:22497
CollateralMarketValue62(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:7889
StrRef securityAltId() const noexcept
ISIN value as provided by ANNA, Association of National Numbering Agencies.
Definition: Messages.h:8868
UInt32 maxTradeVol() const noexcept
The maximum trading volume for a security.
Definition: Messages.h:19915
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
EBS instrument long name.
Definition: Messages.h:9729
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:27713
ThisType & setSecurityGroup(StrRef value) noexcept
Security Group Code.
Definition: Messages.h:864
LotTypeRulesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:21483
SbeGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:176
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:19145
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:23213
ThisType & setMainFraction(UInt8 value) noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:1161
static constexpr InstAttribType instAttribType() noexcept
Instrument eligibility attributes.
Definition: Messages.h:8480
SbeGroup< InstAttribEntry, GroupSize, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:19230
IntegralConstant< UInt64, 18446744073709551615ULL > NullUInt64
Null value for an optional UInt64 field.
Definition: Fields.h:1782
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:19127
ThisType & setOpenInterestQty(Int32 value) noexcept
The total open interest for the market at the close of the prior trading session. ...
Definition: Messages.h:30243
SnapshotFullRefreshOrderBook53(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:32580
ThisType & setSymbol(StrRef value) noexcept
Instrument Name or Symbol. Previously used as Group Code.
Definition: Messages.h:22172
ThisType & setUnitOfMeasure(StrRef value) noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:4403
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:12390
EventsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:8192
ThisType & setSecurityUpdateAction(SecurityUpdateAction::Enum value) noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:21956
IncrementalRefreshOrderBook47(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:32093
bool instrumentGUId(UInt64 &value) const noexcept
External unique instrument ID.
Definition: Messages.h:1979
static constexpr SecurityIDSource securityIdSource() noexcept
Identifies class or source of tag 48-SecurityID value.
Definition: Messages.h:9311
Timestamp entryTime() const noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:15911
EntryTypeBook::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:32499
UInt32 maxTradeVol() const noexcept
The maximum trading volume for a security.
Definition: Messages.h:29873
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:16971
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:26301
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:3631
InstrumentDefinitionFX63 ThisType
This type alias.
Definition: Messages.h:8163
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:12612
ThisType & setMaturityDate(Timestamp value) noexcept
For Spot instruments will not contain the value.
Definition: Messages.h:8846
SnapshotFullRefreshLongQty69 ThisType
This type alias.
Definition: Messages.h:14083
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:26196
ThisType & setCfiCode(StrRef value) noexcept
ISO standard instrument categorization code.
Definition: Messages.h:22246
StrRef settlCurrency() const noexcept
Identifies currency used for settlement.
Definition: Messages.h:4265
ThisType & setOrderId(UInt64 value) noexcept
Unique order identifier as assigned by the exchange.
Definition: Messages.h:31337
Decimal9 displayFactor() const noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:22447
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:26574
ThisType & setMatchEventIndicator(EventIndicator value) noexcept
End of updates indicator.
Definition: Messages.h:15477
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:28591
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:25794
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:17513
UInt32 rptSeq() const noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:14484
LotTypeRules lotTypeRules(LotTypeRules::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:30558
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:87
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:24124
UserDefinedInstrument userDefinedInstrument() const noexcept
User-defined instruments flag.
Definition: Messages.h:20559
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:9960
ThisType & setEventTime(Timestamp value) noexcept
Date and Time of instrument Activation or Expiration event sent as number of nanoseconds since Unix e...
Definition: Messages.h:127
ThisType & setLastMsgSeqNumProcessed(UInt32 value) noexcept
Sequence number of the last Incremental feed packet processed.
Definition: Messages.h:27410
bool legPrice(PRICE9 &value) const noexcept
Price for the future leg of a UDS Covered instrument.
Definition: Messages.h:21731
StrRef feedType() const noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:8349
FeedTypesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:28580
bool highLimitPrice(PRICE9 &value) const noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:4515
StrRef priceQuoteMethod() const noexcept
Price quotation method.
Definition: Messages.h:22879
ThisType & setMarketSet(StrRef value) noexcept
Market Set defines the bilateral relationship and Self Match Prevention configuration for eligible ma...
Definition: Messages.h:1967
ThisType & setSecurityId(Int32 value) noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:15252
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:80
ThisType & setEntrySize(UInt64 value) noexcept
Cumulative traded volume, notional.
Definition: Messages.h:12408
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:26898
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:31467
static constexpr SecurityIDSource securityIdSource() noexcept
Identifies class or source of tag 48-SecurityID value.
Definition: Messages.h:29604
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:16556
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:16197
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:23975
FeedTypesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:21232
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:18339
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:6880
InstAttribEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:331
UInt32 rptSeq() const noexcept
Sequence number per instrument update.
Definition: Messages.h:31102
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:17768
ThisType & setMaturityMonthYear(MaturityMonthYear value) noexcept
This field provides the actual calendar date for contract maturity.
Definition: Messages.h:29687
ThisType & setMinCabPrice(PRICE9 value) noexcept
Defines cabinet price for outright options products.
Definition: Messages.h:29813
ThisType & setLastUpdateTime(Timestamp value) noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:19527
Timestamp lastUpdateTime() const noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:21969
bool totNumReports(UInt32 &value) const noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:29317
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:5368
#define ONIXS_CONFLATEDTCP_MESSAGING_MDP_NAMESPACE_BEGIN
Definition: ABI.h:148
bool priceLevel(UInt8 &value) const noexcept
Aggregate book level.
Definition: Messages.h:13548
ThisType & setSymbol(StrRef value) noexcept
Instrument Name or Symbol.
Definition: Messages.h:908
bool openCloseSettlFlag(OpenCloseSettlFlag::Enum &value) const noexcept
Flag that additionally describes market data entry type.
Definition: Messages.h:13578
InstrumentDefinitionFX63(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:8961
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:11302
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:27048
StrRef symbol() const noexcept
Unique instrument symbol.
Definition: Messages.h:16681
BrokenDatesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:3641
OrderIDEntries orderIdEntries(OrderIDEntries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:11359
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:2714
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:8526
SbeGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:308
ThisType & setOrderId(UInt64 value) noexcept
Unique order identifier as assigned by the exchange.
Definition: Messages.h:11899
ThisType & setSecurityId(Int32 value) noexcept
Unique instrument ID.
Definition: Messages.h:7320
bool lowLimitPrice(PRICE9 &value) const noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:20269
IncrementalRefreshSessionStatisticsLongQty67 ThisType
This type alias.
Definition: Messages.h:12829
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Indicates session date corresponding to the reference price in tag 1150-TradingReferencePrice.
Definition: Messages.h:1345
static constexpr SecurityIDSource underlyingSecurityIdSource() noexcept
This value is always &#39;8&#39; for CME.
Definition: Messages.h:29028
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:30675
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:13646
ThisType & setSecurityId(Int32 value) noexcept
Security ID as defined by CME.
Definition: Messages.h:31091
InstAttrib instAttrib(InstAttrib::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:30513
bool entryPx(PRICE9 &value) const noexcept
Price of the Market Data Entry.
Definition: Messages.h:6904
Timestamp transactTime() const noexcept
Timestamp of the last event security participated in, sent as number of nanoseconds since Unix epoch...
Definition: Messages.h:14506
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:12179
ThisType & setPriceDisplayFormat(UInt8 value) noexcept
Number of decimals in fractional display price.
Definition: Messages.h:22477
bool totNumReports(UInt32 &value) const noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:21911
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:2856
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:8512
IncrementalRefreshLimitsBanding50 ThisType
This type alias.
Definition: Messages.h:25432
ThisType & setDisplayFactor(Decimal9 value) noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:4378
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:286
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:31023
ThisType & setEntrySize(Int32 value) noexcept
Consolidated trade quantity.
Definition: Messages.h:31071
bool settlDate(Timestamp &value) const noexcept
Settle (Value) Date corresponding to Trade Date.
Definition: Messages.h:8784
Timestamp eventTime() const noexcept
Date and Time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:18920
ThisType & setSettlementLocale(StrRef value) noexcept
Settlement Locale.
Definition: Messages.h:10021
ThisType & setEntrySize(UInt64 value) noexcept
Market Data entry size.
Definition: Messages.h:16476
ThisType & setUserDefinedInstrument(UserDefinedInstrument value) noexcept
User-defined instruments flag.
Definition: Messages.h:20569
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:27055
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:19013
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:31477
Int32 lastQty() const noexcept
Quantity bought or sold on this last fill.
Definition: Messages.h:11910
LotTypeRulesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:8571
ThisType & setMaxNoOfSubstitutions(UInt8 value) noexcept
Max number of substitutions allowed.
Definition: Messages.h:4814
UInt8 marketSegmentId() const noexcept
Identifies the market segment for all CME Globex instruments.
Definition: Messages.h:791
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:31489
QuoteRequest39(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:28134
ThisType & setEntryType(EntryTypeBook::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:24154
StrRef riskSet() const noexcept
Risk Set identifies the list of instruments sharing credit limits set up.
Definition: Messages.h:1932
ThisType & setSubFraction(UInt8 value) noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:22819
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:18559
UInt8 marketSegmentId() const noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:9161
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:27071
ThisType & setPriceDisplayFormat(UInt8 value) noexcept
Number of decimals in fractional display price.
Definition: Messages.h:30069
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:11881
IntegralConstant< UInt8, 4 > SecurityAltIDSourceISIN
Type alias for the SecurityAltIDSourceISIN.
Definition: Fields.h:105
InstAttrib instAttrib(InstAttrib::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:2109
ThisType & setUserDefinedInstrument(UserDefinedInstrument value) noexcept
User-defined instruments flag.
Definition: Messages.h:9707
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:31269
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:14322
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:24595
ThisType & setEndDate(Timestamp value) noexcept
End date of a financing deal, i.e.
Definition: Messages.h:4708
bool aggressorSide(AggressorSide::Enum &value) const noexcept
Indicates which side is the aggressor or if there is no aggressor.
Definition: Messages.h:11736
bool minPriceIncrementAmount(PRICE9 &value) const noexcept
Monetary value equivalent to the minimum price fluctuation.
Definition: Messages.h:20530
ThisType & setLegOptionDelta(DecimalQty value) noexcept
Delta used to calculate the quantity of futures used to cover the option or option strategy...
Definition: Messages.h:21771
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:13916
bool instrumentGUId(UInt64 &value) const noexcept
External unique instrument ID.
Definition: Messages.h:20621
ThisType & setRptSeq(UInt32 value) noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:11681
UInt64 entrySize() const noexcept
Cumulative traded volume, notional.
Definition: Messages.h:12399
ThisType & setAsset(StrRef value) noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:9256
ThisType & setMaturityMonthYear(MaturityMonthYear value) noexcept
This field provides the actual calendar date for contract maturity.
Definition: Messages.h:22269
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:19152
OrderIDEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:31301
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:9000
ThisType & setUnitOfMeasure(StrRef value) noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:22565
ThisType & setQuoteType(Int8 value) noexcept
Type of quote requested.
Definition: Messages.h:28018
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:31030
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:14358
ThisType & setAsset(StrRef value) noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:4135
ThisType & setLegSecurityId(Int32 value) noexcept
Leg Security ID.
Definition: Messages.h:21669
ThisType & setRateSource(StrRef value) noexcept
Fixing Rate Source.
Definition: Messages.h:9849
LotTypeRules lotTypeRules(LotTypeRules::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:10311
bool minPriceIncrementAmount(PRICE9 &value) const noexcept
Monetary value equivalent to the minimum price fluctuation.
Definition: Messages.h:29922
ThisType & setCurrency(StrRef value) noexcept
Base currency.
Definition: Messages.h:9373
StrRef securityGroup() const noexcept
Security Group Code.
Definition: Messages.h:22118
ThisType & setLegSide(LegSide::Enum value) noexcept
Leg side.
Definition: Messages.h:21698
ThisType & setBrokenDateSecurityId(Int32 value) noexcept
Broken date Instrument Globex Security ID.
Definition: Messages.h:3700
FeedTypes feedTypes(FeedTypes::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:20718
ThisType & setSecurityUpdateAction(SecurityUpdateAction::Enum value) noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:19504
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:3576
ThisType & setRptSeq(UInt32 value) noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:24978
SbeGroupEntry< GroupSize8Byte::BlockLength > Base
Base class type.
Definition: Messages.h:11856
CollateralMarketValue62 ThisType
This type alias.
Definition: Messages.h:7617
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:27740
ThisType & setEntrySize(Int32 value) noexcept
Quantity of the MD Entry.
Definition: Messages.h:6942
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
Long name of the instrument.
Definition: Messages.h:4612
ThisType & setMinPriceIncrement(PRICE9 value) noexcept
Minimum constant tick for the instrument, sent only if instrument is non-VTT (Variable Tick table) el...
Definition: Messages.h:22426
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:28157
SnapshotFullRefreshTCP61(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:7254
EventIndicator matchEventIndicator() const noexcept
End of updates indicator.
Definition: Messages.h:16638
ThisType & setMinPriceIncrement(PRICE9 value) noexcept
Minimum constant tick for the instrument.
Definition: Messages.h:4356
bool openCloseSettlFlag(OpenCloseSettlFlag::Enum &value) const noexcept
Flag describing IOP and Open Price entries.
Definition: Messages.h:26088
SbeGroup< InstAttribEntry, GroupSize, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:8548
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:11403
IncrementalRefreshSessionStatistics51(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:26254
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Upper price threshold for the instrument.
Definition: Messages.h:25498
ThisType & setFeedType(StrRef value) noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:28619
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:25886
#define ONIXS_CONFLATEDTCP_MESSAGING_MDP_NAMESPACE_END
Definition: ABI.h:152
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:2207
StrRef quoteReqId() const noexcept
Quote Request ID defined by the exchange.
Definition: Messages.h:28178
OrderIDEntries orderIdEntries(OrderIDEntries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:6675
ThisType & setUnitOfMeasureQty(Decimal9 value) noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:9590
Int8 lotType() const noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:2868
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:6887
bool minPriceIncrement(PRICE9 &value) const noexcept
Minimum constant tick for the instrument.
Definition: Messages.h:29893
bool subFraction(UInt8 &value) const noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:22810
SbeGroup< OrderIDEntry, GroupSize, MessageSize > OrderIDEntries
Repeating group containing OrderIDEntry entries.
Definition: Messages.h:6365
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:17949
InstrumentDefinitionFixedIncome57(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:611
Decimal9 displayFactor() const noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:1131
ThisType & setMinLotSize(DecimalQty value) noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:518
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:24723
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:30701
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:26652
ThisType & setMinTradeVol(UInt32 value) noexcept
The minimum trading volume for a security.
Definition: Messages.h:22384
ThisType & setFeedType(StrRef value) noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:19041
UInt32 rptSeq() const noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:26623
InstrumentDefinitionOption55(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:29281
IncrementalRefreshLimitsBanding50(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:25709
bool openInterestQty(Int32 &value) const noexcept
The total open interest for the market at the close of the prior trading session. ...
Definition: Messages.h:30233
SnapshotFullRefresh52(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:27361
ThisType & setAggressorSide(AggressorSide::Enum value) noexcept
Indicates which side is the aggressor or if there is no aggressor.
Definition: Messages.h:31158
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:17493
ThisType & setMinPriceIncrementAmount(PRICE9 value) noexcept
Monetary value equivalent to the minimum price fluctuation.
Definition: Messages.h:20539
ThisType & setOrderPriority(UInt64 value) noexcept
Order priority for execution on the order book.
Definition: Messages.h:5774
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:12707
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:31372
IntegralConstant< Int8, 0 > UpdateTypeNew
MDUpdateTypeNew.
Definition: Fields.h:97
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:29199
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:31615
ThisType & setRptSeq(UInt32 value) noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:14494
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:22732
ThisType & setEventTime(Timestamp value) noexcept
Date and Time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:18930
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:4926
InstAttrib instAttrib(InstAttrib::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:10277
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
Financial Instrument long name.
Definition: Messages.h:15840
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:19271
Underlyings underlyings(Underlyings::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:30603
ThisType & setAsset(StrRef value) noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:22150
ThisType & setCurrentChunk(UInt32 value) noexcept
Chunk sequence.
Definition: Messages.h:32711
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:8185
bool orderPriority(UInt64 &value) const noexcept
Order priority for execution on the order book.
Definition: Messages.h:11026
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:23551
Number of entries in Market Data message.
Definition: Messages.h:17834
SbeGroup< TradingSessionsEntry, GroupSize, MessageSize > TradingSessions
Repeating group containing TradingSessionsEntry entries.
Definition: Messages.h:8940
bool side(Int8 &value) const noexcept
Side requested.
Definition: Messages.h:28029
ThisType & setRiskSet(StrRef value) noexcept
Risk Set identifies the list of instruments sharing credit limits set up.
Definition: Messages.h:4881
RelatedInstrumentsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:3459
IncrementalRefreshTicker304(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:16083
ThisType & setMinTradeVol(UInt32 value) noexcept
The minimum trading volume for a security.
Definition: Messages.h:19904
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential static value for price banding.
Definition: Messages.h:13868
bool tradingReferenceDate(Timestamp &value) const noexcept
Indicates session date corresponding to the reference price in tag 1150-TradingReferencePrice.
Definition: Messages.h:1326
StrRef currency() const noexcept
Identifies the currency used for price.
Definition: Messages.h:993
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:2662
ThisType & setMinLotSize(DecimalQty value) noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:21549
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:19264
StrRef terminationType() const noexcept
For Repos the timing or method for terminating the agreement.
Definition: Messages.h:4729
WorkupTradingStatus::Enum securityTradingStatus() const noexcept
Identifies the trading status applicable to the instrument.
Definition: Messages.h:6576
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Upper price threshold for the instrument.
Definition: Messages.h:14631
ThisType & setNumberOfOrders(Int32 value) noexcept
In Book entry - aggregate number of orders at given price level.
Definition: Messages.h:24084
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:17476
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:26705
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:6086
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:29304
ThisType & setSecurityGroup(StrRef value) noexcept
Security Group Code.
Definition: Messages.h:19669
bool clearedVolume(Int32 &value) const noexcept
The total cleared volume of instrument traded during the prior trading session.
Definition: Messages.h:22664
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:349
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Lower price threshold for the instrument.
Definition: Messages.h:25527
bool tradingReferenceDate(Timestamp &value) const noexcept
Indicates session date corresponding to the settlement price in tag 1150-TradingReferencePrice.
Definition: Messages.h:30344
IncrementalRefreshSessionStatistics51(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:26279
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:26834
LotTypeRules lotTypeRules(LotTypeRules::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:23146
ThisType & setMinTradeVol(UInt32 value) noexcept
The minimum trading volume for a security.
Definition: Messages.h:9460
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:15557
ThisType & setEventType(EventType::Enum value) noexcept
Code to represent the type of event.
Definition: Messages.h:8228
InstAttribValue instAttribValue() const noexcept
Bitmap field of 32 Boolean type Instrument eligibility flags.
Definition: Messages.h:21401
StrRef underlyingSymbol() const noexcept
Underlying Instrument Symbol (Short Name).
Definition: Messages.h:3024
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:16438
ThisType & setSettlPriceType(SettlPriceType value) noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:30190
bool couponFrequencyPeriod(UInt16 &value) const noexcept
Time unit multiplier for the frequency of the bond&#39;s coupon payment.
Definition: Messages.h:1684
RelatedInstrumentsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:29119
StrRef issuer() const noexcept
Name of security issuer or the Legal Entity Identifier (LEI - the International ISO standard 17442)...
Definition: Messages.h:1761
ThisType & setSymbol(StrRef value) noexcept
Instrument Name or Symbol.
Definition: Messages.h:9278
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:21807
ThisType & setCurrency(StrRef value) noexcept
Identifies currency used for price.
Definition: Messages.h:22299
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:12493
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:6690
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:645
std::basic_string_view< Char > StrRef
Definition: StrRef.h:46
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:21623
ThisType & setMatchEventIndicator(EventIndicator value) noexcept
End of updates indicator.
Definition: Messages.h:17312
IncrementalRefreshVolumeLongQty66(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:12577
SbeGroup< LegsEntry, GroupSize, MessageSize > Legs
Repeating group containing LegsEntry entries.
Definition: Messages.h:21829
ThisType & setMaxTradeVol(UInt32 value) noexcept
The maximum trading volume for a security.
Definition: Messages.h:22404
ThisType & setLastQty(Int32 value) noexcept
Quantity bought or sold on this last fill.
Definition: Messages.h:31357
ThisType & setEntryType(EntryType::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:27291
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:25990
IncrementalRefreshDailyStatistics49(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:25156
UserDefinedInstrument userDefinedInstrument() const noexcept
User-defined Instrument flag.
Definition: Messages.h:1909
PRICE9 minPriceIncrement() const noexcept
Minimum price tick.
Definition: Messages.h:9491
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:10707
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:32204
StrRef feedType() const noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:21260
UInt16 BlockLength
Type alias for the BlockLength.
Definition: Composites.h:175
SnapshotFullRefreshOrderBook53(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:32605
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:26324
bool relatedInstrumentGUId(UInt64 &value) const noexcept
Related Instrument GUID.
Definition: Messages.h:3545
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:14112
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:13765
ThisType & setSecurityExchange(StrRef value) noexcept
Exchange used to identify a security.
Definition: Messages.h:9212
UInt8 marketSegmentId() const noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:29452
ThisType & setEntrySize(UInt64 value) noexcept
Market Data entry size.
Definition: Messages.h:13493
ThisType & setInstAttribValue(InstAttribValue value) noexcept
Bitmap field of 32 Boolean type instrument eligibility flags.
Definition: Messages.h:378
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:28317
ThisType & setSettlType(StrRef value) noexcept
For SPOTs will contain 0.
Definition: Messages.h:9781
ThisType & setFxCurrencySymbol(StrRef value) noexcept
Base/Local.
Definition: Messages.h:9753
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:25347
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:15033
SnapshotFullRefreshTCPLongQty68(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:13689
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:29074
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential value for price banding.
Definition: Messages.h:22761
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:13943
ThisType & setCfiCode(StrRef value) noexcept
ISO standard instrument categorization code.
Definition: Messages.h:29644
EncodedLength calculateBinarySize() const noexcept
Definition: Messages.h:18184
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:23239
EncodedLength calculateBinarySize() const noexcept
Definition: Messages.h:28354
StrRef partyRoleClearingOrg() const noexcept
Clearing organization.
Definition: Messages.h:4624
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:5711
ThisType & setUnitOfMeasureQty(Decimal9 value) noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:20103
ThisType & setMarketSegmentId(UInt8 value) noexcept
Identifies the market segment for all CME Globex instruments.
Definition: Messages.h:4050
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:14997
ThisType & setPriceLevel(Int8 value) noexcept
Aggregate book position.
Definition: Messages.h:27167
Int8 lotType() const noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:480
StrRef priceQuoteCurrency() const noexcept
Local (counter) currency.
Definition: Messages.h:9409
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:7465
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:29327
ThisType & setApplId(Int16 value) noexcept
Indicates the channel ID as defined in the XML configuration file.
Definition: Messages.h:17909
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:28461
ThisType & setEventType(EventType::Enum value) noexcept
Code to represent the type of event.
Definition: Messages.h:28486
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:62
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:3659
ThisType & setMaxBidAskConstraint(PRICE9 value)
Maximum bid/ask spread for which sub-tick orders will be accepted (Sub tick orders will be rejected i...
Definition: Messages.h:10145
ThisType & setInstAttribValue(InstAttribValue value) noexcept
Bitmap field of 32 Boolean type instrument eligibility flags.
Definition: Messages.h:8499
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:25849
bool contractMultiplierUnit(Int8 &value) const noexcept
Indicates the type of multiplier being applied to the product.
Definition: Messages.h:20462
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:32270
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:7477
ThisType & setAsset(StrRef value) noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:19691
IncrementalRefreshSessionStatistics51(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:26268
ThisType & setPriceLevel(UInt8 value) noexcept
Aggregate book level.
Definition: Messages.h:24113
ThisType & setLotType(Int8 value) noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:19293
bool priceDisplayFormat(UInt8 &value) const noexcept
Number of decimals in fractional display price.
Definition: Messages.h:20037
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:17871
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential value for price banding.
Definition: Messages.h:14691
SchemaTraits Schema
Used template schema.
Definition: Messages.h:18635
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:15272
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:15372
IncrementalRefreshTradeSummary48 ThisType
This type alias.
Definition: Messages.h:30986
ThisType & setUnderlyingInstrumentGUId(UInt64 value) noexcept
Underlying GUID.
Definition: Messages.h:3336
#define ONIXS_CONFLATEDTCP_CONSTEXPR
Definition: Compiler.h:192
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:6329
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:28653
CHAR matchAlgorithm() const noexcept
Matching algorithm.
Definition: Messages.h:19875
ThisType & setEntrySize(UInt64 value) noexcept
Market Data entry size.
Definition: Messages.h:17052
ThisType & setDisplayQty(Int32 value) noexcept
Visible order qty.
Definition: Messages.h:31933
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:2477
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:6094
ThisType & setInstAttribValue(InstAttribValue value) noexcept
Bitmap field of 32 Boolean type Instrument eligibility flags.
Definition: Messages.h:21411
StrRef riskSet() const noexcept
Risk Set identifies the list of instruments sharing credit limits set up.
Definition: Messages.h:4870
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of messages replayed in the loop.
Definition: Messages.h:27430
StrRef unitOfMeasure() const noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:1241
StrRef currency() const noexcept
Identifies currency used for price.
Definition: Messages.h:22289
InstAttribValue instAttribValue() const noexcept
Bitmap field of 32 Boolean type instrument eligibility flags.
Definition: Messages.h:19171
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:28919
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:28468
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:14983
ThisType & setOpenInterestQty(Int32 value) noexcept
The total open interest for the market at the close of the prior trading session. ...
Definition: Messages.h:22643
ThisType & setPartyRoleClearingOrg(StrRef value) noexcept
Clearing organization.
Definition: Messages.h:4634
IntegralConstant< UInt8, 255 > NullUInt8
Null value for an optional UInt8 field.
Definition: Fields.h:1788
UInt64 orderId() const noexcept
Unique Order ID assigned by the exchange.
Definition: Messages.h:6254
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:25226
RelatedInstruments relatedInstruments(RelatedInstruments::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:30648
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential value for price banding.
Definition: Messages.h:1432
ThisType & setUnderlyingMinDaysToMaturity(UInt16 value) noexcept
Minimum days to maturity remaining of the underlying instruments to qualify for GC basket...
Definition: Messages.h:3305
ThisType & setLastUpdateTime(Timestamp value) noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:3975
ThisType & setSecurityGroup(StrRef value) noexcept
Security Group Code.
Definition: Messages.h:22128
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:11817
ThisType & setTradingSessionId(MarketHrs::Enum value) noexcept
The associated region market hours considered for the calculation of the element. ...
Definition: Messages.h:15971
IntegralConstant< Char, '2'> EntryTypeTrade
MDEntryTypeTrade.
Definition: Fields.h:79
SbeGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:28689
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:25834
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:16978
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:16547
Timestamp transactTime() const noexcept
Timestamp of the last event security participated in, sent as number of nanoseconds since Unix epoch...
Definition: Messages.h:27484
OrderIDEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:6225
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:2998
AdminLogout16(void *data, EncodedLength length, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block.
Definition: Messages.h:18647
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:18026
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:24277
bool subFraction(UInt8 &value) const noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:30031
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential static value for price banding.
Definition: Messages.h:7393
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:18552
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current trading state of the instrument.
Definition: Messages.h:14599
SecurityStatusWorkup60(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:6400
static constexpr SecurityIDSource relatedSecurityIdSource() noexcept
Related Security ID source.
Definition: Messages.h:29167
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:21305
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:17485
ThisType & setRiskSet(StrRef value) noexcept
Risk Set identifies the list of instruments sharing credit limits set up.
Definition: Messages.h:1943
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:2557
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:8564
bool entrySize(UInt64 &value) const noexcept
Market Data entry size.
Definition: Messages.h:17043
GroupSize::BlockLength BlockLength
Type to present the length of binary data of the repeating group entry.
Definition: SbeMessage.h:288
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:26425
SecurityTradingEvent::Enum securityTradingEvent() const noexcept
Identifies an additional event or a rule related to the status.
Definition: Messages.h:23766
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:7186
#define ONIXS_CONFLATEDTCP_NODISCARD
Definition: Compiler.h:198
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:17732
bool entrySize(UInt64 &value) const noexcept
Aggregate booked qty at price level, notional.
Definition: Messages.h:10749
UInt8 underlyingProduct() const noexcept
Indicates the product complex.
Definition: Messages.h:29473
IntegralConstant< Int32, 2147483647 > NullInt32
Null value for an optional Int32 field.
Definition: Fields.h:1752
IncrementalRefreshDailyStatistics49 ThisType
This type alias.
Definition: Messages.h:24834
IncrementalRefreshSessionStatisticsLongQty67(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:13129
ThisType & setSecurityId(Int32 value) noexcept
Unique instrument ID.
Definition: Messages.h:929
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:21648
ThisType & setSecurityUpdateAction(SecurityUpdateAction::Enum value) noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:9069
SbeGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:2698
UInt32 rptSeq() const noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:24969
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Lower price threshold for the instrument.
Definition: Messages.h:14662
bool tradeableSize(Int32 &value) const noexcept
Tradeable qty.
Definition: Messages.h:6962
Int32 securityId() const noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:15243
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:11802
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:21095
UInt8 underlyingProduct() const noexcept
Product complex.
Definition: Messages.h:4061
ThisType & setMinLotSize(DecimalQty value) noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:19319
ThisType & setLastUpdateTime(Timestamp value) noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:29385
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:32138
ThisType & setSecurityType(StrRef value) noexcept
Security Type.
Definition: Messages.h:22224
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:18787
FeedTypesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:199
bool instrumentGUId(UInt64 &value) const noexcept
External unique instrument ID.
Definition: Messages.h:30383
AdminLogin15(void *data, EncodedLength length, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block.
Definition: Messages.h:18443
StrRef feedType() const noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:28608
UInt32 rptSeq() const noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:24053
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:6063
UInt32 rptSeq() const noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:11671
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:6733
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:16812
ThisType & setSecurityId(Int32 value) noexcept
Unique instrument ID.
Definition: Messages.h:4178
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:31805
PRICE9 collateralMarketPrice() const noexcept
Market price of the collateral, either from external market sources or a result of trading activity o...
Definition: Messages.h:7734
ThisType & setUnderlyingSecurityId(Int32 value) noexcept
Unique Instrument ID as qualified by the exchange per tag 305-UnderlyingSecurityIDSource.
Definition: Messages.h:29016
Null values definition for optional Decimal9 field.
Definition: Composites.h:41
ThisType & setEventType(EventType::Enum value) noexcept
Code to represent the type of event.
Definition: Messages.h:18908
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential value for price banding.
Definition: Messages.h:27665
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:19208
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:16386
LocalMktDate timestampToLocalMktDate(const Timestamp &timestamp) noexcept
Definition: Fields.h:1802
bool minLotSize(DecimalQty &value) const noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:505
static constexpr EntryTypeTrade entryType() noexcept
Market Data entry type.
Definition: Messages.h:31200
SnapshotFullRefreshTCPLongQty68(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:13703
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:554
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:8333
ThisType & setMinPriceIncrement(PRICE9 value) noexcept
Minimum constant tick for the instrument.
Definition: Messages.h:29902
ThisType & setUnderlyingSecurityAltId(StrRef value) noexcept
Underlying Alternate Security identifier value as qualified by Tag 305-UnderlyingSecuityAltIDSource (...
Definition: Messages.h:3114
bool moneyOrPar(MoneyOrPar::Enum &value) const noexcept
Money or Par indicates if the GC is filled by par amount or by money amount.
Definition: Messages.h:4773
IncrementalRefreshTicker304(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:16108
bool maxBidAskConstraint(PRICE9 &value) const noexcept
Maximum bid/ask spread for which sub-tick orders will be accepted (Sub tick orders will be rejected i...
Definition: Messages.h:10133
StrRef rateSource() const noexcept
Fixing Rate Source.
Definition: Messages.h:9839
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:28285
ThisType & setHeartBtInt(Int8 value) noexcept
Heartbeat interval (seconds).
Definition: Messages.h:18503
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:16397
bool aggressorSide(AggressorSide::Enum &value) const noexcept
Indicates which side is aggressor of the trade.
Definition: Messages.h:17150
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition: StrRef.h:415
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:7199
StrRef securityGroup() const noexcept
Security Group Code.
Definition: Messages.h:9224
SecurityUpdateAction::Enum securityUpdateAction() const noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:3940
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:16447
ThisType & setMinPriceIncrement(PRICE9 value) noexcept
Minimum price tick.
Definition: Messages.h:9500
ThisType & setEntrySize(Int32 value) noexcept
Market Data entry quantity.
Definition: Messages.h:27109
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:668
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:3803
ThisType & setTradingReferencePrice(PRICE9 value) noexcept
Reference price for prelisted instruments or the last calculated Settlement whether it be Theoretical...
Definition: Messages.h:20136
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:26556
The time point without the time-zone information.
Definition: Time.h:467
bool lowLimitPrice(PRICE9 &value) const noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:30263
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:31188
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential value for price banding.
Definition: Messages.h:20307
ThisType & setSettlDate(Timestamp value) noexcept
Settle (Value) Date corresponding to Trade Date.
Definition: Messages.h:8802
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:20823
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:7439
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current state of the instrument.
Definition: Messages.h:9119
Timestamp lastUpdateTime() const noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:3965
ThisType & setFeedType(StrRef value) noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:2628
Operations over a repeating group instance.
Definition: SbeMessage.h:284
static constexpr EntryTypeChannelReset entryType() noexcept
Market Data entry type.
Definition: Messages.h:17890
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:32850
ThisType & setUnitOfMeasureQty(Decimal9 value) noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:4426
UInt32 lastMsgSeqNumProcessed() const noexcept
Sequence number of the last Incremental feed packet processed.
Definition: Messages.h:32618
SettlPriceType settlPriceType() const noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:27261
bool highLimitPrice(PRICE9 &value) const noexcept
Upper price threshold for the instrument.
Definition: Messages.h:14621
ThisType & setMatchAlgorithm(CHAR value) noexcept
Matching algorithm.
Definition: Messages.h:29842
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:10943
InstAttrib instAttrib(InstAttrib::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:5114
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Upper price threshold for the instrument.
Definition: Messages.h:27607
ThisType & setMaturityMonthYear(MaturityMonthYear value) noexcept
Fixed Date NDF Maturity.
Definition: Messages.h:9989
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:9011
bool highLimitPrice(PRICE9 &value) const noexcept
Upper price threshold for the instrument.
Definition: Messages.h:25489
StrRef cfiCode() const noexcept
ISO standard instrument categorization code.
Definition: Messages.h:22236
bool decayStartDate(Timestamp &value) const noexcept
Indicates the date at which a decaying contract will begin to decay.
Definition: Messages.h:20359
SnapshotFullRefreshTCP61(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:7229
ThisType & setBrokenDateGUId(UInt64 value) noexcept
External unique broken date Instrument ID.
Definition: Messages.h:3680
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:2544
StrRef unitOfMeasure() const noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:9555
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:10395
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:25215
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:26805
bool minLotSize(DecimalQty &value) const noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:21537
AdminHeartbeat12(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:18274
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:32126
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:15543
StrRef securityExchange() const noexcept
Exchange used to identify a security.
Definition: Messages.h:832
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:26036
ThisType & setSecurityId(Int32 value) noexcept
If this tag is present, 35=f message is sent for the instrument.
Definition: Messages.h:23627
bool flowScheduleType(Int8 &value) const noexcept
The schedule according to which the electricity is delivered in a physical contract, or priced in a financial contract.
Definition: Messages.h:20497
OrderIDEntries orderIdEntries(OrderIDEntries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:11347
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:13019
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:25476
SecurityStatusWorkup60(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:6411
ThisType & setMatchAlgorithm(CHAR value) noexcept
Matching algorithm.
Definition: Messages.h:19884
ThisType & setFixRateLocalTimeZone(StrRef value) noexcept
Fixing Rate Local Time Zone corresponding to Fixing Local Time.
Definition: Messages.h:9895
UserDefinedInstrument userDefinedInstrument() const noexcept
User-defined instruments flag.
Definition: Messages.h:22333
ThisType & setSettlPriceType(SettlPriceType value) noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:20167
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:28723
RelatedInstruments relatedInstruments(RelatedInstruments::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:5250
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:18089
InstrumentDefinitionSpread56 ThisType
This type alias.
Definition: Messages.h:21076
ThisType & setNoChunks(UInt32 value) noexcept
Total number of packets that constitutes a single instrument order book.
Definition: Messages.h:32691
MessageSize BlockLength
Length of the message body representing a block of fixed-length fields.
Definition: SbeMessage.h:1103
AdminHeartbeat12(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:18288
ThisType & setEntryType(TickerEntryType::Enum value) noexcept
Market Data entry type, identifies the element.
Definition: Messages.h:17002
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:11388
ThisType & setMatchAlgorithm(CHAR value) noexcept
Matching Algorithm.
Definition: Messages.h:1048
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:21494
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:8420
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current trading state of the instrument.
Definition: Messages.h:14588
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:25193
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential static value for price banding.
Definition: Messages.h:7402
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:27450
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential value for price banding.
Definition: Messages.h:27656
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the trading status applicable to the instrument or Security Group.
Definition: Messages.h:23711
ThisType & setSecurityId(Int32 value) noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:15777
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:2269
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:634
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:17864
bool tradeDate(Timestamp &value) const noexcept
Trade session date sent as number of days since Unix epoch.
Definition: Messages.h:14549
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:6725
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:2181
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:11769
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:15852
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:16960
bool mainFraction(UInt8 &value) const noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:19979
EncodedLength calculateBinarySize() const noexcept
Definition: Messages.h:18600
ThisType & setNumberOfOrders(Int32 value) noexcept
In Book Entry - Aggregate number of orders at given price level.
Definition: Messages.h:14218
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:12053
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:1988
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:25458
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:21501
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:2928
static constexpr SecurityIDSource underlyingSecurityIdSource() noexcept
Identifies the class or source of UnderlyingSecurityID Tag 309 value.
Definition: Messages.h:3088
ThisType & setLastUpdateTime(Timestamp value) noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:21979
ThisType & setSecurityUpdateAction(SecurityUpdateAction::Enum value) noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:3952
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Indicates session date corresponding to the settlement price in tag 1150-TradingReferencePrice.
Definition: Messages.h:20601
EventsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:18872
ThisType & setRptSeq(UInt32 value) noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:12966
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:12744
ThisType & setOpenCloseSettlFlag(OpenCloseSettlFlag::Enum value) noexcept
Flag that identifies a market data entry.
Definition: Messages.h:7067
ThisType & setSecurityExchange(StrRef value) noexcept
Exchange used to identify a security.
Definition: Messages.h:22106
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:12590
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:32049
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:29060
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:26233
ThisType & setOpenCloseSettlFlag(OpenCloseSettlFlag::Enum value) noexcept
Flag describing IOP and Open Price entries.
Definition: Messages.h:26099
bool orderPriority(UInt64 &value) const noexcept
Order priority for execution on the order book.
Definition: Messages.h:32430
StrRef countryOfIssue() const noexcept
Country of Origin, ISO alpha-2 country code.
Definition: Messages.h:1738
bool maturityMonthYear(MaturityMonthYear &value) const noexcept
This field provides the actual calendar date for contract maturity.
Definition: Messages.h:29677
ThisType & setSubFraction(UInt8 value) noexcept
Price Denominator of Sub Fraction.
Definition: Messages.h:20017
ThisType & setCfiCode(StrRef value) noexcept
ISO standard instrument categorization code.
Definition: Messages.h:9351
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:18543
bool tradingReferenceDate(Timestamp &value) const noexcept
Indicates session date corresponding to the settlement price in tag 1150-TradingReferencePrice.
Definition: Messages.h:22840
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Indicates the date of trade session corresponding to a statistic entry.
Definition: Messages.h:27207
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:15111
UInt32 minQuoteLife() const noexcept
Minimum Quote Life in number of microseconds.
Definition: Messages.h:9907
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:3477
ThisType & setContractMultiplier(Int32 value) noexcept
Number of deliverable units per instrument, e.g., peak days in maturity month or number of calendar d...
Definition: Messages.h:20440
ThisType & setTickRule(Int8 value) noexcept
Tick Rule.
Definition: Messages.h:22535
ThisType & setEntryType(EntryTypeBook::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:32509
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:17748
ThisType & setAsset(StrRef value) noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:886
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:32787
StrRef cfiCode() const noexcept
ISO standard instrument categorization code.
Definition: Messages.h:971
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:18325
UserDefinedInstrument userDefinedInstrument() const noexcept
User-defined instrument flag.
Definition: Messages.h:4847
SnapshotFullRefreshOrderBook53 ThisType
This type alias.
Definition: Messages.h:32355
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:13280
ThisType & setMarketSegmentId(UInt8 value) noexcept
Identifies the market segment for all CME Globex instruments.
Definition: Messages.h:801
AdminHeartbeat12(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:18299
IntegralConstant< Char, 'g'> EntryTypeLimits
MDEntryTypeLimits.
Definition: Fields.h:73
ThisType & setEntryType(EntryType::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:13619
ThisType & setSecurityGroup(StrRef value) noexcept
Security Group Code.
Definition: Messages.h:9234
bool openCloseSettlFlag(OpenCloseSettlFlag::Enum &value) const noexcept
Flag that additionally describes market data entry type.
Definition: Messages.h:12978
bool minLotSize(DecimalQty &value) const noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:28885
bool instrumentGUId(UInt64 &value) const noexcept
External unique instrument ID.
Definition: Messages.h:4917
ThisType & setEventType(EventType::Enum value) noexcept
Code to represent the type of event.
Definition: Messages.h:2495
AdminLogin15(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:18458
bool totNumReports(UInt32 &value) const noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:3907
Events events(Events::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:20678
bool entrySize(Int32 &value) const noexcept
Market Data entry size.
Definition: Messages.h:24920
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:29293
BrokenDates brokenDates(BrokenDates::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:5289
ThisType & setPricePrecision(UInt8 value) noexcept
Specifies price decimal precision for EBS instrument.
Definition: Messages.h:9542
StrRef asset() const noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:876
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:8918
ThisType & setOpenCloseSettlFlag(PreviousDayFlag::Enum value) noexcept
Previous day elements, Global or Regional, will contain the value 4 - entry from previous business da...
Definition: Messages.h:15944
static constexpr MessageSize getMinimalVariableFieldsSize(SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:5344
ThisType & setLegRatioQty(Int8 value) noexcept
Leg ratio of quantity for this individual leg relative to the entire multi-leg instrument.
Definition: Messages.h:21720
bool numberOfOrders(Int32 &value) const noexcept
In Book entry - aggregate number of orders at given price level.
Definition: Messages.h:10819
ThisType & setMinTradeVol(UInt32 value) noexcept
The minimum trading volume for a security.
Definition: Messages.h:1068
bool displayQty(Int32 &value) const noexcept
Visible qty of order.
Definition: Messages.h:11055
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:21187
StrRef priceQuoteMethod() const noexcept
Price quotation method.
Definition: Messages.h:4825
ThisType & setSecurityId(Int32 value) noexcept
Unique Instrument ID.
Definition: Messages.h:29592
bool tickRule(Int8 &value) const noexcept
Tick Rule.
Definition: Messages.h:22526
ThisType & setSecurityUpdateAction(SecurityUpdateAction::Enum value) noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:703
UInt64 instrumentGUId() const noexcept
External unique instrument ID.
Definition: Messages.h:17367
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:217
IncrementalRefreshVolumeLongQty66 ThisType
This type alias.
Definition: Messages.h:12343
InstrumentDefinitionFuture54(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:19412
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:24199
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:272
ThisType & setFeedType(StrRef value) noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:238
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:10700
SecurityTradingEvent::Enum securityTradingEvent() const noexcept
Indicates the trading status applicable to the transaction.
Definition: Messages.h:6619
FeedTypes feedTypes(FeedTypes::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:20707
Null values definition for optional PRICE9 field.
Definition: Composites.h:710
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:27331
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:12678
SbeGroupEntry< GroupSize8Byte::BlockLength > Base
Base class type.
Definition: Messages.h:24252
bool highLimitPrice(PRICE9 &value) const noexcept
Upper price threshold for the instrument.
Definition: Messages.h:13798
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current state of the instrument.
Definition: Messages.h:3998
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:13455
ThisType & setSide(Int8 value) noexcept
Side requested.
Definition: Messages.h:28038
ThisType & setSecurityType(StrRef value) noexcept
Security Type.
Definition: Messages.h:4209
UInt32 minTradeVol() const noexcept
The minimum trading volume for a security.
Definition: Messages.h:22375
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:31278
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:24532
bool openInterestQty(Int32 &value) const noexcept
The total open interest for the market at the close of the prior trading session. ...
Definition: Messages.h:22633
MessageHeader::Version SchemaVersion
Aliases SBE-encoded data version type.
Definition: SchemaTraits.h:31
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:18751
SnapshotFullRefreshLongQty69(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:14393
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:32374
bool mainFraction(UInt8 &value) const noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:1152
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:17853
AdminHeartbeat302(void *data, EncodedLength length, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block.
Definition: Messages.h:14917
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:21887
IncrementalRefreshOrderBook47 ThisType
This type alias.
Definition: Messages.h:31779
bool tradingReferenceDate(Timestamp &value) const noexcept
Indicates session date corresponding to the settlement price in tag 1150-TradingReferencePrice.
Definition: Messages.h:20582
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:17741
Decimal9 displayFactor() const noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:9512
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:25469
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:7172
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:11441
static constexpr UpdateActionNew updateAction() noexcept
Market Data entry update action.
Definition: Messages.h:25619
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential value for price banding.
Definition: Messages.h:9668
bool tradingReferenceDate(Timestamp &value) const noexcept
Indicates trade session date corresponding to a statistic entry.
Definition: Messages.h:24990
ThisType & setApplId(Int16 value) noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:22034
IncrementalRefreshBookLongQty64(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:11201
ThisType & setApplId(Int16 value) noexcept
MD channel ID as defined in the XML Configuration file.
Definition: Messages.h:779
static constexpr EntryTypeVol entryType() noexcept
Electronic Volume entry provides cumulative session trade volume updated with the event...
Definition: Messages.h:12481
ThisType & setSecurityId(Int32 value) noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:17396
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:8263
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:17706
Int32 entrySize() const noexcept
Consolidated trade quantity.
Definition: Messages.h:31062
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:12508
StrRef asset() const noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:22140
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:8041
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:27304
bool tradeDate(Timestamp &value) const noexcept
Trade Session Date.
Definition: Messages.h:23647
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:25255
IncrementalRefreshBookLongQty64 ThisType
This type alias.
Definition: Messages.h:10660
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:15129
ThisType & setMatchEventIndicator(EventIndicator value) noexcept
End of updates indicator.
Definition: Messages.h:16158
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:32149
bool datedDate(Timestamp &value) const noexcept
Dated Date.
Definition: Messages.h:1521
bool highLimitPrice(PRICE9 &value) const noexcept
Upper price threshold for the instrument.
Definition: Messages.h:27598
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the trading status applicable to the instrument or Security Group.
Definition: Messages.h:23723
bool entrySize(Int32 &value) const noexcept
Market Data entry quantity.
Definition: Messages.h:27100
SbeGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:8429
StrRef fixRateLocalTime() const noexcept
Fixing Rate Local Time, denoted in HH:MM:SS format.
Definition: Messages.h:9861
SecurityStatus30(void *data, EncodedLength length, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block.
Definition: Messages.h:23499
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:27037
IncrementalRefreshSpectrum303 ThisType
This type alias.
Definition: Messages.h:15092
PRICE9 minPriceIncrement() const noexcept
Minimum constant tick for the instrument.
Definition: Messages.h:4347
SettlPriceType settlPriceType() const noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:7149
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:21438
Underlyings underlyings(Underlyings::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:5204
ThisType & setRelatedSymbol(StrRef value) noexcept
Related Instrument Symbol.
Definition: Messages.h:3533
ThisType & setSecurityAltId(StrRef value) noexcept
Expanded instrument description.
Definition: Messages.h:1818
ThisType & setEntryType(EntryType::Enum value) noexcept
Market Data Entry Type.
Definition: Messages.h:7097
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Indicates session date corresponding to the price in tag 1150-TradingReferencePrice.
Definition: Messages.h:4495
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:13010
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:24703
StrRef asset() const noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:4125
StrRef symbol() const noexcept
Instrument Name or Symbol. Previously used as Group Code.
Definition: Messages.h:22162
SnapshotRefreshTicker306 ThisType
This type alias.
Definition: Messages.h:16934
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential static value for price banding.
Definition: Messages.h:25556
SecurityStatusWorkup60(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:6386
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:2582
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:32250
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:18957
ThisType & setEntryType(EntryTypeDailyStatistics::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:25082
SchemaTraits Schema
Used template schema.
Definition: Messages.h:18431
SettlPriceType settlPriceType() const noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:30180
bool unitOfMeasureQty(Decimal9 &value) const noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:30116
bool tradingReferencePrice(PRICE9 &value) const noexcept
Reference price for prelisted instruments or the last calculated Settlement whether it be Theoretical...
Definition: Messages.h:20125
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:7957
UInt8 underlyingProduct() const noexcept
Product complex.
Definition: Messages.h:9182
ThisType & setTransactTime(Timestamp value) noexcept
Timestamp of the last event security participated in, sent as number of nanoseconds since Unix epoch...
Definition: Messages.h:27494
QuoteRequest39(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:28120
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:26714
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:28300
StrRef underlyingSecurityAltId() const noexcept
Will contain either CUSIP or ISIN value identifying REPO collateral security.
Definition: Messages.h:7674
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:2216
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:26549
OrderUpdateAction::Enum orderUpdateAction() const noexcept
Order book update action to be applied to the order referenced by OrderID.
Definition: Messages.h:11116
Number of data blocks listed in the Incremental message.
Definition: Messages.h:7624
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:16786
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:3005
InstAttrib instAttrib(InstAttrib::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:20751
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:16275
ThisType & setSecurityAltId(StrRef value) noexcept
ISIN value as provided by ANNA, Association of National Numbering Agencies.
Definition: Messages.h:8880
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:21820
StrRef underlyingSecurityAltId() const noexcept
Underlying Alternate Security identifier value as qualified by Tag 305-UnderlyingSecuityAltIDSource (...
Definition: Messages.h:3100
InstrumentDefinitionRepo58 ThisType
This type alias.
Definition: Messages.h:2433
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:5849
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:26353
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:31798
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:21357
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:31241
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:14154
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:7266
FeedTypes feedTypes(FeedTypes::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:23068
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:26772
bool entrySize(UInt64 &value) const noexcept
Market Data entry size.
Definition: Messages.h:16467
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:2793
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:27901
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:17922
ThisType & setTradingReferencePrice(PRICE9 value) noexcept
Reference price - the most recently available Settlement whether it be Theoretical, Preliminary or a Final Settle of the session.
Definition: Messages.h:22590
ThisType & setSecurityGroup(StrRef value) noexcept
Security Group Code.
Definition: Messages.h:4113
OrderIDEntries orderIdEntries(OrderIDEntries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:31586
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:13998
ThisType & setLowLimitPrice(PRICE9 value) noexcept
Lower price threshold for the instrument.
Definition: Messages.h:7373
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:6756
TradingSessions tradingSessions(TradingSessions::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:10357
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
Long name of the instrument.
Definition: Messages.h:1794
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:14336
bool clearedVolume(Int32 &value) const noexcept
The total cleared volume of instrument traded during the prior trading session.
Definition: Messages.h:20210
Timestamp lastUpdateTime() const noexcept
UTC Date and time of last Security Definition add, update or delete on a given Market Data channel...
Definition: Messages.h:14528
ThisType & setHaltReason(HaltReason::Enum value) noexcept
Identifies the reason for the status change.
Definition: Messages.h:23753
EventsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:21102
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:12232
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:24522
StrRef text() const noexcept
Free format text string.
Definition: Messages.h:18699
ThisType & setOrderId(UInt64 value) noexcept
Unique Order ID assigned by the exchange.
Definition: Messages.h:6263
ThisType & setRptSeq(UInt32 value) noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:24062
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:27080
FeedTypes feedTypes(FeedTypes::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:2076
StrRef unitOfMeasure() const noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:4391
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:32799
ThisType & setSettlPriceType(SettlPriceType value) noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:7159
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:17424
StrRef financialInstrumentFullName() const noexcept
Financial Instrument long name.
Definition: Messages.h:15830
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:32537
StrRef couponDayCount() const noexcept
The day count convention used in interest calculations for a bond or an interest bearing security...
Definition: Messages.h:1715
ThisType & setOrderUpdateAction(OrderUpdateAction::Enum value) noexcept
Order book update action to be applied to the order referenced by OrderID.
Definition: Messages.h:11127
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:24236
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:11949
ThisType & setTransactTime(Timestamp value) noexcept
Timestamp of the last publication event instrument participated in, sent in number of nanoseconds sin...
Definition: Messages.h:17290
ThisType & setIssuer(StrRef value) noexcept
Name of security issuer or the Legal Entity Identifier (LEI - the International ISO standard 17442)...
Definition: Messages.h:1772
StrRef feedType() const noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:227
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:18049
Decimal9 displayFactor() const noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:19958
UInt64 underlyingInstrumentGUId() const noexcept
Underlying Instrument GUID.
Definition: Messages.h:7777
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:24871
ThisType & setEntryType(EntryType::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:14309
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:24442
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:21173
InstAttribValue instAttribValue() const noexcept
Bitmap field of 32 Boolean type instrument eligibility flags.
Definition: Messages.h:8489
RelatedInstruments relatedInstruments(RelatedInstruments::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:5238
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:2676
ThisType & setEventTime(Timestamp value) noexcept
Date and Time of Instrument Activation or Expiration event sent as number of nanoseconds since Unix e...
Definition: Messages.h:2517
SnapshotRefreshTopOrders59 ThisType
This type alias.
Definition: Messages.h:5692
Int32 lastQty() const noexcept
Quantity bought or sold on this last fill.
Definition: Messages.h:31348
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:18016
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:405
bool tradeEntryId(UInt32 &value) const noexcept
Market Data Trade entry ID.
Definition: Messages.h:31208
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:24860
ThisType & setCurrency(StrRef value) noexcept
Identifies the currency used for price.
Definition: Messages.h:1003
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:23943
InstrumentDefinitionFX63(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:8975
ThisType & setUnderlyingMaturityDate(Timestamp value) noexcept
Underlying Security&#39;s Maturity Date.
Definition: Messages.h:3378
AdminLogin15(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:18483
IncrementalRefreshSpectrum303(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:15416
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:24427
Int16 applId() const noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:9140
InstrumentDefinitionFX63(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:8987
Timestamp transactTime() const noexcept
Publication event time, sent in number of nanoseconds since Unix epoch.
Definition: Messages.h:15439
ThisType & setDisplayFactor(Decimal9 value) noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:1141
StrRef securityAltId() const noexcept
Expanded instrument description.
Definition: Messages.h:1807
ThisType & setUnderlyingInstrumentGUId(UInt64 value) noexcept
Underlying Instrument GUID.
Definition: Messages.h:7787
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:12165
ThisType & setSettlPriceType(SettlPriceType value) noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:25040
ThisType & setLastUpdateTime(Timestamp value) noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:9092
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:21250
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:8026
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:11592
bool openCloseSettlFlag(OpenCloseSettlFlag::Enum &value) const noexcept
Flag describing Open Price entry.
Definition: Messages.h:27228
ThisType & setSecurityExchange(StrRef value) noexcept
Exchange used to identify a security.
Definition: Messages.h:19647
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:24584
Events events(Events::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:30429
PreviousDayFlag::Enum openCloseSettlFlag() const noexcept
Previous day elements, Global or Regional, will contain the value 4 - entry from previous business da...
Definition: Messages.h:15933
ThisType & setAsset(StrRef value) noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:29547
LotTypeRules lotTypeRules(LotTypeRules::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:30570
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:27340
Int32 securityId() const noexcept
Unique instrument ID.
Definition: Messages.h:14463
UInt8 maxNoOfSubstitutions() const noexcept
Max number of substitutions allowed.
Definition: Messages.h:4804
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:18517
ThisType & setLotType(Int8 value) noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:2878
PRICE9 maxPriceDiscretionOffset() const noexcept
Max allowed discretionary offset from Limit order price.
Definition: Messages.h:9929
Timestamp entryTime() const noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:16497
InstAttribValue instAttribValue() const noexcept
Bitmap field of 32 Boolean type Instrument eligibility flags.
Definition: Messages.h:28749
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:23818
Int32 securityId() const noexcept
Unique instrument ID.
Definition: Messages.h:4169
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Upper price threshold for the instrument.
Definition: Messages.h:7342
bool lowLimitPrice(PRICE9 &value) const noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:22723
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current state of the instrument.
Definition: Messages.h:19541
IntegralConstant< Char, 'J'> EntryTypeChannelReset
Channel Reset message entry type.
Definition: Fields.h:67
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
Long name of the instrument.
Definition: Messages.h:22988
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:31012
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:6343
Null values definition for optional DecimalQty field.
Definition: Composites.h:109
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:7643
InstrumentDefinitionSpread56(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:21875
ThisType & setAggressorSide(AggressorSide::Enum value) noexcept
Indicates which side is the aggressor or if there is no aggressor.
Definition: Messages.h:11748
Int8 lotType() const noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:8599
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:2739
ThisType & setBrokenDateTermType(UInt8 value)
Optionally used in tailor made repo contracts and defines the type of broken dates as requested by tr...
Definition: Messages.h:4982
bool orderPriority(UInt64 &value) const noexcept
Order priority for execution on the order book.
Definition: Messages.h:31866
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:3470
bool underlyingMinDaysToMaturity(UInt16 &value) const noexcept
Minimum days to maturity remaining of the underlying instruments to qualify for GC basket...
Definition: Messages.h:3294
InstrumentDefinitionOption55(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:29270
ThisType & setMinLotSize(UInt64 value) noexcept
For FX instruments in the repeating group with Tag 1093-LotType=2, Tag 1231-MinLotSize provides a Reg...
Definition: Messages.h:8643
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:25820
ThisType & setNumberOfOrders(Int32 value) noexcept
The total number of real orders per instrument that participated in a match step within a match event...
Definition: Messages.h:11703
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current state of the instrument.
Definition: Messages.h:29398
UInt16 MessageSize
Message length type.
Definition: Aliases.h:29
ThisType & setPriceLevel(UInt8 value) noexcept
Aggregate book level.
Definition: Messages.h:10858
ThisType & setReferenceId(UInt8 value) noexcept
Reference to corresponding Price and Security ID, sequence of MD entry in the message.
Definition: Messages.h:24379
GlobalDayRoll307(void *data, EncodedLength length, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block.
Definition: Messages.h:17607
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:26445
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:16026
StrRef financialInstrumentFullName() const noexcept
Long name of the instrument.
Definition: Messages.h:1784
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:8904
IncrementalRefreshOrderBook47(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:32104
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:12530
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:27926
bool entryPx(PRICE9 &value) const noexcept
Market Data entry price.
Definition: Messages.h:10720
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:6077
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:13094
SnapshotRefreshSpectrum305(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:16577
ThisType & setMaxTradeVol(UInt32 value) noexcept
The maximum trading volume for a security.
Definition: Messages.h:4336
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:14971
BrokenDates brokenDates(BrokenDates::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:5303
SbeGroup< UnderlyingsEntry, GroupSize, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:29096
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:21319
bool lowLimitPrice(PRICE9 &value) const noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:9639
ThisType & setLastUpdateTime(Timestamp value) noexcept
UTC Date and time of last Security Definition add, update or delete on a given Market Data channel...
Definition: Messages.h:27516
ThisType & setSecurityId(Int32 value) noexcept
Unique instrument ID.
Definition: Messages.h:22193
ThisType & setUnderlyingSymbol(StrRef value) noexcept
Underlying Instrument Symbol (Short Name).
Definition: Messages.h:3037
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:28730
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:16534
Timestamp eventTime() const noexcept
Date and Time of Instrument Activation or Expiration event sent as number of nanoseconds since Unix e...
Definition: Messages.h:2507
ThisType & setStrikePrice(PRICE9 value) noexcept
Strike Price for an option instrument.
Definition: Messages.h:29738
UInt32 minTradeVol() const noexcept
The minimum trading volume for a security.
Definition: Messages.h:1059
UInt8 marketSegmentId() const noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:19596
SnapshotRefreshTicker306(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:17241
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:26393
RelatedInstruments relatedInstruments(RelatedInstruments::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:30660
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:18038
ThisType & setPartyRoleClearingOrg(StrRef value) noexcept
Clearing organization.
Definition: Messages.h:1897
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:3590
UInt64 entrySize() const noexcept
Consolidated trade quantity, notional.
Definition: Messages.h:11630
SbeGroup< OrderIDEntry, GroupSize8Byte, MessageSize > OrderIDEntries
Repeating group containing OrderIDEntry entries.
Definition: Messages.h:11180
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:12663
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:24878
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:14728
This group indicates the number of broken dates and references individual broken contracts in user de...
Definition: Messages.h:3619
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:2227
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:28077
ThisType & setCurrency(StrRef value) noexcept
Identifies currency used for price.
Definition: Messages.h:19839
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:12876
bool minPriceIncrement(PRICE9 &value) const noexcept
Minimum constant tick for the instrument, sent only if instrument is non-VTT (Variable Tick table) el...
Definition: Messages.h:1100
bool minPriceIncrement(PRICE9 &value) const noexcept
Minimum constant tick for the instrument, sent only if instrument is non-VTT (Variable Tick table) el...
Definition: Messages.h:22416
StrRef financialInstrumentFullName() const noexcept
Long name of the instrument.
Definition: Messages.h:22978
bool tradingReferencePrice(PRICE9 &value) const noexcept
Reference price - the most recently available Settlement whether it be Theoretical, Preliminary or a Final Settle of the session.
Definition: Messages.h:22579
IncrementalRefreshBook46(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:24499
AdminHeartbeat302(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:14957
UpdateAction::Enum updateAction() const noexcept
Order book update action to be applied to the order referenced by OrderID.
Definition: Messages.h:31974
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:32381
LotTypeRulesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:19253
ThisType & setEntrySize(UInt64 value) noexcept
Market Data entry size.
Definition: Messages.h:15890
PutOrCall::Enum putOrCall() const noexcept
Indicates whether an option instrument is a put or call.
Definition: Messages.h:29656
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:12652
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:21225
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:17462
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:12869
SchemaTraits Schema
Used template schema.
Definition: Messages.h:17824
ThisType & setOpenCloseSettlFlag(OpenCloseSettlFlag::Enum value) noexcept
Flag that additionally describes market data entry type.
Definition: Messages.h:12989
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:7636
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:15345
SbeGroup< RelatedInstrumentsEntry, GroupSize, MessageSize > RelatedInstruments
Repeating group containing RelatedInstrumentsEntry entries.
Definition: Messages.h:3612
bool tradeDate(Timestamp &value) const noexcept
Trade session date sent as number of days since Unix epoch.
Definition: Messages.h:27527
ThisType & setMinTradeVol(UInt32 value) noexcept
The minimum trading volume for a security.
Definition: Messages.h:29862
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:3652
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:13738
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:21424
ThisType & setMoneyOrPar(MoneyOrPar::Enum value) noexcept
Money or Par indicates if the GC is filled by par amount or by money amount.
Definition: Messages.h:4783
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:20849
SettlPriceType settlPriceType() const noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:25030
ThisType & setSettlCurrency(StrRef value) noexcept
Currency used for settlement, which may be different from Local currency specified in Tag 1524 PriceQ...
Definition: Messages.h:9397
AdminLogout16(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:18687
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:7299
TickerEntryType::Enum entryType() const noexcept
Market Data entry type, identifies the element.
Definition: Messages.h:15746
Int32 securityId() const noexcept
Security ID as defined by CME.
Definition: Messages.h:31082
StrRef symbol() const noexcept
Unique instrument Symbol.
Definition: Messages.h:15788
Underlyings underlyings(Underlyings::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:5193
ThisType & setUnitOfMeasureQty(Decimal9 value) noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:1276
UInt64 instrumentGUId() const noexcept
External unique instrument ID.
Definition: Messages.h:15223
InstrumentDefinitionRepo58(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:3871
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:12194
ThisType & setLastMsgSeqNumProcessed(UInt32 value) noexcept
Sequence number of the last Incremental feed packet processed.
Definition: Messages.h:32629
static constexpr SecurityIDSource relatedSecurityIdSource() noexcept
Related Security ID Source.
Definition: Messages.h:3515
FeedTypes feedTypes(FeedTypes::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:10233
ThisType & setSettlCurrency(StrRef value) noexcept
Identifies currency used for settlement, if different from trading currency.
Definition: Messages.h:19863
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:17376
Int8 legRatioQty() const noexcept
Leg ratio of quantity for this individual leg relative to the entire multi-leg instrument.
Definition: Messages.h:21710
bool tradingReferenceDate(Timestamp &value) const noexcept
Indicates the date of trade session corresponding to a statistic entry.
Definition: Messages.h:27188
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:25652
SecurityStatus30(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:23528
ThisType & setMaxPriceDiscretionOffset(PRICE9 value) noexcept
Max allowed discretionary offset from Limit order price.
Definition: Messages.h:9940
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:7450
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:10993
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:18943
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:6505
ThisType & setFxBenchmarkRateFix(StrRef value) noexcept
Fixing Rate Description.
Definition: Messages.h:9827
ThisType & setSecurityUpdateAction(SecurityUpdateAction::Enum value) noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:29362
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:32036
UInt64 instrumentGUId() const noexcept
External unique instrument ID.
Definition: Messages.h:16703
IncrementalRefreshSpectrum303(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:15427
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:13659
bool maturityMonthYear(MaturityMonthYear &value) const noexcept
This field provides the actual calendar date for contract maturity.
Definition: Messages.h:22259
ThisType & setMatchAlgorithm(CHAR value) noexcept
Matching algorithm.
Definition: Messages.h:9440
ThisType & setRelatedInstrumentGUId(UInt64 value) noexcept
Related Instrument GUID.
Definition: Messages.h:3554
OrderIDEntries orderIdEntries(OrderIDEntries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:31574
SnapshotFullRefresh52(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:27386
UInt32 lastMsgSeqNumProcessed() const noexcept
Sequence number of the last Incremental feed packet processed.
Definition: Messages.h:14419
TickerEntryType::Enum entryType() const noexcept
Market Data entry type, identifies the element.
Definition: Messages.h:16992
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:7208
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the replayed loop.
Definition: Messages.h:32649
IncrementalRefreshVolume37(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:26735
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:29213
InstrumentDefinitionRepo58(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:3846
ThisType & setMainFraction(UInt8 value) noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:22790
Events events(Events::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:20667
bool highLimitPrice(PRICE9 &value) const noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:1365
LotTypeRulesEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:28831
StrRef cfiCode() const noexcept
ISO standard instrument categorization code.
Definition: Messages.h:9341
ThisType & setNumberOfOrders(Int32 value) noexcept
The total number of real orders per instrument that participated in a match step within a match event...
Definition: Messages.h:31133
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:11158
Int8 lotType() const noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:28861
bool clearedVolume(Int32 &value) const noexcept
The total cleared volume of instrument traded during the prior trading session.
Definition: Messages.h:30202
bool numberOfOrders(Int32 &value) const noexcept
Aggregate number of orders at given price level.
Definition: Messages.h:6994
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:2452
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:27763
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:12468
Events events(Events::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:5019
IncrementalRefreshVolume37(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:26749
ThisType & setEntrySize(UInt64 value) noexcept
Market Data entry size.
Definition: Messages.h:15301
ThisType & setTradeEntryId(UInt32 value) noexcept
Market Data Trade Entry ID.
Definition: Messages.h:11723
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:18167
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:28271
bool tradingSessionId(MarketHrs::Enum &value) const noexcept
The associated region market hours considered for the calculation of the element. ...
Definition: Messages.h:15959
Timestamp eventTime() const noexcept
Date and Time of instrument Activation or Expiration event sent as number of nanoseconds since Unix e...
Definition: Messages.h:117
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:24133
Timestamp transactTime() const noexcept
Publication event time, sent in number of nanoseconds since Unix epoch.
Definition: Messages.h:16120
Events events(Events::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:5030
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:16224
InstrumentDefinitionFuture54(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:19398
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:6423
ThisType & setEntrySize(UInt64 value) noexcept
Indicative Opening Quantity.
Definition: Messages.h:12917
bool tradingReferenceDate(Timestamp &value) const noexcept
Trading session date corresponding to a statistic entry, applicable only to Daily Statistics...
Definition: Messages.h:7109
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:21382
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:30763
CollateralMarketValue62(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:7914
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:468
UInt32 minTradeVol() const noexcept
The minimum trading volume for a security.
Definition: Messages.h:9451
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:23804
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:16798
GlobalDayRoll307(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:17636
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:8078
StrRef securityGroup() const noexcept
Security Group Code.
Definition: Messages.h:854
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Indicates session date corresponding to the settlement price in tag 1150-TradingReferencePrice.
Definition: Messages.h:30363
StrRef settlCurrency() const noexcept
Identifies currency used for settlement, if different from trade price currency.
Definition: Messages.h:1016
StrRef settlCurrency() const noexcept
Currency used for settlement, which may be different from Local currency specified in Tag 1524 PriceQ...
Definition: Messages.h:9386
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:15516
ThisType & setApplId(Int16 value) noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:19584
ThisType & setText(StrRef value) noexcept
Free format text string.
Definition: Messages.h:18710
SbeGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:2566
StrRef priceQuoteMethod() const noexcept
Price quotation method.
Definition: Messages.h:1865
Number of OrderID and LastQty entries in Trade Summary message.
Definition: Messages.h:11844
ThisType & setUnderlyingProduct(UInt8 value) noexcept
Indicates the product complex.
Definition: Messages.h:821
ThisType & setMarketSet(StrRef value) noexcept
Market Set defines the bilateral relationship and Self Match Prevention configuration for eligible ma...
Definition: Messages.h:22937
static constexpr UpdateActionNew updateAction() noexcept
Market Data update action.
Definition: Messages.h:15738
ThisType & setSide(Side::Enum value) noexcept
Side of order.
Definition: Messages.h:6283
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:16760
bool contractMultiplier(Int32 &value) const noexcept
Number of deliverable units per instrument, e.g., peak days in maturity month or number of calendar d...
Definition: Messages.h:20429
IntegralConstant< Int8, 24 > InstAttribType
Eligibility.
Definition: Fields.h:43
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:29130
Int32 entrySize() const noexcept
Cumulative traded volume.
Definition: Messages.h:26583
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:24042
ThisType & setDatedDate(Timestamp value) noexcept
Dated Date.
Definition: Messages.h:1539
InstrumentDefinitionOption55(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:29256
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:8470
bool brokenDateStart(Timestamp &value) const noexcept
Start date of a broken date period.
Definition: Messages.h:3711
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:210
ThisType & setSecurityTradingEvent(SpectrumSecurityTradingEvent::Enum value) noexcept
Signals the start of the next Global day or a Global day roll.
Definition: Messages.h:17691
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:391
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:13632
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:12623
ThisType & setUnderlyingSecurityAltId(StrRef value) noexcept
Will contain either CUSIP or ISIN value identifying REPO collateral security.
Definition: Messages.h:7685
EventIndicator matchEventIndicator() const noexcept
End of updates indicator.
Definition: Messages.h:16145
ThisType & setSecurityTradingEvent(SecurityTradingEvent::Enum value) noexcept
Indicates the trading status applicable to the transaction.
Definition: Messages.h:6629
ThisType & setDirtyPrice(PRICE9 value) noexcept
Dirty Price.
Definition: Messages.h:7765
ThisType & setCurrency(StrRef value) noexcept
Identifies currency used for price.
Definition: Messages.h:29717
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:2193
bool maturityDate(Timestamp &value) const noexcept
Maturity Date.
Definition: Messages.h:1559
SbeGroup< OrderIDEntry, GroupSize8Byte, MessageSize > OrderIDEntries
Repeating group containing OrderIDEntry entries.
Definition: Messages.h:31409
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:11143
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:11599
StrRef underlyingFinancialInstrumentFullName() const noexcept
Long Name of the Underlying Instrument.
Definition: Messages.h:3164
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:8733
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:31540
Events events(Events::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:10193
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:26845
ThisType & setSecurityTradingEvent(SecurityTradingEvent::Enum value) noexcept
Identifies an additional event or a rule related to the status.
Definition: Messages.h:23777
ThisType & setUnderlyingMaxLifeTime(UInt8 value) noexcept
Max life time of the underlying instruments qualifying for the GC basket in number of year...
Definition: Messages.h:3272
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:17198
ThisType & setTradeLinkId(UInt32 value) noexcept
Contains the workup ID; unique per instrument per day.
Definition: Messages.h:6564
ThisType & setMinLotSize(DecimalQty value) noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:2906
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:2600
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:16953
ThisType & setClearedVolume(Int32 value) noexcept
The total cleared volume of instrument traded during the prior trading session.
Definition: Messages.h:20220
ThisType & setRptSeq(UInt32 value) noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:10807
SnapshotFullRefresh52(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:27375
ThisType & setOrderPriority(UInt64 value) noexcept
Order priority for execution on the order book.
Definition: Messages.h:11035
ThisType & setAsset(StrRef value) noexcept
Product Code within Security Group specified.
Definition: Messages.h:23604
SnapshotFullRefreshTCPLongQty68(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:13715
ThisType & setTradeDate(Timestamp value) noexcept
Trade Date.
Definition: Messages.h:6535
ThisType & setDisplayFactor(Decimal9 value) noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:22457
ThisType & setEventType(EventType::Enum value) noexcept
Code to represent the type of event.
Definition: Messages.h:105
SnapshotRefreshTicker306(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:17266
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:12897
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Upper price threshold for the instrument.
Definition: Messages.h:13808
UInt32 minTradeVol() const noexcept
The minimum trading volume for a security.
Definition: Messages.h:19895
UInt64 orderPriority() const noexcept
Order priority for execution on the order book.
Definition: Messages.h:5765
ThisType & setUnderlyingProduct(UInt8 value) noexcept
Product complex.
Definition: Messages.h:19626
ThisType & setEntryType(EntryTypeBook::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:10899
IntegralConstant< UInt32, 4294967295 > NullUInt32
Null value for an optional UInt32 field.
Definition: Fields.h:162
LotTypeRules lotTypeRules(LotTypeRules::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:23158
SpectrumEntryType::Enum entryType() const noexcept
Market Data Entry Type.
Definition: Messages.h:16416
IncrementalRefreshTradeSummaryLongQty65(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:11992
EventsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2459
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:21921
static constexpr BlockLength minimalBlockLength(SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:5319
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:20858
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:32830
Timestamp localMktDateToTimestamp(LocalMktDate days) noexcept
Converts days since epoch to Timestamp value.
Definition: Fields.h:1795
StrRef unitOfMeasure() const noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:20068
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:29137
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:11581
ThisType & setMaxTradeVol(UInt32 value) noexcept
The maximum trading volume for a security.
Definition: Messages.h:29882
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:15136
bool lowLimitPrice(PRICE9 &value) const noexcept
Lower price threshold for the instrument.
Definition: Messages.h:13829
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:23299
FeedTypes feedTypes(FeedTypes::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:30469
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:24555
static constexpr InstAttribType instAttribType() noexcept
Instrument eligibility attributes.
Definition: Messages.h:359
ThisType & setLotType(Int8 value) noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:490
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:28201
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:24544
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:27702
ThisType & setEntryType(EntryTypeBook::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:5835
EntryType::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:13610
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:32189
ThisType & setTransactTime(Timestamp value) noexcept
Publication event time, sent in number of nanoseconds since Unix epoch.
Definition: Messages.h:16130
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:8407
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:8582
ThisType & setTransactTime(Timestamp value) noexcept
Timestamp of the last publication event instrument participated in, sent in number of nanoseconds sin...
Definition: Messages.h:16626
ThisType & setMarketSegmentId(UInt8 value) noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:22056
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:8203
bool numberOfOrders(Int32 &value) const noexcept
In Book Entry - Aggregate number of orders at given price level.
Definition: Messages.h:14206
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:13216
ThisType & setPriceLevel(UInt8 value) noexcept
Aggregate book level.
Definition: Messages.h:14247
LotTypeRules lotTypeRules(LotTypeRules::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:2154
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:26379
static constexpr SecurityAltIDSourceISIN securityAltIdSource() noexcept
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:8894
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:21243
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:15359
StrRef securityExchange() const noexcept
Exchange used to identify a security.
Definition: Messages.h:9202
FeedTypes feedTypes(FeedTypes::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:5070
ThisType & setEntryType(SpectrumEntryType::Enum value) noexcept
Market Data entry type, identifies the element.
Definition: Messages.h:15167
bool maturityDate(Timestamp &value) const noexcept
For Spot instruments will not contain the value.
Definition: Messages.h:8825
InstrumentDefinitionFuture54(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:19423
IntegralConstant< Int8, 0 > UpdateActionNew
MDUpdateActionNew.
Definition: Fields.h:91
static constexpr SecurityIDSource securityIdSource() noexcept
Identifies class or source of the security ID (Tag 48) value.
Definition: Messages.h:22206
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:25754
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:26782
UInt32 totNumReports() const noexcept
Total number of instruments in the replayed loop.
Definition: Messages.h:32640
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:26417
SnapshotRefreshSpectrum305(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:16602
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:24685
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:20630
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:16238
ThisType & setPutOrCall(PutOrCall::Enum value) noexcept
Indicates whether an option instrument is a put or call.
Definition: Messages.h:29665
ThisType & setFeedType(StrRef value) noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:8359
SecurityUpdateAction::Enum securityUpdateAction() const noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:691
ThisType & setTradeDate(Timestamp value) noexcept
Trade Session Date.
Definition: Messages.h:23665
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:32116
SpectrumSecurityTradingEvent::Enum securityTradingEvent() const noexcept
Signals the start of the next Global day or a Global day roll.
Definition: Messages.h:17680
FeedTypes feedTypes(FeedTypes::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:2065
ThisType & setStrikeCurrency(StrRef value) noexcept
Currency in which the StrikePrice is denominated.
Definition: Messages.h:29768
Int16 applId() const noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:19575
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:25327
UInt32 totNumReports() const noexcept
Total number of messages replayed in the loop.
Definition: Messages.h:27421
EventIndicator matchEventIndicator() const noexcept
End of updates indicator.
Definition: Messages.h:17302
Int16 applId() const noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:4019
UserDefinedInstrument userDefinedInstrument() const noexcept
User-defined instruments flag.
Definition: Messages.h:9697
ThisType & setAggressorSide(AggressorSide::Enum value) noexcept
Indicates which side is aggressor of the trade.
Definition: Messages.h:17161
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:25295
SnapshotRefreshTicker306(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:17255
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:5976
LegsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:21630
bool maturityMonthYear(MaturityMonthYear &value) const noexcept
This field provides the actual calendar date for contract maturity.
Definition: Messages.h:19799
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:12365
StrRef symbol() const noexcept
Instrument Name or Symbol.
Definition: Messages.h:29560
ThisType & setSecurityGroup(StrRef value) noexcept
Security Group.
Definition: Messages.h:23582
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:13786
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:28090
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:26408
UInt32 chunks() const noexcept
Total number of packets that constitutes a single instrument order book.
Definition: Messages.h:32681
bool strikePrice(PRICE9 &value) const noexcept
Strike Price for an option instrument.
Definition: Messages.h:29729
static constexpr EntryTypeTrade entryType() noexcept
Market Data entry type.
Definition: Messages.h:11790
ThisType & setEntrySize(Int32 value) noexcept
Indicative Opening Quantity.
Definition: Messages.h:26172
LotTypeRules lotTypeRules(LotTypeRules::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:5148
UInt32 maxTradeVol() const noexcept
The maximum trading volume for a security.
Definition: Messages.h:1079
bool mainFraction(UInt8 &value) const noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:22781
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:15013
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:140
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:28667
ThisType & setRiskSet(StrRef value) noexcept
Risk Set identifies the list of instruments sharing credit limits set up.
Definition: Messages.h:22913
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:8315
UpdateAction::Enum updateAction() const noexcept
Market Data update action.
Definition: Messages.h:26643
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential value for price banding.
Definition: Messages.h:22752
InstAttribEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2721
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:16821
TradingSessions tradingSessions(TradingSessions::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:10369
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:10409
CHAR matchAlgorithm() const noexcept
Matching algorithm.
Definition: Messages.h:22355
ThisType & setAltMinPriceIncrement(PRICE9 value)
New sub-tick which is only available for order entry when certain conditions are met, tick value which corresponds to the Alt Min Quote Life.
Definition: Messages.h:10047
ThisType & setEntryType(TickerEntryType::Enum value) noexcept
Market Data entry type, identifies the element.
Definition: Messages.h:15756
IncrementalRefreshLimitsBanding50(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:25695
StrRef currency() const noexcept
Identifies the currency for the instrument traded.
Definition: Messages.h:4243
ThisType & setEntrySize(Int32 value) noexcept
Cumulative traded volume.
Definition: Messages.h:26592
Timestamp transactTime() const noexcept
Timestamp of the last publication event instrument participated in, sent in number of nanoseconds sin...
Definition: Messages.h:17279
ThisType & setFeedType(StrRef value) noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:21271
UInt64 orderId() const noexcept
Unique order identifier as assigned by the exchange.
Definition: Messages.h:31328
IncrementalRefreshBook46 ThisType
This type alias.
Definition: Messages.h:23917
ThisType & setOpenInterestQty(Int32 value) noexcept
The total open interest for the market at the close of the prior trading session. ...
Definition: Messages.h:20189
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:18139
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:14349
ChannelReset4(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:17993
bool priceLevel(UInt8 &value) const noexcept
Aggregate book level.
Definition: Messages.h:14238
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:13974
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:10418
ThisType & setSecurityExchange(StrRef value) noexcept
Exchange used to identify a security.
Definition: Messages.h:29503
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:11421
ThisType & setTermCode(StrRef value) noexcept
Full Repo Term Code.
Definition: Messages.h:4956
bool underlyingInstrumentGUId(UInt64 &value) const noexcept
Underlying GUID.
Definition: Messages.h:3326
bool numberOfOrders(Int32 &value) const noexcept
Aggregate number of orders at the given price level.
Definition: Messages.h:27129
ThisType & setEntrySize(Int32 value) noexcept
Market Data entry size.
Definition: Messages.h:24929
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:8210
Int8 lotType() const noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:19283
SettlPriceType settlPriceType() const noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:20157
ThisType & setFinancialInstrumentFullName(StrRef value) noexcept
Financial Instrument long name.
Definition: Messages.h:17333
SbeGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:28557
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:28842
ThisType & setCouponFrequencyUnit(StrRef value) noexcept
Time unit associated with the frequency of the bond&#39;s coupon payment.
Definition: Messages.h:1671
ThisType & setMinPriceIncrementAmount(PRICE9 value) noexcept
Monetary value equivalent to the minimum price fluctuation.
Definition: Messages.h:1463
bool lowLimitPrice(PRICE9 &value) const noexcept
Lower price threshold for the instrument.
Definition: Messages.h:14652
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:28521
ThisType & setCfiCode(StrRef value) noexcept
ISO standard instrument categorization code.
Definition: Messages.h:4231
bool issueDate(Timestamp &value) const noexcept
Issue Date.
Definition: Messages.h:1483
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:21793
UInt32 rptSeq() const noexcept
MD Entry sequence number per instrument update.
Definition: Messages.h:25596
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:8463
ThisType & setUserDefinedInstrument(UserDefinedInstrument value) noexcept
User-defined instruments flag.
Definition: Messages.h:30331
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:27318
bool aggressorSide(AggressorSide::Enum &value) const noexcept
Indicates which side is aggressor of the trade.
Definition: Messages.h:15992
ThisType & setEntryType(EntryTypeStatistics::Enum value) noexcept
Market Data entry type.
Definition: Messages.h:26151
ThisType & setSymbol(StrRef value) noexcept
Instrument Name or Symbol.
Definition: Messages.h:19713
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:31312
ThisType & setDisplayQty(Int32 value) noexcept
Visible qty of order.
Definition: Messages.h:11064
FeedTypes feedTypes(FeedTypes::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:30480
SbeGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:19111
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:30710
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:25113
ThisType & setMaxTradeVol(UInt32 value) noexcept
The maximum trading volume for a security.
Definition: Messages.h:19924
bool entrySize(UInt64 &value) const noexcept
Market Data entry size.
Definition: Messages.h:15292
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential value for price banding.
Definition: Messages.h:20298
SbeGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:21209
bool mainFraction(UInt8 &value) const noexcept
Price Denominator of Main Fraction.
Definition: Messages.h:30002
ThisType & setUserDefinedInstrument(UserDefinedInstrument value) noexcept
User-defined instruments flag.
Definition: Messages.h:22343
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:6114
InstrumentDefinitionFixedIncome57(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:597
ThisType & setEntryPx(PRICE9 value) noexcept
Workup price.
Definition: Messages.h:6453
ThisType & setMaxTradeVol(UInt32 value) noexcept
The maximum trading volume for a security.
Definition: Messages.h:1088
StrRef termCode() const noexcept
Full Repo Term Code.
Definition: Messages.h:4946
ThisType & setSymbol(StrRef value) noexcept
Instrument Name or Symbol.
Definition: Messages.h:29571
ThisType & setOpenCloseSettlFlag(OpenCloseSettlFlag::Enum value) noexcept
Flag that additionally describes market data entry type.
Definition: Messages.h:13589
bool entrySize(UInt64 &value) const noexcept
Market Data entry size.
Definition: Messages.h:13484
ThisType & setMatchAlgorithm(CHAR value) noexcept
Matching Algorithm - CME assigned values.
Definition: Messages.h:4296
Int16 applId() const noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:22025
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:15381
InstrumentDefinitionSpread56(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:21850
StrRef symbol() const noexcept
Instrument Name or Symbol.
Definition: Messages.h:9268
UInt32 maxTradeVol() const noexcept
The maximum trading volume for a security.
Definition: Messages.h:4327
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current state of the instrument.
Definition: Messages.h:19554
UInt32 tradeLinkId() const noexcept
Contains the workup ID; unique per instrument per day.
Definition: Messages.h:6555
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:28705
ThisType & setSymbol(StrRef value) noexcept
Instrument Name or Symbol.
Definition: Messages.h:4157
StrRef symbol() const noexcept
Unique instrument Symbol.
Definition: Messages.h:15201
StrRef securityGroup() const noexcept
Security Group Code.
Definition: Messages.h:19659
StrRef partyRoleClearingOrg() const noexcept
Clearing organization.
Definition: Messages.h:1887
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:2607
bool lowLimitPrice(PRICE9 &value) const noexcept
Allowable low limit price for the trading day.
Definition: Messages.h:4544
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:25281
ThisType & setSettlPriceType(SettlPriceType value) noexcept
Bitmap field of eight Boolean type indicators representing settlement price type. ...
Definition: Messages.h:27271
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:23834
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:26612
LotTypeRules lotTypeRules(LotTypeRules::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:5160
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:18995
bool maxPriceVariation(PRICE9 &value) const noexcept
Differential value for price banding.
Definition: Messages.h:4573
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:3789
static constexpr const Char * className()
Entity class name.
Definition: Messages.h:24227
ThisType & setTransactTime(Timestamp value) noexcept
Timestamp of the last event security participated in, sent as number of nanoseconds since Unix epoch...
Definition: Messages.h:32733
Decimal9 displayFactor() const noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:29952
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:25310
SnapshotFullRefreshTCPLongQty68 ThisType
This type alias.
Definition: Messages.h:13393
ThisType & setEntryTime(Timestamp value) noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:16507
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:6702
static constexpr SecurityIDSource legSecurityIdSource() noexcept
Identifies source of tag 602-LegSecurityID value.
Definition: Messages.h:21681
IncrementalRefreshTicker304 ThisType
This type alias.
Definition: Messages.h:15679
#define ONIXS_CONFLATEDTCP_LTWT_STRUCT
Definition: ABI.h:88
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:18767
StrRef securityGroup() const noexcept
Security Group Code.
Definition: Messages.h:29515
Timestamp transactTime() const noexcept
Time of execution/order creation; expressed in UTC.
Definition: Messages.h:7925
bool orderPriority(UInt64 &value) const noexcept
Order priority for execution on the order book.
Definition: Messages.h:24310
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:22958
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:11412
ThisType & setApplId(Int16 value) noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:4028
Timestamp entryTime() const noexcept
Time of the last market event that contributed to element calculation or publication.
Definition: Messages.h:17073
PreviousDayFlag::Enum openCloseSettlFlag() const noexcept
Previous day elements, Global or Regional, will contain the value 4 - entry from previous business da...
Definition: Messages.h:17095
LotTypeRules lotTypeRules(LotTypeRules::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:2166
ThisType & setLotType(Int8 value) noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:8609
Events events(Events::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:30440
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:27919
ThisType & setOrderPriority(UInt64 value) noexcept
Order priority for execution on the order book.
Definition: Messages.h:31875
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:13176
Int32 securityId() const noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:15768
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:7846
UInt32 lastMsgSeqNumProcessed() const noexcept
Sequence number of the last Incremental feed packet processed.
Definition: Messages.h:27399
ThisType & setTotNumReports(UInt32 value) noexcept
Total number of instruments in the Replay loop.
Definition: Messages.h:3917
bool openCloseSettlFlag(OpenCloseSettlFlag::Enum &value) const noexcept
Flag that additionally describes a market data entry.
Definition: Messages.h:14268
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:20835
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:13057
ThisType & setUnderlyingSecurityType(StrRef value) noexcept
Underlying Security Type.
Definition: Messages.h:3199
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:7508
InstrumentDefinitionFuture54 ThisType
This type alias.
Definition: Messages.h:18846
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:20869
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:6051
ThisType & setMaxTradeVol(UInt32 value) noexcept
The maximum trading volume for a security.
Definition: Messages.h:9480
UInt64 instrumentGUId() const noexcept
External unique instrument ID.
Definition: Messages.h:15810
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:8393
StrRef symbol() const noexcept
Unique instrument Symbol.
Definition: Messages.h:17345
IncrementalRefreshVolumeLongQty66(void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block With no variable-length fields initialization It ...
Definition: Messages.h:12551
ThisType & setPriceQuoteMethod(StrRef value) noexcept
Price quotation method.
Definition: Messages.h:4835
InstAttribValue instAttribValue() const noexcept
Bitmap field of 32 Boolean type instrument eligibility flags.
Definition: Messages.h:368
StrRef asset() const noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:9246
ThisType & setPriceLevel(UInt8 value) noexcept
Aggregate book level.
Definition: Messages.h:13557
ThisType & setMatchEventIndicator(EventIndicator value) noexcept
End of updates indicator.
Definition: Messages.h:16648
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:7997
InstAttribEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:21364
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:11839
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:25674
UInt16 interveningDays() const noexcept
For SPOT, number of business days between trade date and value (settlement) date. ...
Definition: Messages.h:9795
bool minLotSize(DecimalQty &value) const noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:2893
ThisType & setEntryType(SpectrumEntryType::Enum value) noexcept
Market Data Entry Type.
Definition: Messages.h:16426
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:14823
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:12212
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:10952
ThisType & setMatchEventIndicator(MatchEventIndicator value) noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:12064
bool unitOfMeasureQty(Decimal9 &value) const noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:20093
ThisType & setApplId(Int16 value) noexcept
The channel ID as defined in the XML Configuration file.
Definition: Messages.h:9149
ThisType & setPriceDisplayFormat(UInt8 value) noexcept
Number of Decimals in Displayed Price.
Definition: Messages.h:1219
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:30723
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:25638
ThisType & setTransactTime(Timestamp value) noexcept
Publication event time, sent in number of nanoseconds since Unix epoch.
Definition: Messages.h:15449
bool entrySize(Int32 &value) const noexcept
Market Data entry size.
Definition: Messages.h:24004
Timestamp lastUpdateTime() const noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:716
ThisType & setDisplayFactor(Decimal9 value) noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:9522
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:5406
static constexpr BlockLength blockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:11934
StrRef unitOfMeasure() const noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:30091
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Size of message body in bytes.
Definition: Messages.h:18116
IncrementalRefreshLimitsBanding50(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:25720
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:24214
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:13957
UInt32 rptSeq() const noexcept
Market Data entry sequence number per instrument update.
Definition: Messages.h:10798
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:5863
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:21375
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:13752
UInt16 LocalMktDate
Type alias for the LocalMktDate.
Definition: Fields.h:61
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:2831
ThisType & setOrderQty(Int32 value) noexcept
Quantity requested.
Definition: Messages.h:27989
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:8726
SbeGroup< OrderIDEntry, GroupSize8Byte, MessageSize > OrderIDEntries
Repeating group containing OrderIDEntry entries.
Definition: Messages.h:24464
StrRef securityExchange() const noexcept
Exchange used to identify a security.
Definition: Messages.h:29493
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:12203
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current state of the instrument.
Definition: Messages.h:9106
Int8 quoteType() const noexcept
Type of quote requested.
Definition: Messages.h:28009
SbeGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:8299
Int32 securityId() const noexcept
SecurityID as referenced in MDP3 and Ilink3 protocols.
Definition: Messages.h:16723
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:18865
ThisType & setDecayQuantity(Int32 value) noexcept
Indicates the quantity that a contract will decay daily by once the decay start date is reached...
Definition: Messages.h:20338
bool altMinPriceIncrement(PRICE9 &value) const noexcept
New sub-tick which is only available for order entry when certain conditions are met, tick value which corresponds to the Alt Min Quote Life.
Definition: Messages.h:10035
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:25451
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:24656
EventType::Enum eventType() const noexcept
Code to represent the type of event.
Definition: Messages.h:18899
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:26129
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:13072
UInt8 underlyingProduct() const noexcept
Indicates the product complex.
Definition: Messages.h:812
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:28309
InstrumentDefinitionSpread56(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:21864
UInt32 minTradeVol() const noexcept
The minimum trading volume for a security.
Definition: Messages.h:29853
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:28535
bool brokenDateTermType(UInt8 &value) const noexcept
Optionally used in tailor made repo contracts and defines the type of broken dates as requested by tr...
Definition: Messages.h:4970
ThisType & setOriginalContractSize(Int32 value) noexcept
Fixed contract value assigned to each product.
Definition: Messages.h:20407
UInt64 minLotSize() const noexcept
For FX instruments in the repeating group with Tag 1093-LotType=2, Tag 1231-MinLotSize provides a Reg...
Definition: Messages.h:8627
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:461
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:17220
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:27797
UserDefinedInstrument userDefinedInstrument() const noexcept
User-defined instruments flag.
Definition: Messages.h:30321
ThisType & setSecurityType(StrRef value) noexcept
Security Type.
Definition: Messages.h:9329
ThisType & setEventType(EventType::Enum value) noexcept
Code to represent the type of event.
Definition: Messages.h:21138
TradingSessionsEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:8715
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:8589
ThisType & setSecurityTradingStatus(SecurityTradingStatus::Enum value) noexcept
Identifies the current trading state of the instrument.
Definition: Messages.h:27577
SnapshotFullRefreshLongQty69(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:14405
SbeGroupEntry< GroupSize8Byte::BlockLength > Base
Base class type.
Definition: Messages.h:10968
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:32523
StrRef symbol() const noexcept
Instrument Name or Symbol.
Definition: Messages.h:898
ThisType & setLastQty(Int32 value) noexcept
Quantity bought or sold on this last fill.
Definition: Messages.h:11919
char Char
Character type alias.
Definition: String.h:30
Int32 securityId() const noexcept
Unique instrument ID.
Definition: Messages.h:9290
EntryTypeStatistics::Enum entryType() const noexcept
Market Data entry type.
Definition: Messages.h:26141
OrderIDEntries orderIdEntries(OrderIDEntries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:24629
ThisType & setMaxPriceVariation(PRICE9 value) noexcept
Differential value for price banding.
Definition: Messages.h:9677
CHAR matchAlgorithm() const noexcept
Matching algorithm.
Definition: Messages.h:9431
IncrementalRefreshTradeSummary48(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:31444
bool instrumentGUId(UInt64 &value) const noexcept
External unique instrument ID.
Definition: Messages.h:22949
Int8 heartBtInt() const noexcept
Heartbeat interval (seconds).
Definition: Messages.h:18494
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:8277
bool tradingSessionId(MarketHrs::Enum &value) const noexcept
The associated region market hours considered for the calculation of the element. ...
Definition: Messages.h:17119
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:16255
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:14739
SbeGroup< RelatedInstrumentsEntry, GroupSize, MessageSize > RelatedInstruments
Repeating group containing RelatedInstrumentsEntry entries.
Definition: Messages.h:29235
MatchEventIndicator matchEventIndicator() const noexcept
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:26313
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:23561
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:154
ThisType & setLastMsgSeqNumProcessed(UInt32 value) noexcept
Sequence number of the last Incremental feed packet processed.
Definition: Messages.h:14430
IncrementalRefreshBookLongQty64(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:11227
InstAttrib instAttrib(InstAttrib::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:23112
static constexpr MessageSize getMinimalVariableFieldsSize(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:13271
OrderIDEntries orderIdEntries(OrderIDEntries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:24641
StrRef financialInstrumentFullName() const noexcept
Financial instrument long name.
Definition: Messages.h:15179
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:3400
ThisType & setMinLotSize(DecimalQty value) noexcept
Minimum quantity accepted for order entry.
Definition: Messages.h:28897
IncrementalRefreshVolumeLongQty66(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:12565
ThisType & setEntryPx(PRICE9 value) noexcept
Market Data entry price.
Definition: Messages.h:23984
ThisType & setSecurityId(Int32 value) noexcept
Security ID.
Definition: Messages.h:6482
ThisType & setSecurityExchange(StrRef value) noexcept
Exchange used to identify a security.
Definition: Messages.h:4091
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:16186
ThisType & setMinQuoteLife(UInt32 value) noexcept
Minimum Quote Life in number of microseconds.
Definition: Messages.h:9916
StrRef symbol() const noexcept
Instrument Name or Symbol.
Definition: Messages.h:4147
bool maturityMonthYear(MaturityMonthYear &value) const noexcept
Fixed Date NDF Maturity.
Definition: Messages.h:9980
ThisType & setHighLimitPrice(PRICE9 value) noexcept
Allowable high limit price for the trading day.
Definition: Messages.h:20249
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:23248
InstAttribEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:8452
ThisType & setUnitOfMeasure(StrRef value) noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:9567
AdminHeartbeat12(void *data, EncodedLength length, SchemaVersion version=Schema::Version)
Initializes an instance over the given memory block.
Definition: Messages.h:18259
ThisType & setEntrySize(UInt64 value) noexcept
Aggregate booked qty at price level, notional.
Definition: Messages.h:10758
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Definition: Messages.h:3414
bool securityTradingStatus(SecurityTradingStatus::Enum &value) const noexcept
Identifies the current market state of the instrument.
Definition: Messages.h:738
ThisType & setNumberOfOrders(Int32 value) noexcept
Aggregate number of orders at given price level.
Definition: Messages.h:7006
ThisType & setTradingReferenceDate(Timestamp value) noexcept
Trading session date corresponding to a statistic entry, applicable only to Daily Statistics...
Definition: Messages.h:7128
bool tradingReferencePrice(PRICE9 &value) const noexcept
Trading Reference price.
Definition: Messages.h:4446
ThisType & setInstrumentGUId(UInt64 value) noexcept
External unique instrument ID.
Definition: Messages.h:30392
StrRef unitOfMeasure() const noexcept
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:22555
ThisType & setCurrency(StrRef value) noexcept
Identifies the currency for the instrument traded.
Definition: Messages.h:4253
Null values definition for optional MaturityMonthYear field.
Definition: Composites.h:634
ThisType & setTransactTime(Timestamp value) noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:12041
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:15505
ThisType & setMarketSegmentId(UInt8 value) noexcept
Identifies the market segment, populated for all CME Globex instruments.
Definition: Messages.h:29462
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:31529
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:12093
Events events(Events::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:23017
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:16379
IncrementalRefreshBookLongQty64(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:11215
static constexpr StrRef fixType() noexcept
FIX message type.
Definition: Messages.h:23858
SecurityUpdateAction::Enum securityUpdateAction() const noexcept
Last Security update action on Incremental feed, &#39;D&#39; or &#39;M&#39; is used when a mid-week deletion or modif...
Definition: Messages.h:19492
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:23260
bool entrySize(Int32 &value) const noexcept
Indicative Opening Quantity.
Definition: Messages.h:26163
bool lowLimitPrice(PRICE9 &value) const noexcept
Lower price threshold for the instrument.
Definition: Messages.h:27627
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:16062
ThisType & setContractMultiplierUnit(Int8 value) noexcept
Indicates the type of multiplier being applied to the product.
Definition: Messages.h:20473
StrRef marketSet() const noexcept
Market Set defines the bilateral relationship and Self Match Prevention configuration for eligible ma...
Definition: Messages.h:1956
QuoteRequest39(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:28145
OrderUpdateAction::Enum orderUpdateAction() const noexcept
Order book update action to be applied to the order referenced by OrderID.
Definition: Messages.h:24400
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:11240
ThisType & setUnitOfMeasureQty(Decimal9 value) noexcept
This field contains the contract size for each instrument.
Definition: Messages.h:30126
Entry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:13422
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:10986
ThisType & setUpdateAction(UpdateAction::Enum value) noexcept
Market Data update action.
Definition: Messages.h:11778
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:28996
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:5736
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:11374
ThisType & setLastUpdateTime(Timestamp value) noexcept
UTC Date and time of last Security Definition add, update or delete on a given Market Data channel...
Definition: Messages.h:14538
bool entrySize(Int32 &value) const noexcept
Quantity of the MD Entry.
Definition: Messages.h:6933
SnapshotFullRefreshOrderBook53(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:32594
StrRef asset() const noexcept
The underlying asset code also known as Product Code.
Definition: Messages.h:29537
StrRef feedType() const noexcept
Describes a class of service for a given data feed.
Definition: Messages.h:2617
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:27771
InstAttribEntry(void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:28712
Entries entries(Entries::Size length, NoFieldsInit)
Setup repeating group with the given number of entries.
Definition: Messages.h:26364
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:25866
ThisType & setDisplayFactor(Decimal9 value) noexcept
Contains the multiplier to convert the CME Globex display price to the conventional price...
Definition: Messages.h:19968
Int16 applId() const noexcept
Indicates the channel ID as defined in the XML configuration file.
Definition: Messages.h:17899
ThisType & setTradingSessionId(MarketHrs::Enum value) noexcept
The associated region market hours considered for the calculation of the element. ...
Definition: Messages.h:17129
Timestamp eventTime() const noexcept
Date and Time of instument Activation or Expiration event sent as number of nanoseconds since Unix ep...
Definition: Messages.h:28498
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:18078
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:12716
IntegralConstant< UInt16, 65535 > NullUInt16
Null value for an optional UInt16 field.
Definition: Fields.h:1770
ThisType & setSecurityId(Int32 value) noexcept
Unique instrument ID.
Definition: Messages.h:19734
AdminLogout16(void *data, EncodedLength length, NoInit)
Creates an instance over the given memory block.
Definition: Messages.h:18676
bool couponRate(Decimal9 &value) const noexcept
The rate of interest that, when multiplied by the principal, par value, or face value of a bond...
Definition: Messages.h:1599
ThisType & setInstAttribValue(InstAttribValue value) noexcept
Bitmap field of 32 Boolean type indicators.
Definition: Messages.h:2766
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:25732
ThisType & setLotType(Int8 value) noexcept
This tag is required to interpret the value in tag 1231-MinLotSize.
Definition: Messages.h:21523
Timestamp transactTime() const noexcept
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:13154
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:12724
ThisType & reset() noexcept
Reset all variable-length and optional fields if any.
Definition: Messages.h:16829
static constexpr BlockLength minimalBlockLength(ONIXS_CONFLATEDTCP_UNUSED SchemaVersion version) noexcept
Minimal size of message body in bytes.
Definition: Messages.h:14754
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:21571
Entries entries(Entries::Size length)
Setup repeating group with the given number of entries.
Definition: Messages.h:6025
ThisType & setMaturityDate(Timestamp value) noexcept
Maturity Date.
Definition: Messages.h:1577
ThisType & resetVariableFields() noexcept
Reset all variable-length fields if any.
Definition: Messages.h:26567
StrRef marketSet() const noexcept
MarketSet defines the bilateral relationship and Self Match Prevention configuration for eligible mar...
Definition: Messages.h:4894
Timestamp lastUpdateTime() const noexcept
Timestamp of when the instrument was last added, modified or deleted.
Definition: Messages.h:29375
SbeGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:13668
InstAttribValue instAttribValue() const noexcept
Bitmap field of 32 Boolean type indicators.
Definition: Messages.h:2757
ThisType & setSettlCurrency(StrRef value) noexcept
Identifies currency used for settlement, if different from trade price currency.
Definition: Messages.h:1027
SbeGroupEntry< GroupSize::BlockLength > Base
Base class type.
Definition: Messages.h:6862
static constexpr BlockLength blockLength(SchemaVersion version) noexcept
Definition: Messages.h:2530
Int32 securityId() const noexcept
Unique instrument ID.
Definition: Messages.h:19725