OnixS C++ CME MDP Streamlined Market Data Handler  1.2.0
API Documentation
Messages.h
Go to the documentation of this file.
1 // Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2 //
3 // This software owned by Onix Solutions Limited [OnixS] and is
4 // protected by copyright law and international copyright treaties.
5 //
6 // Access to and use of the software is governed by the terms of the applicable
7 // OnixS Software Services Agreement (the Agreement) and Customer end user license
8 // agreements granting a non-assignable, non-transferable and non-exclusive license
9 // to use the software for it's own data processing purposes under the terms defined
10 // in the Agreement.
11 //
12 // Except as otherwise granted within the terms of the Agreement, copying or
13 // reproduction of any part of this source code or associated reference material
14 // to any other location for further reproduction or redistribution, and any
15 // amendments to this copyright notice, are expressly prohibited.
16 //
17 // Any reproduction or redistribution for sale or hiring of the Software not in
18 // accordance with the terms of the Agreement is a violation of copyright law.
19 //
20 
21 #pragma once
22 
23 #include <cassert>
24 #include <stdexcept>
25 
28 
30 
31 /// AdminHeartbeat.
35 {
36  /// Message template ID from SBE schema.
37  enum { TemplateId = 312 };
38 
39  /// Initializes blank instance.
41  {
42  }
43 
44  /// Initializes instance over given memory block.
46  const void* data,
47  EncodedLength length)
48  : BinaryMessage(data, length)
49  {
50  assert(TemplateId == templateId());
51 
52  if (length < blockLength(version()))
53  throwBadBinaryData(className());
54  }
55 
56  /// Size of message body in bytes.
59  {
60  return 0;
61  }
62 
63  /// Returns class name.
65  static const Char* className()
66  {
67  return "AdminHeartbeat312";
68  }
69 
70  /// FIX message type.
72  static StrRef fixType()
73  {
74  return toStrRef("0");
75  }
76 };
77 
78 /// AdminLogin.
82 {
83  /// Message template ID from SBE schema.
84  enum { TemplateId = 315 };
85 
86  /// Initializes blank instance.
88  {
89  }
90 
91  /// Initializes instance over given memory block.
93  const void* data,
94  EncodedLength length)
95  : BinaryMessage(data, length)
96  {
97  assert(TemplateId == templateId());
98 
99  if (length < blockLength(version()))
100  throwBadBinaryData(className());
101  }
102 
103  /// Heartbeat interval (seconds).
104  Int8 heartBtInt() const
105  {
106  const BlockLength offset = 0;
107 
108  return ordinary<Int8>(offset);
109  }
110 
111  /// Size of message body in bytes.
114  {
115  return 1;
116  }
117 
118  /// Returns class name.
120  static const Char* className()
121  {
122  return "AdminLogin315";
123  }
124 
125  /// FIX message type.
127  static StrRef fixType()
128  {
129  return toStrRef("A");
130  }
131 };
132 
133 /// AdminLogout.
137 {
138  /// Message template ID from SBE schema.
139  enum { TemplateId = 316 };
140 
141  /// Initializes blank instance.
143  {
144  }
145 
146  /// Initializes instance over given memory block.
148  const void* data,
149  EncodedLength length)
150  : BinaryMessage(data, length)
151  {
152  assert(TemplateId == templateId());
153 
154  if (length < blockLength(version()))
155  throwBadBinaryData(className());
156  }
157 
158  /// Free format text string. May include logout confirmation
159  /// or reason for logout.
160  StrRef text() const
161  {
162  const BlockLength offset = 0;
163  const BlockLength length = 180;
164 
165  return fixedStr<length>(offset);
166  }
167 
168  /// Size of message body in bytes.
171  {
172  return 180;
173  }
174 
175  /// Returns class name.
177  static const Char* className()
178  {
179  return "AdminLogout316";
180  }
181 
182  /// FIX message type.
184  static StrRef fixType()
185  {
186  return toStrRef("5");
187  }
188 };
189 
190 /// MDIncrementalRefreshErisReferenceDataAndDailyStatistics.
194 {
195  /// Message template ID from SBE schema.
196  enum { TemplateId = 333 };
197 
198  /// Number of entries in Market Data message.
199  /// Entry of Entry repeating group.
202  <
204  >
205  {
206  /// Aliases base class type.
207  typedef
209  <
211  >
213 
214  /// Initializes blank instance.
216  {
217  }
218 
219  /// Initializes instance of given
220  /// version over given memory block.
222  const void* data,
223  EncodedLength length,
224  SchemaVersion version)
225  : Base(data, length, version)
226  {
227  if (length < blockLength(version))
228  throwBadBinaryData(className());
229  }
230 
231  /// Number of entries in AltID group.
232  /// Entry of SecurityAltIDEntry repeating group.
235  <
237  >
238  {
239  /// Aliases base class type.
240  typedef
242  <
244  >
246 
247  /// Initializes blank instance.
249  {
250  }
251 
252  /// Initializes instance of given
253  /// version over given memory block.
255  const void* data,
256  EncodedLength length,
257  SchemaVersion version)
258  : Base(data, length, version)
259  {
260  if (length < blockLength(version))
261  throwBadBinaryData(className());
262  }
263 
264  /// Expanded instrument description.
265  bool securityAltId(StrRef& value) const
266  {
267  const BlockLength offset = 0;
268  const BlockLength length = 26;
269 
270  return fixedStr<length>(value, offset);
271  }
272 
273  /// Identifies class or source of the SecurityAltID (455)
274  /// value.
275  bool securityAltIdSource(CharNULL& value) const
276  {
277  typedef NullCharNULL Null;
278 
279  const BlockLength offset = 26;
280 
281  return ordinary(value, offset, Null());
282  }
283 
284  /// Returns size of entry body in bytes
285  /// for given version of message template.
288  {
289  return 27;
290  }
291 
292  /// Entity class name.
294  static const Char* className()
295  {
296  return "Entries.SecurityAltIDEntry";
297  }
298  };
299 
300  /// Repeating group containing SecurityAltIDEntry entries.
301  typedef
304 
305  /// Number of related instruments group.
306  /// Entry of RelatedInstrumentsEntry repeating group.
309  <
311  >
312  {
313  /// Aliases base class type.
314  typedef
316  <
318  >
320 
321  /// Initializes blank instance.
323  {
324  }
325 
326  /// Initializes instance of given
327  /// version over given memory block.
329  const void* data,
330  EncodedLength length,
331  SchemaVersion version)
332  : Base(data, length, version)
333  {
334  if (length < blockLength(version))
335  throwBadBinaryData(className());
336  }
337 
338  /// The type of instrument relationship.
339  bool relatedInstrumentType(UInt8& value) const
340  {
341  typedef NullUInt8 Null;
342 
343  const BlockLength offset = 0;
344 
345  return ordinary(value, offset, Null());
346  }
347 
348  /// Related instrument Symbol.
349  bool relatedSymbol(StrRef& value) const
350  {
351  const BlockLength offset = 1;
352  const BlockLength length = 50;
353 
354  return fixedStr<length>(value, offset);
355  }
356 
357  /// Instrument Symbol Suffix for T+1 (Next Trading day).
358  bool relatedSecurityGroup(StrRef& value) const
359  {
360  const BlockLength offset = 51;
361  const BlockLength length = 26;
362 
363  return fixedStr<length>(value, offset);
364  }
365 
366  /// Returns size of entry body in bytes
367  /// for given version of message template.
370  {
371  return 77;
372  }
373 
374  /// Entity class name.
376  static const Char* className()
377  {
378  return "Entries.RelatedInstrumentsEntry";
379  }
380  };
381 
382  /// Repeating group containing RelatedInstrumentsEntry entries.
383  typedef
386 
387  /// Number of repeating EventType entries.
388  /// Entry of EventsEntry repeating group.
391  <
393  >
394  {
395  /// Aliases base class type.
396  typedef
398  <
400  >
402 
403  /// Initializes blank instance.
405  {
406  }
407 
408  /// Initializes instance of given
409  /// version over given memory block.
411  const void* data,
412  EncodedLength length,
413  SchemaVersion version)
414  : Base(data, length, version)
415  {
416  if (length < blockLength(version))
417  throwBadBinaryData(className());
418  }
419 
420  /// Code to represent the type of event.
421  bool eventType(UInt8& value) const
422  {
423  typedef NullUInt8 Null;
424 
425  const BlockLength offset = 0;
426 
427  return ordinary(value, offset, Null());
428  }
429 
430  /// Time of event. This is number of days since unix epoch.
431  bool eventTime(UInt64& value) const
432  {
433  typedef NullUInt64 Null;
434 
435  const BlockLength offset = 1;
436 
437  return ordinary(value, offset, Null());
438  }
439 
440  /// Returns size of entry body in bytes
441  /// for given version of message template.
444  {
445  return 9;
446  }
447 
448  /// Entity class name.
450  static const Char* className()
451  {
452  return "Entries.EventsEntry";
453  }
454  };
455 
456  /// Repeating group containing EventsEntry entries.
457  typedef
460 
461  /// Indicates the type of Market Data update action.
463  {
464  const BlockLength offset = 0;
465 
466  return ordinary<CHAR>(offset);
467  }
468 
469  /// Indicates the type of Market Data entry.
470  CHAR entryType() const
471  {
472  const BlockLength offset = 1;
473 
474  return ordinary<CHAR>(offset);
475  }
476 
477  /// Sequence number per Index update.
478  UInt32 rptSeq() const
479  {
480  const BlockLength offset = 2;
481 
482  return ordinary<UInt32>(offset);
483  }
484 
485  /// Price of the Market Data Entry.
486  bool entryPx(Decimal& value) const
487  {
488  typedef NullDecimal64 Null;
489 
490  const BlockLength offset = 6;
491 
492  return decimal(value, offset, Null());
493  }
494 
495  /// Flag that identifies a market data entry.
496  bool openCloseSettlFlag(UInt8& value) const
497  {
498  typedef NullUInt8 Null;
499 
500  const BlockLength offset = 15;
501 
502  return ordinary(value, offset, Null());
503  }
504 
505  /// Indicates reference price as calculated, final or
506  /// preliminary settle.
508  {
509  const BlockLength offset = 16;
510 
511  return ordinary<SettlPriceType>(offset);
512  }
513 
514  /// Calculated Futures Price using Swap NPV, Historical fixed
515  /// and floating amounts and synthetic interest on variation
516  /// margin.
517  bool calFutPx(Decimal& value) const
518  {
519  typedef NullDecimal64 Null;
520 
521  const BlockLength offset = 17;
522 
523  return decimal(value, offset, Null());
524  }
525 
526  /// For future use.
527  bool referenceId(StrRef& value) const
528  {
529  const BlockLength offset = 26;
530  const BlockLength length = 50;
531 
532  return fixedStr<length>(value, offset);
533  }
534 
535  /// Quantity or volume represented by the Market Data Entry.
536  bool entrySize(UInt64& value) const
537  {
538  typedef NullUInt64 Null;
539 
540  const BlockLength offset = 76;
541 
542  return ordinary(value, offset, Null());
543  }
544 
545  /// Instrument, Index, Swap Name.
546  bool symbol(StrRef& value) const
547  {
548  const BlockLength offset = 84;
549  const BlockLength length = 50;
550 
551  return fixedStr<length>(value, offset);
552  }
553 
554  /// Indicates the product code for the instrument.
555  bool securityGroup(StrRef& value) const
556  {
557  const BlockLength offset = 134;
558  const BlockLength length = 26;
559 
560  return fixedStr<length>(value, offset);
561  }
562 
563  /// Indicates the type of product the instrument is associated
564  /// with in the message.
565  bool product(UInt8& value) const
566  {
567  typedef NullUInt8 Null;
568 
569  const BlockLength offset = 160;
570 
571  return ordinary(value, offset, Null());
572  }
573 
574  /// Indicates type of security.
575  bool securityType(StrRef& value) const
576  {
577  const BlockLength offset = 161;
578  const BlockLength length = 9;
579 
580  return fixedStr<length>(value, offset);
581  }
582 
583  /// Market used to help identify an instrument.
585  {
586  const BlockLength offset = 170;
587  const BlockLength length = 4;
588 
589  return fixedStr<length>(offset);
590  }
591 
592  /// Maturity date of instrument.
593  bool maturityDate(Timestamp& value) const
594  {
595  typedef NullLocalMktDate Null;
596  typedef LocalMktDate FieldValue;
597 
598  const BlockLength offset = 174;
599 
600  FieldValue fieldValue;
601 
602  if (ordinary(fieldValue, offset, Null()))
603  {
604  value = localMktDateToTimestamp(fieldValue);
605  return true;
606  }
607  return false;
608  }
609 
610  /// The rate of the fixed leg.
611  bool couponRate(Decimal& value) const
612  {
613  typedef NullDecimal32NULL Null;
614 
615  const BlockLength offset = 176;
616 
617  return decimal(value, offset, Null());
618  }
619 
620  /// Pricing date.
621  bool tradeDate(Timestamp& value) const
622  {
623  typedef NullLocalMktDate Null;
624  typedef LocalMktDate FieldValue;
625 
626  const BlockLength offset = 181;
627 
628  FieldValue fieldValue;
629 
630  if (ordinary(fieldValue, offset, Null()))
631  {
632  value = localMktDateToTimestamp(fieldValue);
633  return true;
634  }
635  return false;
636  }
637 
638  /// Shows the coupon rate that would result in a zero-NPV swap.
639  bool fairCouponPct(Decimal& value) const
640  {
641  typedef NullDecimal64 Null;
642 
643  const BlockLength offset = 183;
644 
645  return decimal(value, offset, Null());
646  }
647 
648  /// The date the floating rate was set for the next floating
649  /// payment.
650  bool legPurchaseRate(Decimal& value) const
651  {
652  typedef NullDecimal64 Null;
653 
654  const BlockLength offset = 192;
655 
656  return decimal(value, offset, Null());
657  }
658 
659  /// The NPV (Net Present Value) for the fixed leg of the
660  /// trade, calculated that day. NPV is per 100 notional.
661  bool fixedNPV(Decimal& value) const
662  {
663  typedef NullDecimal64 Null;
664 
665  const BlockLength offset = 201;
666 
667  return decimal(value, offset, Null());
668  }
669 
670  /// The NPV (Net Present Value) for the floating leg of the
671  /// trade, calculated that day. NPV is per 100 notional.
672  bool floatNPV(Decimal& value) const
673  {
674  typedef NullDecimal64 Null;
675 
676  const BlockLength offset = 210;
677 
678  return decimal(value, offset, Null());
679  }
680 
681  /// The NPV represents net present value of the future cash
682  /// flows at time t.
683  bool npv(Decimal& value) const
684  {
685  typedef NullDecimal64 Null;
686 
687  const BlockLength offset = 219;
688 
689  return decimal(value, offset, Null());
690  }
691 
692  /// This value represents accumulated fixed and floating
693  /// amounts.
694  bool accruedCoupons(Decimal& value) const
695  {
696  typedef NullDecimal64 Null;
697 
698  const BlockLength offset = 228;
699 
700  return decimal(value, offset, Null());
701  }
702 
703  /// This number represents the day over day variation margin
704  /// for 1 contract for this instrument ID or Eris PAI.
705  bool dailyIncrementalErisPAI(Decimal& value) const
706  {
707  typedef NullDecimal64 Null;
708 
709  const BlockLength offset = 237;
710 
711  return decimal(value, offset, Null());
712  }
713 
714  /// This is the cumulative daily interest adjustment.
715  bool erisPAI(Decimal& value) const
716  {
717  typedef NullDecimal64 Null;
718 
719  const BlockLength offset = 246;
720 
721  return decimal(value, offset, Null());
722  }
723 
724  /// The Fed Funds Rate published for the Fed Funds Date by the
725  /// New York Federal Reserve.
726  bool fedFundsRate(Decimal& value) const
727  {
728  typedef NullDecimal64 Null;
729 
730  const BlockLength offset = 255;
731 
732  return decimal(value, offset, Null());
733  }
734 
735  /// Minimum tick for a product (only sent if not eligible for
736  /// VTT).
737  bool minPriceIncrement(Decimal& value) const
738  {
739  typedef NullDecimal64 Null;
740 
741  const BlockLength offset = 264;
742 
743  return decimal(value, offset, Null());
744  }
745 
746  /// Fixed payment that occurs on the Evaluation Date.
747  bool fixedPayment(Decimal& value) const
748  {
749  typedef NullDecimal64 Null;
750 
751  const BlockLength offset = 273;
752 
753  return decimal(value, offset, Null());
754  }
755 
756  /// Floating Payment that occurs on the Evaulation Date.
757  bool floatingPayment(Decimal& value) const
758  {
759  typedef NullDecimal64 Null;
760 
761  const BlockLength offset = 282;
762 
763  return decimal(value, offset, Null());
764  }
765 
766  /// The date the next fixed payment will be made.
767  bool nextFixedPaymentDate(Timestamp& value) const
768  {
769  typedef NullLocalMktDate Null;
770  typedef LocalMktDate FieldValue;
771 
772  const BlockLength offset = 291;
773 
774  FieldValue fieldValue;
775 
776  if (ordinary(fieldValue, offset, Null()))
777  {
778  value = localMktDateToTimestamp(fieldValue);
779  return true;
780  }
781  return false;
782  }
783 
784  /// The next fixed payment amount.
785  bool nextFixedPaymentAmount(Decimal& value) const
786  {
787  typedef NullDecimal64 Null;
788 
789  const BlockLength offset = 293;
790 
791  return decimal(value, offset, Null());
792  }
793 
794  /// The next floating payment amount.
796  {
797  typedef NullDecimal64 Null;
798 
799  const BlockLength offset = 302;
800 
801  return decimal(value, offset, Null());
802  }
803 
804  /// Indicates the business date for previous settlement price.
805  bool tradingReferenceDate(Timestamp& value) const
806  {
807  typedef NullLocalMktDate Null;
808  typedef LocalMktDate FieldValue;
809 
810  const BlockLength offset = 311;
811 
812  FieldValue fieldValue;
813 
814  if (ordinary(fieldValue, offset, Null()))
815  {
816  value = localMktDateToTimestamp(fieldValue);
817  return true;
818  }
819  return false;
820  }
821 
822  /// The Eris PAI on the Previous Settlement Date.
823  bool previousErisPAI(Decimal& value) const
824  {
825  typedef NullDecimal64 Null;
826 
827  const BlockLength offset = 313;
828 
829  return decimal(value, offset, Null());
830  }
831 
832  /// The date that the for which the fed funds date was
833  /// published.
834  bool fedFundsDate(Timestamp& value) const
835  {
836  typedef NullLocalMktDate Null;
837  typedef LocalMktDate FieldValue;
838 
839  const BlockLength offset = 322;
840 
841  FieldValue fieldValue;
842 
843  if (ordinary(fieldValue, offset, Null()))
844  {
845  value = localMktDateToTimestamp(fieldValue);
846  return true;
847  }
848  return false;
849  }
850 
851  /// How many days have passed since settlement price was last
852  /// calculated.
853  bool accrualDays(UInt32& value) const
854  {
855  typedef NullUInt32 Null;
856 
857  const BlockLength offset = 324;
858 
859  return ordinary(value, offset, Null());
860  }
861 
862  /// This is the notional value used to calculate NPV and Fixed
863  /// and Floating Payment amounts.
864  bool minal(UInt64& value) const
865  {
866  typedef NullUInt64 Null;
867 
868  const BlockLength offset = 328;
869 
870  return ordinary(value, offset, Null());
871  }
872 
873  /// Description of Float Rate.
874  bool legCreditRating(StrRef& value) const
875  {
876  const BlockLength offset = 336;
877  const BlockLength length = 6;
878 
879  return fixedStr<length>(value, offset);
880  }
881 
882  /// Multiplier that when applied on longer rate results in
883  /// PreviousFixingRate.
884  bool legContractMultiplier(Decimal& value) const
885  {
886  typedef NullDecimal64 Null;
887 
888  const BlockLength offset = 342;
889 
890  return decimal(value, offset, Null());
891  }
892 
893  /// The date the next floating payment will be made.
895  {
896  typedef NullLocalMktDate Null;
897  typedef LocalMktDate FieldValue;
898 
899  const BlockLength offset = 351;
900 
901  FieldValue fieldValue;
902 
903  if (ordinary(fieldValue, offset, Null()))
904  {
905  value = localMktDateToTimestamp(fieldValue);
906  return true;
907  }
908  return false;
909  }
910 
911  /// The present value of a 1bp change in the fixed rate.
912  bool pV01(Decimal& value) const
913  {
914  typedef NullDecimal64 Null;
915 
916  const BlockLength offset = 353;
917 
918  return decimal(value, offset, Null());
919  }
920 
921  /// Present value of on basis points change in value if yield
922  /// curve shifts 1bp.
923  bool dV01(Decimal& value) const
924  {
925  typedef NullDecimal64 Null;
926 
927  const BlockLength offset = 362;
928 
929  return decimal(value, offset, Null());
930  }
931 
932  /// Final Settlement Price in NPV terms.
933  bool settlementNPV(Decimal& value) const
934  {
935  typedef NullDecimal64 Null;
936 
937  const BlockLength offset = 371;
938 
939  return decimal(value, offset, Null());
940  }
941 
942  /// Final Settlement Futures Prices.
944  {
945  typedef NullDecimal64 Null;
946 
947  const BlockLength offset = 380;
948 
949  return decimal(value, offset, Null());
950  }
951 
952  /// Ticker symbol. Common, &amp;quot;human
953  /// understood&amp;quot; representation of the security.
954  bool securityDescription(StrRef& value) const
955  {
956  const BlockLength offset = 389;
957  const BlockLength length = 30;
958 
959  return fixedStr<length>(value, offset);
960  }
961 
962  /// Returns instance of SecurityAltID repeating group.
964  {
965  return
966  groups().
967  head<SecurityAltID>();
968  }
969 
970  /// Returns instance of RelatedInstruments repeating group.
972  {
973  return
974  groups().
975  tail<SecurityAltID>().
976  head<RelatedInstruments>();
977  }
978 
979  /// Returns instance of Events repeating group.
980  Events events() const
981  {
982  return
983  groups().
984  tail<SecurityAltID>().
985  tail<RelatedInstruments>().
986  head<Events>();
987  }
988 
989  /// Returns size of entry body in bytes
990  /// for given version of message template.
993  {
994  return 419;
995  }
996 
997  /// Returns reference to the next item.
999  {
1000  const void* body = events().end().get().body();
1001  return Entry(
1002  body,
1003  blockLength(version()),
1004  version());
1005  }
1006 
1007  /// Entity class name.
1009  static const Char* className()
1010  {
1011  return "IncrementalRefreshErisReferenceDataAndDailyStatistics333.Entry";
1012  }
1013  };
1014 
1015  /// Repeating group containing Entry entries.
1016  typedef
1019 
1020  /// Initializes blank instance.
1022  {
1023  }
1024 
1025  /// Initializes instance over given memory block.
1027  const void* data,
1028  EncodedLength length)
1029  : BinaryMessage(data, length)
1030  {
1031  assert(TemplateId == templateId());
1032 
1033  if (length < blockLength(version()))
1034  throwBadBinaryData(className());
1035  }
1036 
1037  /// Start of event processing time in number of nanoseconds
1038  /// since Unix epoch.
1040  {
1041  const BlockLength offset = 0;
1042 
1043  return ordinary<Timestamp>(offset);
1044  }
1045 
1046  /// Bitmap field of eight Boolean type indicators reflecting
1047  /// the end of updates for a given event.
1049  {
1050  const BlockLength offset = 8;
1051 
1052  return ordinary<MatchEventIndicator>(offset);
1053  }
1054 
1055  /// Total number of messages contained within batch which is
1056  /// defined by match event indicator (5799).
1057  bool batchTotalMessages(UInt16& value) const
1058  {
1059  typedef NullUInt16 Null;
1060 
1061  const BlockLength offset = 9;
1062 
1063  return ordinary(value, offset, Null());
1064  }
1065 
1066  /// Returns instance of Entries repeating group.
1068  {
1069  return
1070  groups().
1071  head<Entries>();
1072  }
1073 
1074  /// Size of message body in bytes.
1077  {
1078  return 11;
1079  }
1080 
1081  /// Returns class name.
1083  static const Char* className()
1084  {
1085  return "IncrementalRefreshErisReferenceDataAndDailyStatistics333";
1086  }
1087 
1088  /// FIX message type.
1090  static StrRef fixType()
1091  {
1092  return toStrRef("X");
1093  }
1094 };
1095 
1096 /// MDNewsIndices.
1099 : BinaryMessage
1100 {
1101  /// Message template ID from SBE schema.
1102  enum { TemplateId = 339 };
1103 
1104  /// Specifies the number of repeating symbols specified.
1105  /// Entry of RelatedSymEntry repeating group.
1108  <
1110  >
1111  {
1112  /// Aliases base class type.
1113  typedef
1115  <
1117  >
1119 
1120  /// Initializes blank instance.
1122  {
1123  }
1124 
1125  /// Initializes instance of given
1126  /// version over given memory block.
1128  const void* data,
1129  EncodedLength length,
1130  SchemaVersion version)
1131  : Base(data, length, version)
1132  {
1133  if (length < blockLength(version))
1134  throwBadBinaryData(className());
1135  }
1136 
1137  /// A specific moniter assigned to a group of related
1138  /// securities which may be concurrently affected by market
1139  /// events and actions. Falcon ignores the incoming value
1140  /// except when null and returns back the correct one in the
1141  /// outgoing execution report.
1142  bool symbol(StrRef& value) const
1143  {
1144  const BlockLength offset = 0;
1145  const BlockLength length = 50;
1146 
1147  return fixedStr<length>(value, offset);
1148  }
1149 
1150  /// Returns size of entry body in bytes
1151  /// for given version of message template.
1154  {
1155  return 50;
1156  }
1157 
1158  /// Entity class name.
1160  static const Char* className()
1161  {
1162  return "NewsIndices339.RelatedSymEntry";
1163  }
1164  };
1165 
1166  /// Repeating group containing RelatedSymEntry entries.
1167  typedef
1170 
1171  /// Identifies number of lines of text body.
1172  /// Entry of LinesOfTextEntry repeating group.
1175  <
1177  >
1178  {
1179  /// Aliases base class type.
1180  typedef
1182  <
1184  >
1186 
1187  /// Initializes blank instance.
1189  {
1190  }
1191 
1192  /// Initializes instance of given
1193  /// version over given memory block.
1195  const void* data,
1196  EncodedLength length,
1197  SchemaVersion version)
1198  : Base(data, length, version)
1199  {
1200  if (length < blockLength(version))
1201  throwBadBinaryData(className());
1202  }
1203 
1204  /// This general purpose text field could contain any post-
1205  /// trade instructions used by customers based on mutual
1206  /// understanding with their clearing firm. If incoming value
1207  /// is greater than max length then take the right most fifty
1208  /// bytes. No validation is done for valid values and this is
1209  /// a pass through to clearing. After any right justification
1210  /// if applicable the incoming value is flipped back in the
1211  /// execution report and also becomes an attribute of the
1212  /// order.
1213  StrRef text() const
1214  {
1215  const BlockLength offset = 0;
1216  const BlockLength length = 500;
1217 
1218  return fixedStr<length>(offset);
1219  }
1220 
1221  /// Returns size of entry body in bytes
1222  /// for given version of message template.
1225  {
1226  return 500;
1227  }
1228 
1229  /// Entity class name.
1231  static const Char* className()
1232  {
1233  return "NewsIndices339.LinesOfTextEntry";
1234  }
1235  };
1236 
1237  /// Repeating group containing LinesOfTextEntry entries.
1238  typedef
1241 
1242  /// Initializes blank instance.
1244  {
1245  }
1246 
1247  /// Initializes instance over given memory block.
1249  const void* data,
1250  EncodedLength length)
1251  : BinaryMessage(data, length)
1252  {
1253  assert(TemplateId == templateId());
1254 
1255  if (length < blockLength(version()))
1256  throwBadBinaryData(className());
1257  }
1258 
1259  /// The headline of a News message.
1260  bool headline(StrRef& value) const
1261  {
1262  const BlockLength offset = 0;
1263  const BlockLength length = 50;
1264 
1265  return fixedStr<length>(value, offset);
1266  }
1267 
1268  /// Time of message origination expressed as number of
1269  /// nanoseconds since unix epoch.
1270  bool origTime(Timestamp& value) const
1271  {
1272  typedef NullUInt64 Null;
1273 
1274  const BlockLength offset = 50;
1275 
1276  return ordinary(value, offset, Null());
1277  }
1278 
1279  /// Describes a class of service for a given data feed.
1280  bool feedType(StrRef& value) const
1281  {
1282  const BlockLength offset = 58;
1283  const BlockLength length = 2;
1284 
1285  return fixedStr<length>(value, offset);
1286  }
1287 
1288  /// Returns instance of RelatedSym repeating group.
1290  {
1291  return
1292  groups().
1293  head<RelatedSym>();
1294  }
1295 
1296  /// Returns instance of LinesOfText repeating group.
1298  {
1299  return
1300  groups().
1301  tail<RelatedSym>().
1302  head<LinesOfText>();
1303  }
1304 
1305  /// Size of message body in bytes.
1308  {
1309  return 60;
1310  }
1311 
1312  /// Returns class name.
1314  static const Char* className()
1315  {
1316  return "NewsIndices339";
1317  }
1318 
1319  /// FIX message type.
1321  static StrRef fixType()
1322  {
1323  return toStrRef("B");
1324  }
1325 };
1326 
1327 /// MDIncrementalRefreshTradeBlocks.
1330 : BinaryMessage
1331 {
1332  /// Message template ID from SBE schema.
1333  enum { TemplateId = 340 };
1334 
1335  /// Number of entries in Market Data message.
1336  /// Entry of Entry repeating group.
1339  <
1341  >
1342  {
1343  /// Aliases base class type.
1344  typedef
1346  <
1348  >
1350 
1351  /// Initializes blank instance.
1353  {
1354  }
1355 
1356  /// Initializes instance of given
1357  /// version over given memory block.
1359  const void* data,
1360  EncodedLength length,
1361  SchemaVersion version)
1362  : Base(data, length, version)
1363  {
1364  if (length < blockLength(version))
1365  throwBadBinaryData(className());
1366  }
1367 
1368  /// Number of underlying legs that make up the security.
1369  /// Entry of UnderlyingsEntry repeating group.
1372  <
1374  >
1375  {
1376  /// Aliases base class type.
1377  typedef
1379  <
1381  >
1383 
1384  /// Initializes blank instance.
1386  {
1387  }
1388 
1389  /// Initializes instance of given
1390  /// version over given memory block.
1392  const void* data,
1393  EncodedLength length,
1394  SchemaVersion version)
1395  : Base(data, length, version)
1396  {
1397  if (length < blockLength(version))
1398  throwBadBinaryData(className());
1399  }
1400 
1401  /// Underlying Security's symbol.
1402  bool underlyingSymbol(StrRef& value) const
1403  {
1404  const BlockLength offset = 0;
1405  const BlockLength length = 50;
1406 
1407  return fixedStr<length>(value, offset);
1408  }
1409 
1410  /// Underlying Security's MaturityMonthYear.
1412  {
1413  typedef NullMaturityMonthYear Null;
1414 
1415  const BlockLength offset = 50;
1416 
1417  return ordinary(value, offset, Null());
1418  }
1419 
1420  /// Underlying Security's SecurityType.
1421  bool underlyingSecurityType(StrRef& value) const
1422  {
1423  const BlockLength offset = 55;
1424  const BlockLength length = 9;
1425 
1426  return fixedStr<length>(value, offset);
1427  }
1428 
1429  /// Underlying Security's SecurityExchange.
1431  {
1432  const BlockLength offset = 64;
1433  const BlockLength length = 4;
1434 
1435  return fixedStr<length>(value, offset);
1436  }
1437 
1438  /// Returns size of entry body in bytes
1439  /// for given version of message template.
1442  {
1443  return 68;
1444  }
1445 
1446  /// Entity class name.
1448  static const Char* className()
1449  {
1450  return "Entries.UnderlyingsEntry";
1451  }
1452  };
1453 
1454  /// Repeating group containing UnderlyingsEntry entries.
1455  typedef
1458 
1459  /// Number of party roles.
1460  /// Entry of PartyIDsEntry repeating group.
1463  <
1465  >
1466  {
1467  /// Aliases base class type.
1468  typedef
1470  <
1472  >
1474 
1475  /// Initializes blank instance.
1477  {
1478  }
1479 
1480  /// Initializes instance of given
1481  /// version over given memory block.
1483  const void* data,
1484  EncodedLength length,
1485  SchemaVersion version)
1486  : Base(data, length, version)
1487  {
1488  if (length < blockLength(version))
1489  throwBadBinaryData(className());
1490  }
1491 
1492  /// Party identifier/code.
1493  bool partyId(StrRef& value) const
1494  {
1495  const BlockLength offset = 0;
1496  const BlockLength length = 50;
1497 
1498  return fixedStr<length>(value, offset);
1499  }
1500 
1501  /// Identifies the type or role of the PartyID specified.
1502  bool partyRole(StrRef& value) const
1503  {
1504  const BlockLength offset = 50;
1505  const BlockLength length = 2;
1506 
1507  return fixedStr<length>(value, offset);
1508  }
1509 
1510  /// Returns size of entry body in bytes
1511  /// for given version of message template.
1514  {
1515  return 52;
1516  }
1517 
1518  /// Entity class name.
1520  static const Char* className()
1521  {
1522  return "Entries.PartyIDsEntry";
1523  }
1524  };
1525 
1526  /// Repeating group containing PartyIDsEntry entries.
1527  typedef
1530 
1531  /// Number of legs (repeating groups).
1532  /// Entry of LegsEntry repeating group.
1535  <
1537  >
1538  {
1539  /// Aliases base class type.
1540  typedef
1542  <
1544  >
1546 
1547  /// Initializes blank instance.
1549  {
1550  }
1551 
1552  /// Initializes instance of given
1553  /// version over given memory block.
1555  const void* data,
1556  EncodedLength length,
1557  SchemaVersion version)
1558  : Base(data, length, version)
1559  {
1560  if (length < blockLength(version))
1561  throwBadBinaryData(className());
1562  }
1563 
1564  /// This tag contains the instrument group of the requested
1565  /// security definition. Must be present when tag 555-NoLegs
1566  /// is present. Also must be first tag in repeating group.
1567  /// Multileg instrument's individual security's Symbol.
1568  bool legSymbol(StrRef& value) const
1569  {
1570  const BlockLength offset = 0;
1571  const BlockLength length = 50;
1572 
1573  return fixedStr<length>(value, offset);
1574  }
1575 
1576  /// Multileg instrument's individual security's SecurityID.
1577  bool legSecurityId(UInt64& value) const
1578  {
1579  typedef NullUInt64 Null;
1580 
1581  const BlockLength offset = 50;
1582 
1583  return ordinary(value, offset, Null());
1584  }
1585 
1586  /// Identifies source of tag 602-LegSecurityID value. This
1587  /// value is always 'H' for CME.
1589  {
1590  return LegSecurityIDSource();
1591  }
1592 
1593  /// Leg equivalent of body tag 1151-SecurityGroup (i.e. leg
1594  /// 'product code').
1595  bool legSecurityGroup(StrRef& value) const
1596  {
1597  const BlockLength offset = 58;
1598  const BlockLength length = 12;
1599 
1600  return fixedStr<length>(value, offset);
1601  }
1602 
1603  /// Used to correlate leg instrument definitions with their
1604  /// executions.Cross referenced in Tag 654.
1605  bool legId(StrRef& value) const
1606  {
1607  const BlockLength offset = 70;
1608  const BlockLength length = 17;
1609 
1610  return fixedStr<length>(value, offset);
1611  }
1612 
1613  /// Identifies the type of leg instrument.
1614  bool legSecurityType(StrRef& value) const
1615  {
1616  const BlockLength offset = 87;
1617  const BlockLength length = 9;
1618 
1619  return fixedStr<length>(value, offset);
1620  }
1621 
1622  /// Multileg instrument's individual security's leg
1623  /// MaturityMonthYear.
1625  {
1626  typedef NullMaturityMonthYear Null;
1627 
1628  const BlockLength offset = 96;
1629 
1630  return ordinary(value, offset, Null());
1631  }
1632 
1633  /// Multileg instrument's individual security's leg
1634  /// MaturityDate.
1635  bool legMaturityDate(Timestamp& value) const
1636  {
1637  typedef NullLocalMktDate Null;
1638  typedef LocalMktDate FieldValue;
1639 
1640  const BlockLength offset = 101;
1641 
1642  FieldValue fieldValue;
1643 
1644  if (ordinary(fieldValue, offset, Null()))
1645  {
1646  value = localMktDateToTimestamp(fieldValue);
1647  return true;
1648  }
1649  return false;
1650  }
1651 
1652  /// Multileg instrument's individual security's StrikePrice.
1653  bool legStrikePrice(Decimal& value) const
1654  {
1655  typedef NullPRICENULL Null;
1656 
1657  const BlockLength offset = 103;
1658 
1659  return decimal(value, offset, Null());
1660  }
1661 
1662  /// Multileg instrument's individual security's leg
1663  /// UnitOfMeasure.
1664  bool legUnitOfMeasure(StrRef& value) const
1665  {
1666  const BlockLength offset = 111;
1667  const BlockLength length = 5;
1668 
1669  return fixedStr<length>(value, offset);
1670  }
1671 
1672  /// Multileg instrument's individual security's leg
1673  /// UnitOfMeasureQty.
1674  bool legUnitOfMeasureQty(Decimal& value) const
1675  {
1676  typedef NullPRICENULL Null;
1677 
1678  const BlockLength offset = 116;
1679 
1680  return decimal(value, offset, Null());
1681  }
1682 
1683  /// Multileg instrument's individual security's leg
1684  /// SecurityExchange.
1685  bool legSecurityExchange(StrRef& value) const
1686  {
1687  const BlockLength offset = 124;
1688  const BlockLength length = 4;
1689 
1690  return fixedStr<length>(value, offset);
1691  }
1692 
1693  /// The ratio of quantity for this individual leg relative to
1694  /// the entire multileg security.
1695  bool legRatioQty(UInt16& value) const
1696  {
1697  typedef NullUInt16 Null;
1698 
1699  const BlockLength offset = 128;
1700 
1701  return ordinary(value, offset, Null());
1702  }
1703 
1704  /// The side of this individual leg (multileg security).
1705  bool legSide(UInt8& value) const
1706  {
1707  typedef NullUInt8 Null;
1708 
1709  const BlockLength offset = 130;
1710 
1711  return ordinary(value, offset, Null());
1712  }
1713 
1714  /// Multileg instrument's individual security's leg option put
1715  /// or call.
1716  bool legPutOrCall(UInt8& value) const
1717  {
1718  typedef NullUInt8 Null;
1719 
1720  const BlockLength offset = 131;
1721 
1722  return ordinary(value, offset, Null());
1723  }
1724 
1725  /// Indicates the currency of the unit of measure.
1726  /// Conditionally required when LegUnitOfMeasure(999) = Ccy.
1728  {
1729  const BlockLength offset = 132;
1730  const BlockLength length = 3;
1731 
1732  return fixedStr<length>(value, offset);
1733  }
1734 
1735  /// Returns size of entry body in bytes
1736  /// for given version of message template.
1739  {
1740  return 135;
1741  }
1742 
1743  /// Entity class name.
1745  static const Char* className()
1746  {
1747  return "Entries.LegsEntry";
1748  }
1749  };
1750 
1751  /// Repeating group containing LegsEntry entries.
1752  typedef
1755 
1756  /// Market Data update Action.
1758  {
1759  const BlockLength offset = 0;
1760 
1761  return enumeration<UpdateAction>(offset);
1762  }
1763 
1764  /// Market Data Entry Type.
1766  {
1767  return EntryTypeTrade();
1768  }
1769 
1770  /// Unique security ID.
1771  bool securityId(UInt64& value) const
1772  {
1773  typedef NullUInt64 Null;
1774 
1775  const BlockLength offset = 1;
1776 
1777  return ordinary(value, offset, Null());
1778  }
1779 
1780  /// MD Entry sequence number per instrument update. Reset
1781  /// weekly.
1782  UInt32 rptSeq() const
1783  {
1784  const BlockLength offset = 9;
1785 
1786  return ordinary<UInt32>(offset);
1787  }
1788 
1789  /// Price of the Market Data Entry.
1790  bool entryPx(Decimal& value) const
1791  {
1792  typedef NullPRICENULL Null;
1793 
1794  const BlockLength offset = 13;
1795 
1796  return decimal(value, offset, Null());
1797  }
1798 
1799  /// Traded quantity.
1800  bool entrySize(UInt64& value) const
1801  {
1802  typedef NullUInt64 Null;
1803 
1804  const BlockLength offset = 21;
1805 
1806  return ordinary(value, offset, Null());
1807  }
1808 
1809  /// The total number of real orders per instrument that
1810  /// participated in a match step within a match event.
1811  bool numberOfOrders(Int32& value) const
1812  {
1813  typedef NullInt32 Null;
1814 
1815  const BlockLength offset = 29;
1816 
1817  return ordinary(value, offset, Null());
1818  }
1819 
1820  /// Unique Trade Entry ID per Instrument and Trading Date.
1821  Int32 tradeId() const
1822  {
1823  const BlockLength offset = 33;
1824 
1825  return ordinary<Int32>(offset);
1826  }
1827 
1828  /// Indicates which side is aggressor of the trade. If there
1829  /// is no value present, then there is no aggressor.
1830  bool
1832  AggressorSide::Enum& value) const
1833  {
1834  typedef NullUInt8 Null;
1835 
1836  const BlockLength offset = 37;
1837 
1838  return enumeration<AggressorSide>(value, offset, Null());
1839  }
1840 
1841  /// Instrument/Index/Swap Name.
1842  bool symbol(StrRef& value) const
1843  {
1844  const BlockLength offset = 38;
1845  const BlockLength length = 50;
1846 
1847  return fixedStr<length>(value, offset);
1848  }
1849 
1850  /// Indicates the product code for the instrument.
1851  bool securityGroup(StrRef& value) const
1852  {
1853  const BlockLength offset = 88;
1854  const BlockLength length = 12;
1855 
1856  return fixedStr<length>(value, offset);
1857  }
1858 
1859  /// Identifies the type of instrument.
1860  bool securityType(StrRef& value) const
1861  {
1862  const BlockLength offset = 100;
1863  const BlockLength length = 9;
1864 
1865  return fixedStr<length>(value, offset);
1866  }
1867 
1868  /// SecuritySubType for CDS only.
1869  bool securitySubType(StrRef& value) const
1870  {
1871  const BlockLength offset = 109;
1872  const BlockLength length = 2;
1873 
1874  return fixedStr<length>(value, offset);
1875  }
1876 
1877  /// This field provides the actual calendar date for contract
1878  /// maturity month and year (used for standardized futures and
1879  /// options).
1881  {
1882  typedef NullMaturityMonthYear Null;
1883 
1884  const BlockLength offset = 111;
1885 
1886  return ordinary(value, offset, Null());
1887  }
1888 
1889  /// Market used to help identify an instrument.
1890  bool securityExchange(StrRef& value) const
1891  {
1892  const BlockLength offset = 116;
1893  const BlockLength length = 4;
1894 
1895  return fixedStr<length>(value, offset);
1896  }
1897 
1898  /// Maturity date of instrument.
1899  bool maturityDate(Timestamp& value) const
1900  {
1901  typedef NullLocalMktDate Null;
1902  typedef LocalMktDate FieldValue;
1903 
1904  const BlockLength offset = 120;
1905 
1906  FieldValue fieldValue;
1907 
1908  if (ordinary(fieldValue, offset, Null()))
1909  {
1910  value = localMktDateToTimestamp(fieldValue);
1911  return true;
1912  }
1913  return false;
1914  }
1915 
1916  /// Unit of measure for the products' original contract size.
1917  bool unitOfMeasure(StrRef& value) const
1918  {
1919  const BlockLength offset = 122;
1920  const BlockLength length = 5;
1921 
1922  return fixedStr<length>(value, offset);
1923  }
1924 
1925  /// Indicates the ISO Currency code if it is a currency
1926  /// product.
1927  bool unitOfMeasureCurrency(StrRef& value) const
1928  {
1929  const BlockLength offset = 127;
1930  const BlockLength length = 3;
1931 
1932  return fixedStr<length>(value, offset);
1933  }
1934 
1935  /// This field contains the notional value for each
1936  /// instrument. The notional value is equivalent to the
1937  /// corresponding premium-quoted contract.
1938  bool unitOfMeasureQty(Decimal& value) const
1939  {
1940  typedef NullPRICENULL Null;
1941 
1942  const BlockLength offset = 130;
1943 
1944  return decimal(value, offset, Null());
1945  }
1946 
1947  /// The rate of interest that, when multiplied by the
1948  /// principal, par value, or face value of a bond, provides
1949  /// the currency amount of the periodic interest payment.
1950  bool couponRate(Decimal& value) const
1951  {
1952  typedef NullDecimal32 Null;
1953 
1954  const BlockLength offset = 138;
1955 
1956  return decimal(value, offset, Null());
1957  }
1958 
1959  /// Valid price types for intraday trade.
1960  bool priceType(UInt16& value) const
1961  {
1962  typedef NullUInt16 Null;
1963 
1964  const BlockLength offset = 142;
1965 
1966  return ordinary(value, offset, Null());
1967  }
1968 
1969  /// Valid trade types for intraday trade.
1970  bool trdType(UInt8& value) const
1971  {
1972  typedef NullUInt8 Null;
1973 
1974  const BlockLength offset = 144;
1975 
1976  return ordinary(value, offset, Null());
1977  }
1978 
1979  /// Market data entry identifier to map multiple prices of a
1980  /// single trade.
1981  bool entryId(StrRef& value) const
1982  {
1983  const BlockLength offset = 145;
1984  const BlockLength length = 26;
1985 
1986  return fixedStr<length>(value, offset);
1987  }
1988 
1989  /// Indicates whether an option instrument is a put or call.
1990  bool putOrCall(UInt8& value) const
1991  {
1992  typedef NullUInt8 Null;
1993 
1994  const BlockLength offset = 171;
1995 
1996  return ordinary(value, offset, Null());
1997  }
1998 
1999  /// Strike Price for an option instrument.
2000  bool strikePrice(Decimal& value) const
2001  {
2002  typedef NullPRICENULL Null;
2003 
2004  const BlockLength offset = 172;
2005 
2006  return decimal(value, offset, Null());
2007  }
2008 
2009  /// A category of CDS credit event in which the underlying
2010  /// bond experiences a restructuring.
2011  bool restructuringType(StrRef& value) const
2012  {
2013  const BlockLength offset = 180;
2014  const BlockLength length = 2;
2015 
2016  return fixedStr<length>(value, offset);
2017  }
2018 
2019  /// Specifies which issue (underlying bond) will receive
2020  /// payment priority in the event of a default.
2021  bool seniority(StrRef& value) const
2022  {
2023  const BlockLength offset = 182;
2024  const BlockLength length = 2;
2025 
2026  return fixedStr<length>(value, offset);
2027  }
2028 
2029  /// For future use.
2030  bool referenceId(StrRef& value) const
2031  {
2032  const BlockLength offset = 184;
2033  const BlockLength length = 100;
2034 
2035  return fixedStr<length>(value, offset);
2036  }
2037 
2038  /// Identifies the multileg strategy (e.g. spread) to which
2039  /// the trade belongs. This links together trade legs executed
2040  /// as part of a strategy during a single match event.
2041  bool strategyLinkId(StrRef& value) const
2042  {
2043  const BlockLength offset = 284;
2044  const BlockLength length = 26;
2045 
2046  return fixedStr<length>(value, offset);
2047  }
2048 
2049  /// Used to correlate leg instrument definitions with their
2050  /// executions. Cross referenced to Tag 1788.
2051  bool legRefId(StrRef& value) const
2052  {
2053  const BlockLength offset = 310;
2054  const BlockLength length = 17;
2055 
2056  return fixedStr<length>(value, offset);
2057  }
2058 
2059  /// Returns instance of Underlyings repeating group.
2061  {
2062  return
2063  groups().
2064  head<Underlyings>();
2065  }
2066 
2067  /// Returns instance of PartyIDs repeating group.
2069  {
2070  return
2071  groups().
2072  tail<Underlyings>().
2073  head<PartyIDs>();
2074  }
2075 
2076  /// Returns instance of Legs repeating group.
2077  Legs legs() const
2078  {
2079  return
2080  groups().
2081  tail<Underlyings>().
2082  tail<PartyIDs>().
2083  head<Legs>();
2084  }
2085 
2086  /// Returns size of entry body in bytes
2087  /// for given version of message template.
2090  {
2091  return 327;
2092  }
2093 
2094  /// Returns reference to the next item.
2096  {
2097  const void* body = legs().end().get().body();
2098  return Entry(
2099  body,
2100  blockLength(version()),
2101  version());
2102  }
2103 
2104  /// Entity class name.
2106  static const Char* className()
2107  {
2108  return "IncrementalRefreshTradeBlocks340.Entry";
2109  }
2110  };
2111 
2112  /// Repeating group containing Entry entries.
2113  typedef
2116 
2117  /// Initializes blank instance.
2119  {
2120  }
2121 
2122  /// Initializes instance over given memory block.
2124  const void* data,
2125  EncodedLength length)
2126  : BinaryMessage(data, length)
2127  {
2128  assert(TemplateId == templateId());
2129 
2130  if (length < blockLength(version()))
2131  throwBadBinaryData(className());
2132  }
2133 
2134  /// Start of event processing time in number of nanoseconds
2135  /// since Unix epoch.
2137  {
2138  const BlockLength offset = 0;
2139 
2140  return ordinary<Timestamp>(offset);
2141  }
2142 
2143  /// Bitmap field of eight Boolean type indicators reflecting
2144  /// the end of updates for a given event.
2146  {
2147  const BlockLength offset = 8;
2148 
2149  return ordinary<MatchEventIndicator>(offset);
2150  }
2151 
2152  /// Total number of messages contained within batch which is
2153  /// defined by match event indicator (5799).
2155  {
2156  const BlockLength offset = 9;
2157 
2158  return ordinary<UInt16>(offset);
2159  }
2160 
2161  /// Returns instance of Entries repeating group.
2163  {
2164  return
2165  groups().
2166  head<Entries>();
2167  }
2168 
2169  /// Size of message body in bytes.
2172  {
2173  return 11;
2174  }
2175 
2176  /// Returns class name.
2178  static const Char* className()
2179  {
2180  return "IncrementalRefreshTradeBlocks340";
2181  }
2182 
2183  /// FIX message type.
2185  static StrRef fixType()
2186  {
2187  return toStrRef("X");
2188  }
2189 };
2190 
2191 /// QuoteRequest.
2194 : BinaryMessage
2195 {
2196  /// Message template ID from SBE schema.
2197  enum { TemplateId = 345 };
2198 
2199  /// Specifies the number of repeating symbols specified.
2200  /// Entry of RelatedSymEntry repeating group.
2203  <
2205  >
2206  {
2207  /// Aliases base class type.
2208  typedef
2210  <
2212  >
2214 
2215  /// Initializes blank instance.
2217  {
2218  }
2219 
2220  /// Initializes instance of given
2221  /// version over given memory block.
2223  const void* data,
2224  EncodedLength length,
2225  SchemaVersion version)
2226  : Base(data, length, version)
2227  {
2228  if (length < blockLength(version))
2229  throwBadBinaryData(className());
2230  }
2231 
2232  /// Number of repeating EventType entries.
2233  /// Entry of EventsEntry repeating group.
2236  <
2238  >
2239  {
2240  /// Aliases base class type.
2241  typedef
2243  <
2245  >
2247 
2248  /// Initializes blank instance.
2250  {
2251  }
2252 
2253  /// Initializes instance of given
2254  /// version over given memory block.
2256  const void* data,
2257  EncodedLength length,
2258  SchemaVersion version)
2259  : Base(data, length, version)
2260  {
2261  if (length < blockLength(version))
2262  throwBadBinaryData(className());
2263  }
2264 
2265  /// Code to represent the type of event.
2266  bool eventType(UInt8& value) const
2267  {
2268  typedef NullUInt8 Null;
2269 
2270  const BlockLength offset = 0;
2271 
2272  return ordinary(value, offset, Null());
2273  }
2274 
2275  /// Time of event. This is number of days since unix epoch.
2276  bool eventTime(UInt64& value) const
2277  {
2278  typedef NullUInt64 Null;
2279 
2280  const BlockLength offset = 1;
2281 
2282  return ordinary(value, offset, Null());
2283  }
2284 
2285  /// Returns size of entry body in bytes
2286  /// for given version of message template.
2289  {
2290  return 9;
2291  }
2292 
2293  /// Entity class name.
2295  static const Char* className()
2296  {
2297  return "RelatedSym.EventsEntry";
2298  }
2299  };
2300 
2301  /// Repeating group containing EventsEntry entries.
2302  typedef
2305 
2306  /// Instrument/Index/Swap Name.
2307  bool symbol(StrRef& value) const
2308  {
2309  const BlockLength offset = 0;
2310  const BlockLength length = 50;
2311 
2312  return fixedStr<length>(value, offset);
2313  }
2314 
2315  /// Coupon Rate of the swap.
2316  bool couponRate(Decimal& value) const
2317  {
2318  typedef NullDecimal32 Null;
2319 
2320  const BlockLength offset = 50;
2321 
2322  return decimal(value, offset, Null());
2323  }
2324 
2325  /// Quantity Requested.
2326  bool orderQty(UInt64& value) const
2327  {
2328  typedef NullUInt64 Null;
2329 
2330  const BlockLength offset = 54;
2331 
2332  return ordinary(value, offset, Null());
2333  }
2334 
2335  /// Market used to help identify an instrument.
2337  {
2338  const BlockLength offset = 62;
2339  const BlockLength length = 4;
2340 
2341  return fixedStr<length>(offset);
2342  }
2343 
2344  /// Indicates the type of product the instrument is associated
2345  /// with in the message.
2346  bool product(UInt8& value) const
2347  {
2348  typedef NullUInt8 Null;
2349 
2350  const BlockLength offset = 66;
2351 
2352  return ordinary(value, offset, Null());
2353  }
2354 
2355  /// Indicates the product code for the instrument.
2356  bool securityGroup(StrRef& value) const
2357  {
2358  const BlockLength offset = 67;
2359  const BlockLength length = 26;
2360 
2361  return fixedStr<length>(value, offset);
2362  }
2363 
2364  /// Maturity date of instrument.
2365  bool maturityDate(Timestamp& value) const
2366  {
2367  typedef NullLocalMktDate Null;
2368  typedef LocalMktDate FieldValue;
2369 
2370  const BlockLength offset = 93;
2371 
2372  FieldValue fieldValue;
2373 
2374  if (ordinary(fieldValue, offset, Null()))
2375  {
2376  value = localMktDateToTimestamp(fieldValue);
2377  return true;
2378  }
2379  return false;
2380  }
2381 
2382  /// Indicates type of instrument.
2383  bool securityType(StrRef& value) const
2384  {
2385  const BlockLength offset = 95;
2386  const BlockLength length = 4;
2387 
2388  return fixedStr<length>(value, offset);
2389  }
2390 
2391  /// Type of quote requested. A tradable quote can trade
2392  /// against other orders and quotes upon acceptance.
2393  bool quoteType(UInt8& value) const
2394  {
2395  typedef NullUInt8 Null;
2396 
2397  const BlockLength offset = 99;
2398 
2399  return ordinary(value, offset, Null());
2400  }
2401 
2402  /// Returns instance of Events repeating group.
2403  Events events() const
2404  {
2405  return
2406  groups().
2407  head<Events>();
2408  }
2409 
2410  /// Returns size of entry body in bytes
2411  /// for given version of message template.
2414  {
2415  return 100;
2416  }
2417 
2418  /// Returns reference to the next item.
2420  {
2421  const void* body = events().end().get().body();
2422  return RelatedSymEntry(
2423  body,
2424  blockLength(version()),
2425  version());
2426  }
2427 
2428  /// Entity class name.
2430  static const Char* className()
2431  {
2432  return "QuoteRequest345.RelatedSymEntry";
2433  }
2434  };
2435 
2436  /// Repeating group containing RelatedSymEntry entries.
2437  typedef
2440 
2441  /// Initializes blank instance.
2443  {
2444  }
2445 
2446  /// Initializes instance over given memory block.
2448  const void* data,
2449  EncodedLength length)
2450  : BinaryMessage(data, length)
2451  {
2452  assert(TemplateId == templateId());
2453 
2454  if (length < blockLength(version()))
2455  throwBadBinaryData(className());
2456  }
2457 
2458  /// Time of quote request creation, expressed in UTC.
2460  {
2461  const BlockLength offset = 0;
2462 
2463  return ordinary<Timestamp>(offset);
2464  }
2465 
2466  /// Bitmap field of eight Boolean type indicators reflecting
2467  /// the end of updates for a given Globex event.
2469  {
2470  const BlockLength offset = 8;
2471 
2472  return ordinary<MatchEventIndicator>(offset);
2473  }
2474 
2475  /// Quote request ID defined by the exchange.
2476  bool quoteReqId(StrRef& value) const
2477  {
2478  const BlockLength offset = 9;
2479  const BlockLength length = 26;
2480 
2481  return fixedStr<length>(value, offset);
2482  }
2483 
2484  /// Returns instance of RelatedSym repeating group.
2486  {
2487  return
2488  groups().
2489  head<RelatedSym>();
2490  }
2491 
2492  /// Size of message body in bytes.
2495  {
2496  return 35;
2497  }
2498 
2499  /// Returns class name.
2501  static const Char* className()
2502  {
2503  return "QuoteRequest345";
2504  }
2505 
2506  /// FIX message type.
2508  static StrRef fixType()
2509  {
2510  return toStrRef("R");
2511  }
2512 };
2513 
2514 /// MDInstrumentDefinitionIndices.
2517 : BinaryMessage
2518 {
2519  /// Message template ID from SBE schema.
2520  enum { TemplateId = 347 };
2521 
2522  /// Number of repeating InstrAttribType entries.
2523  /// Entry of InstAttribEntry repeating group.
2526  <
2528  >
2529  {
2530  /// Aliases base class type.
2531  typedef
2533  <
2535  >
2537 
2538  /// Initializes blank instance.
2540  {
2541  }
2542 
2543  /// Initializes instance of given
2544  /// version over given memory block.
2546  const void* data,
2547  EncodedLength length,
2548  SchemaVersion version)
2549  : Base(data, length, version)
2550  {
2551  if (length < blockLength(version))
2552  throwBadBinaryData(className());
2553  }
2554 
2555  /// Code to represent the type of instrument attribute.
2557  {
2558  const BlockLength offset = 0;
2559 
2560  return ordinary<UInt8>(offset);
2561  }
2562 
2563  /// Attribute value appropriate to the InstrAttribType (871)
2564  /// field.
2565  bool instAttribValue(StrRef& value) const
2566  {
2567  const BlockLength offset = 1;
2568  const BlockLength length = 100;
2569 
2570  return fixedStr<length>(value, offset);
2571  }
2572 
2573  /// Returns size of entry body in bytes
2574  /// for given version of message template.
2577  {
2578  return 101;
2579  }
2580 
2581  /// Entity class name.
2583  static const Char* className()
2584  {
2585  return "InstrumentDefinitionIndices347.InstAttribEntry";
2586  }
2587  };
2588 
2589  /// Repeating group containing InstAttribEntry entries.
2590  typedef
2593 
2594  /// Number of repeating EventType entries.
2595  /// Entry of EventsEntry repeating group.
2598  <
2600  >
2601  {
2602  /// Aliases base class type.
2603  typedef
2605  <
2607  >
2609 
2610  /// Initializes blank instance.
2612  {
2613  }
2614 
2615  /// Initializes instance of given
2616  /// version over given memory block.
2618  const void* data,
2619  EncodedLength length,
2620  SchemaVersion version)
2621  : Base(data, length, version)
2622  {
2623  if (length < blockLength(version))
2624  throwBadBinaryData(className());
2625  }
2626 
2627  /// Code to represent the type of event.
2629  {
2630  const BlockLength offset = 0;
2631 
2632  return enumeration<EventTypeIndices>(offset);
2633  }
2634 
2635  /// Time of event. This is number of days since unix epoch.
2637  {
2638  const BlockLength offset = 1;
2639 
2640  return ordinary<UInt64>(offset);
2641  }
2642 
2643  /// Returns size of entry body in bytes
2644  /// for given version of message template.
2647  {
2648  return 9;
2649  }
2650 
2651  /// Entity class name.
2653  static const Char* className()
2654  {
2655  return "InstrumentDefinitionIndices347.EventsEntry";
2656  }
2657  };
2658 
2659  /// Repeating group containing EventsEntry entries.
2660  typedef
2663 
2664  /// Initializes blank instance.
2666  {
2667  }
2668 
2669  /// Initializes instance over given memory block.
2671  const void* data,
2672  EncodedLength length)
2673  : BinaryMessage(data, length)
2674  {
2675  assert(TemplateId == templateId());
2676 
2677  if (length < blockLength(version()))
2678  throwBadBinaryData(className());
2679  }
2680 
2681  /// Instrument Name or Symbol.
2682  bool symbol(StrRef& value) const
2683  {
2684  const BlockLength offset = 0;
2685  const BlockLength length = 50;
2686 
2687  return fixedStr<length>(value, offset);
2688  }
2689 
2690  /// Indicates the type of product the instrument is associated
2691  /// with in the message.
2692  Int8 product() const
2693  {
2694  const BlockLength offset = 50;
2695 
2696  return ordinary<Int8>(offset);
2697  }
2698 
2699  /// Market used to help identify an instrument.
2701  {
2702  const BlockLength offset = 51;
2703  const BlockLength length = 4;
2704 
2705  return fixedStr<length>(offset);
2706  }
2707 
2708  /// Identifies the currency for the instrument traded.
2710  {
2711  const BlockLength offset = 55;
2712  const BlockLength length = 3;
2713 
2714  return fixedStr<length>(offset);
2715  }
2716 
2717  /// Included on the message when a modification or deletion
2718  /// occurs.
2721  {
2722  const BlockLength offset = 58;
2723 
2724  return enumeration<SecurityUpdateAction>(offset);
2725  }
2726 
2727  /// Describes a class of service for a given data feed.
2728  bool feedType(StrRef& value) const
2729  {
2730  const BlockLength offset = 59;
2731  const BlockLength length = 2;
2732 
2733  return fixedStr<length>(value, offset);
2734  }
2735 
2736  /// This value indicates the channel ID as defined in the XML
2737  /// configuration file.
2738  bool applId(UInt16& value) const
2739  {
2740  typedef NullUInt16 Null;
2741 
2742  const BlockLength offset = 61;
2743 
2744  return ordinary(value, offset, Null());
2745  }
2746 
2747  /// Returns instance of InstAttrib repeating group.
2749  {
2750  return
2751  groups().
2752  head<InstAttrib>();
2753  }
2754 
2755  /// Returns instance of Events repeating group.
2756  Events events() const
2757  {
2758  return
2759  groups().
2760  tail<InstAttrib>().
2761  head<Events>();
2762  }
2763 
2764  /// Size of message body in bytes.
2767  {
2768  return 63;
2769  }
2770 
2771  /// Returns class name.
2773  static const Char* className()
2774  {
2775  return "InstrumentDefinitionIndices347";
2776  }
2777 
2778  /// FIX message type.
2780  static StrRef fixType()
2781  {
2782  return toStrRef("d");
2783  }
2784 };
2785 
2786 /// MDIncrementalRefreshIndices.
2789 : BinaryMessage
2790 {
2791  /// Message template ID from SBE schema.
2792  enum { TemplateId = 348 };
2793 
2794  /// Number of entries in Market Data message.
2795  /// Entry of Entry repeating group.
2798  <
2800  >
2801  {
2802  /// Aliases base class type.
2803  typedef
2805  <
2807  >
2809 
2810  /// Initializes blank instance.
2812  {
2813  }
2814 
2815  /// Initializes instance of given
2816  /// version over given memory block.
2818  const void* data,
2819  EncodedLength length,
2820  SchemaVersion version)
2821  : Base(data, length, version)
2822  {
2823  if (length < blockLength(version))
2824  throwBadBinaryData(className());
2825  }
2826 
2827  /// Indicates Market data Update Action which is always New.
2829  {
2830  return UpdateActionNew();
2831  }
2832 
2833  /// Indicates Market Data Entry Type.
2835  {
2836  const BlockLength offset = 0;
2837 
2838  return enumeration<EntryTypeIndices>(offset);
2839  }
2840 
2841  /// MD Entry sequence number per index update.
2842  UInt32 rptSeq() const
2843  {
2844  const BlockLength offset = 1;
2845 
2846  return ordinary<UInt32>(offset);
2847  }
2848 
2849  /// Price of the Market Data Entry.
2851  {
2852  const BlockLength offset = 5;
2853 
2854  return decimal<Decimal64>(offset);
2855  }
2856 
2857  /// Quantity of the MD Entry.
2858  bool entrySize(UInt64& value) const
2859  {
2860  typedef NullUInt64 Null;
2861 
2862  const BlockLength offset = 14;
2863 
2864  return ordinary(value, offset, Null());
2865  }
2866 
2867  /// Index Name.
2868  bool symbol(StrRef& value) const
2869  {
2870  const BlockLength offset = 22;
2871  const BlockLength length = 50;
2872 
2873  return fixedStr<length>(value, offset);
2874  }
2875 
2876  /// Indicates whether the price is preliminary or previous day.
2877  bool openCloseSettlFlag(Int8& value) const
2878  {
2879  typedef NullInt8 Null;
2880 
2881  const BlockLength offset = 72;
2882 
2883  return ordinary(value, offset, Null());
2884  }
2885 
2886  /// Type of yield.
2887  bool yieldType(StrRef& value) const
2888  {
2889  const BlockLength offset = 73;
2890  const BlockLength length = 8;
2891 
2892  return fixedStr<length>(value, offset);
2893  }
2894 
2895  /// Yield of the index's underlying constituents and
2896  /// applicable for FI indices only.
2897  Decimal yield() const
2898  {
2899  const BlockLength offset = 81;
2900 
2901  return decimal<Decimal64>(offset);
2902  }
2903 
2904  /// Net change from previous day's closing price.
2906  {
2907  const BlockLength offset = 90;
2908 
2909  return decimal<Decimal64>(offset);
2910  }
2911 
2912  /// Index percentage change with respect to previous close.
2914  {
2915  const BlockLength offset = 99;
2916 
2917  return decimal<Decimal64>(offset);
2918  }
2919 
2920  /// Percent trading of the underlying index constituents.
2922  {
2923  const BlockLength offset = 108;
2924 
2925  return decimal<Decimal64>(offset);
2926  }
2927 
2928  /// List of conditions describing a index value.
2929  bool entryCode(EntryCode::Enum& value) const
2930  {
2931  typedef NullUInt8 Null;
2932 
2933  const BlockLength offset = 117;
2934 
2935  return enumeration<EntryCode>(value, offset, Null());
2936  }
2937 
2938  /// Indicates Market Data Entry Date.
2939  bool entryDate(Int32& value) const
2940  {
2941  typedef NullInt32 Null;
2942 
2943  const BlockLength offset = 118;
2944 
2945  return ordinary(value, offset, Null());
2946  }
2947 
2948  /// Indicates Market Data Entry Timestamp.
2949  bool entryTime(Int32& value) const
2950  {
2951  typedef NullInt32 Null;
2952 
2953  const BlockLength offset = 122;
2954 
2955  return ordinary(value, offset, Null());
2956  }
2957 
2958  /// For future use.
2959  bool referenceId(StrRef& value) const
2960  {
2961  const BlockLength offset = 126;
2962  const BlockLength length = 50;
2963 
2964  return fixedStr<length>(value, offset);
2965  }
2966 
2967  /// Returns size of entry body in bytes
2968  /// for given version of message template.
2971  {
2972  return 176;
2973  }
2974 
2975  /// Entity class name.
2977  static const Char* className()
2978  {
2979  return "IncrementalRefreshIndices348.Entry";
2980  }
2981  };
2982 
2983  /// Repeating group containing Entry entries.
2984  typedef
2987 
2988  /// Initializes blank instance.
2990  {
2991  }
2992 
2993  /// Initializes instance over given memory block.
2995  const void* data,
2996  EncodedLength length)
2997  : BinaryMessage(data, length)
2998  {
2999  assert(TemplateId == templateId());
3000 
3001  if (length < blockLength(version()))
3002  throwBadBinaryData(className());
3003  }
3004 
3005  /// Start of event processing time in number of nanoseconds
3006  /// since epoch.
3008  {
3009  const BlockLength offset = 0;
3010 
3011  return ordinary<Timestamp>(offset);
3012  }
3013 
3014  /// Describes a class of service for a given data feed.
3015  bool feedType(StrRef& value) const
3016  {
3017  const BlockLength offset = 8;
3018  const BlockLength length = 2;
3019 
3020  return fixedStr<length>(value, offset);
3021  }
3022 
3023  /// Bitmap field of eight Boolean type indicators reflecting
3024  /// the end of updates for a given event.
3026  {
3027  const BlockLength offset = 10;
3028 
3029  return ordinary<MatchEventIndicator>(offset);
3030  }
3031 
3032  /// Total number of messages contained within batch which is
3033  /// defined by match event indicator (5799).
3034  bool batchTotalMessages(UInt16& value) const
3035  {
3036  typedef NullUInt16 Null;
3037 
3038  const BlockLength offset = 11;
3039 
3040  return ordinary(value, offset, Null());
3041  }
3042 
3043  /// Returns instance of Entries repeating group.
3045  {
3046  return
3047  groups().
3048  head<Entries>();
3049  }
3050 
3051  /// Size of message body in bytes.
3054  {
3055  return 13;
3056  }
3057 
3058  /// Returns class name.
3060  static const Char* className()
3061  {
3062  return "IncrementalRefreshIndices348";
3063  }
3064 
3065  /// FIX message type.
3067  static StrRef fixType()
3068  {
3069  return toStrRef("X");
3070  }
3071 };
3072 
3073 /// MDIncrementalRefreshTradeBlocks.
3076 : BinaryMessage
3077 {
3078  /// Message template ID from SBE schema.
3079  enum { TemplateId = 349 };
3080 
3081  /// Number of entries in Market Data message.
3082  /// Entry of Entry repeating group.
3085  <
3087  >
3088  {
3089  /// Aliases base class type.
3090  typedef
3092  <
3094  >
3096 
3097  /// Initializes blank instance.
3099  {
3100  }
3101 
3102  /// Initializes instance of given
3103  /// version over given memory block.
3105  const void* data,
3106  EncodedLength length,
3107  SchemaVersion version)
3108  : Base(data, length, version)
3109  {
3110  if (length < blockLength(version))
3111  throwBadBinaryData(className());
3112  }
3113 
3114  /// Number of underlying legs that make up the security.
3115  /// Entry of UnderlyingsEntry repeating group.
3118  <
3120  >
3121  {
3122  /// Aliases base class type.
3123  typedef
3125  <
3127  >
3129 
3130  /// Initializes blank instance.
3132  {
3133  }
3134 
3135  /// Initializes instance of given
3136  /// version over given memory block.
3138  const void* data,
3139  EncodedLength length,
3140  SchemaVersion version)
3141  : Base(data, length, version)
3142  {
3143  if (length < blockLength(version))
3144  throwBadBinaryData(className());
3145  }
3146 
3147  /// Underlying Security's symbol.
3148  bool underlyingSymbol(StrRef& value) const
3149  {
3150  const BlockLength offset = 0;
3151  const BlockLength length = 50;
3152 
3153  return fixedStr<length>(value, offset);
3154  }
3155 
3156  /// Underlying Security's MaturityMonthYear.
3158  {
3159  typedef NullMaturityMonthYear Null;
3160 
3161  const BlockLength offset = 50;
3162 
3163  return ordinary(value, offset, Null());
3164  }
3165 
3166  /// Underlying Security's SecurityType.
3167  bool underlyingSecurityType(StrRef& value) const
3168  {
3169  const BlockLength offset = 55;
3170  const BlockLength length = 9;
3171 
3172  return fixedStr<length>(value, offset);
3173  }
3174 
3175  /// Underlying Security's SecurityExchange.
3177  {
3178  const BlockLength offset = 64;
3179  const BlockLength length = 4;
3180 
3181  return fixedStr<length>(value, offset);
3182  }
3183 
3184  /// Returns size of entry body in bytes
3185  /// for given version of message template.
3188  {
3189  return 68;
3190  }
3191 
3192  /// Entity class name.
3194  static const Char* className()
3195  {
3196  return "Entries.UnderlyingsEntry";
3197  }
3198  };
3199 
3200  /// Repeating group containing UnderlyingsEntry entries.
3201  typedef
3204 
3205  /// Number of party roles.
3206  /// Entry of PartyIDsEntry repeating group.
3209  <
3211  >
3212  {
3213  /// Aliases base class type.
3214  typedef
3216  <
3218  >
3220 
3221  /// Initializes blank instance.
3223  {
3224  }
3225 
3226  /// Initializes instance of given
3227  /// version over given memory block.
3229  const void* data,
3230  EncodedLength length,
3231  SchemaVersion version)
3232  : Base(data, length, version)
3233  {
3234  if (length < blockLength(version))
3235  throwBadBinaryData(className());
3236  }
3237 
3238  /// Party identifier/code.
3239  bool partyId(StrRef& value) const
3240  {
3241  const BlockLength offset = 0;
3242  const BlockLength length = 50;
3243 
3244  return fixedStr<length>(value, offset);
3245  }
3246 
3247  /// Identifies the type or role of the PartyID specified.
3248  bool partyRole(StrRef& value) const
3249  {
3250  const BlockLength offset = 50;
3251  const BlockLength length = 2;
3252 
3253  return fixedStr<length>(value, offset);
3254  }
3255 
3256  /// Returns size of entry body in bytes
3257  /// for given version of message template.
3260  {
3261  return 52;
3262  }
3263 
3264  /// Entity class name.
3266  static const Char* className()
3267  {
3268  return "Entries.PartyIDsEntry";
3269  }
3270  };
3271 
3272  /// Repeating group containing PartyIDsEntry entries.
3273  typedef
3276 
3277  /// Number of legs (repeating groups).
3278  /// Entry of LegsEntry repeating group.
3281  <
3283  >
3284  {
3285  /// Aliases base class type.
3286  typedef
3288  <
3290  >
3292 
3293  /// Initializes blank instance.
3295  {
3296  }
3297 
3298  /// Initializes instance of given
3299  /// version over given memory block.
3301  const void* data,
3302  EncodedLength length,
3303  SchemaVersion version)
3304  : Base(data, length, version)
3305  {
3306  if (length < blockLength(version))
3307  throwBadBinaryData(className());
3308  }
3309 
3310  /// This tag contains the instrument group of the requested
3311  /// security definition. Must be present when tag 555-NoLegs
3312  /// is present. Also must be first tag in repeating group.
3313  /// Multileg instrument's individual security's Symbol.
3314  bool legSymbol(StrRef& value) const
3315  {
3316  const BlockLength offset = 0;
3317  const BlockLength length = 50;
3318 
3319  return fixedStr<length>(value, offset);
3320  }
3321 
3322  /// Multileg instrument's individual security's SecurityID.
3323  bool legSecurityId(UInt64& value) const
3324  {
3325  typedef NullUInt64 Null;
3326 
3327  const BlockLength offset = 50;
3328 
3329  return ordinary(value, offset, Null());
3330  }
3331 
3332  /// Identifies source of tag 602-LegSecurityID value. This
3333  /// value is always 'H' for CME.
3335  {
3336  return LegSecurityIDSource();
3337  }
3338 
3339  /// Leg equivalent of body tag 1151-SecurityGroup (i.e. leg
3340  /// 'product code').
3341  bool legSecurityGroup(StrRef& value) const
3342  {
3343  const BlockLength offset = 58;
3344  const BlockLength length = 12;
3345 
3346  return fixedStr<length>(value, offset);
3347  }
3348 
3349  /// Used to correlate leg instrument definitions with their
3350  /// executions.Cross referenced in Tag 654.
3351  bool legId(StrRef& value) const
3352  {
3353  const BlockLength offset = 70;
3354  const BlockLength length = 17;
3355 
3356  return fixedStr<length>(value, offset);
3357  }
3358 
3359  /// Identifies the type of leg instrument.
3360  bool legSecurityType(StrRef& value) const
3361  {
3362  const BlockLength offset = 87;
3363  const BlockLength length = 9;
3364 
3365  return fixedStr<length>(value, offset);
3366  }
3367 
3368  /// Multileg instrument's individual security's leg
3369  /// MaturityMonthYear.
3371  {
3372  typedef NullMaturityMonthYear Null;
3373 
3374  const BlockLength offset = 96;
3375 
3376  return ordinary(value, offset, Null());
3377  }
3378 
3379  /// Multileg instrument's individual security's leg
3380  /// MaturityDate.
3381  bool legMaturityDate(Timestamp& value) const
3382  {
3383  typedef NullLocalMktDate Null;
3384  typedef LocalMktDate FieldValue;
3385 
3386  const BlockLength offset = 101;
3387 
3388  FieldValue fieldValue;
3389 
3390  if (ordinary(fieldValue, offset, Null()))
3391  {
3392  value = localMktDateToTimestamp(fieldValue);
3393  return true;
3394  }
3395  return false;
3396  }
3397 
3398  /// Multileg instrument's individual security's StrikePrice.
3399  bool legStrikePrice(Decimal& value) const
3400  {
3401  typedef NullPRICENULL Null;
3402 
3403  const BlockLength offset = 103;
3404 
3405  return decimal(value, offset, Null());
3406  }
3407 
3408  /// Multileg instrument's individual security's leg
3409  /// UnitOfMeasure.
3410  bool legUnitOfMeasure(StrRef& value) const
3411  {
3412  const BlockLength offset = 111;
3413  const BlockLength length = 5;
3414 
3415  return fixedStr<length>(value, offset);
3416  }
3417 
3418  /// Multileg instrument's individual security's leg
3419  /// UnitOfMeasureQty.
3420  bool legUnitOfMeasureQty(Decimal& value) const
3421  {
3422  typedef NullPRICENULL Null;
3423 
3424  const BlockLength offset = 116;
3425 
3426  return decimal(value, offset, Null());
3427  }
3428 
3429  /// Multileg instrument's individual security's leg
3430  /// SecurityExchange.
3431  bool legSecurityExchange(StrRef& value) const
3432  {
3433  const BlockLength offset = 124;
3434  const BlockLength length = 4;
3435 
3436  return fixedStr<length>(value, offset);
3437  }
3438 
3439  /// The ratio of quantity for this individual leg relative to
3440  /// the entire multileg security.
3441  bool legRatioQty(UInt16& value) const
3442  {
3443  typedef NullUInt16 Null;
3444 
3445  const BlockLength offset = 128;
3446 
3447  return ordinary(value, offset, Null());
3448  }
3449 
3450  /// The side of this individual leg (multileg security).
3451  bool legSide(UInt8& value) const
3452  {
3453  typedef NullUInt8 Null;
3454 
3455  const BlockLength offset = 130;
3456 
3457  return ordinary(value, offset, Null());
3458  }
3459 
3460  /// Multileg instrument's individual security's leg option put
3461  /// or call.
3462  bool legPutOrCall(UInt8& value) const
3463  {
3464  typedef NullUInt8 Null;
3465 
3466  const BlockLength offset = 131;
3467 
3468  return ordinary(value, offset, Null());
3469  }
3470 
3471  /// Indicates the currency of the unit of measure.
3472  /// Conditionally required when LegUnitOfMeasure(999) = Ccy.
3474  {
3475  const BlockLength offset = 132;
3476  const BlockLength length = 3;
3477 
3478  return fixedStr<length>(value, offset);
3479  }
3480 
3481  /// Returns size of entry body in bytes
3482  /// for given version of message template.
3485  {
3486  return 135;
3487  }
3488 
3489  /// Entity class name.
3491  static const Char* className()
3492  {
3493  return "Entries.LegsEntry";
3494  }
3495  };
3496 
3497  /// Repeating group containing LegsEntry entries.
3498  typedef
3501 
3502  /// Market Data update Action.
3504  {
3505  const BlockLength offset = 0;
3506 
3507  return enumeration<UpdateAction>(offset);
3508  }
3509 
3510  /// Market Data Entry Type.
3512  {
3513  return EntryTypeTrade();
3514  }
3515 
3516  /// Unique security ID.
3517  bool securityId(UInt64& value) const
3518  {
3519  typedef NullUInt64 Null;
3520 
3521  const BlockLength offset = 1;
3522 
3523  return ordinary(value, offset, Null());
3524  }
3525 
3526  /// MD Entry sequence number per instrument update. Reset
3527  /// weekly.
3528  UInt32 rptSeq() const
3529  {
3530  const BlockLength offset = 9;
3531 
3532  return ordinary<UInt32>(offset);
3533  }
3534 
3535  /// Price of the Market Data Entry.
3536  bool entryPx(Decimal& value) const
3537  {
3538  typedef NullPRICENULL Null;
3539 
3540  const BlockLength offset = 13;
3541 
3542  return decimal(value, offset, Null());
3543  }
3544 
3545  /// Traded quantity.
3547  {
3548  const BlockLength offset = 21;
3549 
3550  return decimal<Decimal64>(offset);
3551  }
3552 
3553  /// The total number of real orders per instrument that
3554  /// participated in a match step within a match event.
3555  bool numberOfOrders(Int32& value) const
3556  {
3557  typedef NullInt32 Null;
3558 
3559  const BlockLength offset = 30;
3560 
3561  return ordinary(value, offset, Null());
3562  }
3563 
3564  /// Unique Trade Entry ID per Instrument and Trading Date.
3565  Int32 tradeId() const
3566  {
3567  const BlockLength offset = 34;
3568 
3569  return ordinary<Int32>(offset);
3570  }
3571 
3572  /// Indicates which side is aggressor of the trade. If there
3573  /// is no value present, then there is no aggressor.
3574  bool
3576  AggressorSide::Enum& value) const
3577  {
3578  typedef NullUInt8 Null;
3579 
3580  const BlockLength offset = 38;
3581 
3582  return enumeration<AggressorSide>(value, offset, Null());
3583  }
3584 
3585  /// Instrument/Index/Swap Name.
3586  bool symbol(StrRef& value) const
3587  {
3588  const BlockLength offset = 39;
3589  const BlockLength length = 50;
3590 
3591  return fixedStr<length>(value, offset);
3592  }
3593 
3594  /// Indicates the product code for the instrument.
3595  bool securityGroup(StrRef& value) const
3596  {
3597  const BlockLength offset = 89;
3598  const BlockLength length = 12;
3599 
3600  return fixedStr<length>(value, offset);
3601  }
3602 
3603  /// Identifies the type of instrument.
3604  bool securityType(StrRef& value) const
3605  {
3606  const BlockLength offset = 101;
3607  const BlockLength length = 9;
3608 
3609  return fixedStr<length>(value, offset);
3610  }
3611 
3612  /// SecuritySubType for CDS only.
3613  bool securitySubType(StrRef& value) const
3614  {
3615  const BlockLength offset = 110;
3616  const BlockLength length = 2;
3617 
3618  return fixedStr<length>(value, offset);
3619  }
3620 
3621  /// This field provides the actual calendar date for contract
3622  /// maturity month and year (used for standardized futures and
3623  /// options).
3625  {
3626  typedef NullMaturityMonthYear Null;
3627 
3628  const BlockLength offset = 112;
3629 
3630  return ordinary(value, offset, Null());
3631  }
3632 
3633  /// Market used to help identify an instrument.
3634  bool securityExchange(StrRef& value) const
3635  {
3636  const BlockLength offset = 117;
3637  const BlockLength length = 4;
3638 
3639  return fixedStr<length>(value, offset);
3640  }
3641 
3642  /// Maturity date of instrument.
3643  bool maturityDate(Timestamp& value) const
3644  {
3645  typedef NullLocalMktDate Null;
3646  typedef LocalMktDate FieldValue;
3647 
3648  const BlockLength offset = 121;
3649 
3650  FieldValue fieldValue;
3651 
3652  if (ordinary(fieldValue, offset, Null()))
3653  {
3654  value = localMktDateToTimestamp(fieldValue);
3655  return true;
3656  }
3657  return false;
3658  }
3659 
3660  /// Unit of measure for the products' original contract size.
3661  bool unitOfMeasure(StrRef& value) const
3662  {
3663  const BlockLength offset = 123;
3664  const BlockLength length = 5;
3665 
3666  return fixedStr<length>(value, offset);
3667  }
3668 
3669  /// Indicates the ISO Currency code if it is a currency
3670  /// product.
3671  bool unitOfMeasureCurrency(StrRef& value) const
3672  {
3673  const BlockLength offset = 128;
3674  const BlockLength length = 3;
3675 
3676  return fixedStr<length>(value, offset);
3677  }
3678 
3679  /// This field contains the notional value for each
3680  /// instrument. The notional value is equivalent to the
3681  /// corresponding premium-quoted contract.
3682  bool unitOfMeasureQty(Decimal& value) const
3683  {
3684  typedef NullPRICENULL Null;
3685 
3686  const BlockLength offset = 131;
3687 
3688  return decimal(value, offset, Null());
3689  }
3690 
3691  /// The rate of interest that, when multiplied by the
3692  /// principal, par value, or face value of a bond, provides
3693  /// the currency amount of the periodic interest payment.
3694  bool couponRate(Decimal& value) const
3695  {
3696  typedef NullDecimal32 Null;
3697 
3698  const BlockLength offset = 139;
3699 
3700  return decimal(value, offset, Null());
3701  }
3702 
3703  /// Valid price types for intraday trade.
3704  bool priceType(UInt16& value) const
3705  {
3706  typedef NullUInt16 Null;
3707 
3708  const BlockLength offset = 143;
3709 
3710  return ordinary(value, offset, Null());
3711  }
3712 
3713  /// Valid trade types for intraday trade.
3714  bool trdType(UInt8& value) const
3715  {
3716  typedef NullUInt8 Null;
3717 
3718  const BlockLength offset = 145;
3719 
3720  return ordinary(value, offset, Null());
3721  }
3722 
3723  /// Market data entry identifier to map multiple prices of a
3724  /// single trade.
3725  bool entryId(StrRef& value) const
3726  {
3727  const BlockLength offset = 146;
3728  const BlockLength length = 26;
3729 
3730  return fixedStr<length>(value, offset);
3731  }
3732 
3733  /// Indicates whether an option instrument is a put or call.
3734  bool putOrCall(UInt8& value) const
3735  {
3736  typedef NullUInt8 Null;
3737 
3738  const BlockLength offset = 172;
3739 
3740  return ordinary(value, offset, Null());
3741  }
3742 
3743  /// Strike Price for an option instrument.
3744  bool strikePrice(Decimal& value) const
3745  {
3746  typedef NullPRICENULL Null;
3747 
3748  const BlockLength offset = 173;
3749 
3750  return decimal(value, offset, Null());
3751  }
3752 
3753  /// A category of CDS credit event in which the underlying
3754  /// bond experiences a restructuring.
3755  bool restructuringType(StrRef& value) const
3756  {
3757  const BlockLength offset = 181;
3758  const BlockLength length = 2;
3759 
3760  return fixedStr<length>(value, offset);
3761  }
3762 
3763  /// Specifies which issue (underlying bond) will receive
3764  /// payment priority in the event of a default.
3765  bool seniority(StrRef& value) const
3766  {
3767  const BlockLength offset = 183;
3768  const BlockLength length = 2;
3769 
3770  return fixedStr<length>(value, offset);
3771  }
3772 
3773  /// For future use.
3774  bool referenceId(StrRef& value) const
3775  {
3776  const BlockLength offset = 185;
3777  const BlockLength length = 100;
3778 
3779  return fixedStr<length>(value, offset);
3780  }
3781 
3782  /// Identifies the multileg strategy (e.g. spread) to which
3783  /// the trade belongs. This links together trade legs executed
3784  /// as part of a strategy during a single match event.
3785  bool strategyLinkId(StrRef& value) const
3786  {
3787  const BlockLength offset = 285;
3788  const BlockLength length = 26;
3789 
3790  return fixedStr<length>(value, offset);
3791  }
3792 
3793  /// Used to correlate leg instrument definitions with their
3794  /// executions. Cross referenced to Tag 1788.
3795  bool legRefId(StrRef& value) const
3796  {
3797  const BlockLength offset = 311;
3798  const BlockLength length = 17;
3799 
3800  return fixedStr<length>(value, offset);
3801  }
3802 
3803  /// Returns instance of Underlyings repeating group.
3805  {
3806  return
3807  groups().
3808  head<Underlyings>();
3809  }
3810 
3811  /// Returns instance of PartyIDs repeating group.
3813  {
3814  return
3815  groups().
3816  tail<Underlyings>().
3817  head<PartyIDs>();
3818  }
3819 
3820  /// Returns instance of Legs repeating group.
3821  Legs legs() const
3822  {
3823  return
3824  groups().
3825  tail<Underlyings>().
3826  tail<PartyIDs>().
3827  head<Legs>();
3828  }
3829 
3830  /// Returns size of entry body in bytes
3831  /// for given version of message template.
3834  {
3835  return 328;
3836  }
3837 
3838  /// Returns reference to the next item.
3840  {
3841  const void* body = legs().end().get().body();
3842  return Entry(
3843  body,
3844  blockLength(version()),
3845  version());
3846  }
3847 
3848  /// Entity class name.
3850  static const Char* className()
3851  {
3852  return "IncrementalRefreshTradeBlocks349.Entry";
3853  }
3854  };
3855 
3856  /// Repeating group containing Entry entries.
3857  typedef
3860 
3861  /// Initializes blank instance.
3863  {
3864  }
3865 
3866  /// Initializes instance over given memory block.
3868  const void* data,
3869  EncodedLength length)
3870  : BinaryMessage(data, length)
3871  {
3872  assert(TemplateId == templateId());
3873 
3874  if (length < blockLength(version()))
3875  throwBadBinaryData(className());
3876  }
3877 
3878  /// Start of event processing time in number of nanoseconds
3879  /// since Unix epoch. Not present for EFP (828=2) and EFR
3880  /// (828=11) transactions.
3881  bool transactTime(Timestamp& value) const
3882  {
3883  typedef NullUInt64 Null;
3884 
3885  const BlockLength offset = 0;
3886 
3887  return ordinary(value, offset, Null());
3888  }
3889 
3890  /// Bitmap field of eight Boolean type indicators reflecting
3891  /// the end of updates for a given event.
3893  {
3894  const BlockLength offset = 8;
3895 
3896  return ordinary<MatchEventIndicator>(offset);
3897  }
3898 
3899  /// Total number of messages contained within batch which is
3900  /// defined by match event indicator (5799).
3902  {
3903  const BlockLength offset = 9;
3904 
3905  return ordinary<UInt16>(offset);
3906  }
3907 
3908  /// Indicates date of trade referenced in this message in
3909  /// YYYYMMDD format (expressed in local time at place of
3910  /// trade). Returned only in trade and trade cancel execution
3911  /// reports.
3912  bool tradeDate(Timestamp& value) const
3913  {
3914  typedef NullLocalMktDate Null;
3915  typedef LocalMktDate FieldValue;
3916 
3917  const BlockLength offset = 11;
3918 
3919  FieldValue fieldValue;
3920 
3921  if (ordinary(fieldValue, offset, Null()))
3922  {
3923  value = localMktDateToTimestamp(fieldValue);
3924  return true;
3925  }
3926  return false;
3927  }
3928 
3929  /// Returns instance of Entries repeating group.
3931  {
3932  return
3933  groups().
3934  head<Entries>();
3935  }
3936 
3937  /// Size of message body in bytes.
3940  {
3941  return 13;
3942  }
3943 
3944  /// Returns class name.
3946  static const Char* className()
3947  {
3948  return "IncrementalRefreshTradeBlocks349";
3949  }
3950 
3951  /// FIX message type.
3953  static StrRef fixType()
3954  {
3955  return toStrRef("X");
3956  }
3957 };
3958 
3959 /// MDIncrementalRefreshEris.
3962 : BinaryMessage
3963 {
3964  /// Message template ID from SBE schema.
3965  enum { TemplateId = 351 };
3966 
3967  /// Number of entries in Market Data message.
3968  /// Entry of Entry repeating group.
3971  <
3973  >
3974  {
3975  /// Aliases base class type.
3976  typedef
3978  <
3980  >
3982 
3983  /// Initializes blank instance.
3985  {
3986  }
3987 
3988  /// Initializes instance of given
3989  /// version over given memory block.
3991  const void* data,
3992  EncodedLength length,
3993  SchemaVersion version)
3994  : Base(data, length, version)
3995  {
3996  if (length < blockLength(version))
3997  throwBadBinaryData(className());
3998  }
3999 
4000  /// Number of entries in AltID group.
4001  /// Entry of SecurityAltIDEntry repeating group.
4004  <
4006  >
4007  {
4008  /// Aliases base class type.
4009  typedef
4011  <
4013  >
4015 
4016  /// Initializes blank instance.
4018  {
4019  }
4020 
4021  /// Initializes instance of given
4022  /// version over given memory block.
4024  const void* data,
4025  EncodedLength length,
4026  SchemaVersion version)
4027  : Base(data, length, version)
4028  {
4029  if (length < blockLength(version))
4030  throwBadBinaryData(className());
4031  }
4032 
4033  /// Expanded instrument description.
4034  bool securityAltId(StrRef& value) const
4035  {
4036  const BlockLength offset = 0;
4037  const BlockLength length = 26;
4038 
4039  return fixedStr<length>(value, offset);
4040  }
4041 
4042  /// Identifies class or source of the SecurityAltID (455)
4043  /// value.
4045  {
4046  const BlockLength offset = 26;
4047  const BlockLength length = 1;
4048 
4049  return fixedStr<length>(offset);
4050  }
4051 
4052  /// Returns size of entry body in bytes
4053  /// for given version of message template.
4056  {
4057  return 27;
4058  }
4059 
4060  /// Entity class name.
4062  static const Char* className()
4063  {
4064  return "Entries.SecurityAltIDEntry";
4065  }
4066  };
4067 
4068  /// Repeating group containing SecurityAltIDEntry entries.
4069  typedef
4072 
4073  /// Number of repeating EventType entries.
4074  /// Entry of EventsEntry repeating group.
4077  <
4079  >
4080  {
4081  /// Aliases base class type.
4082  typedef
4084  <
4086  >
4088 
4089  /// Initializes blank instance.
4091  {
4092  }
4093 
4094  /// Initializes instance of given
4095  /// version over given memory block.
4097  const void* data,
4098  EncodedLength length,
4099  SchemaVersion version)
4100  : Base(data, length, version)
4101  {
4102  if (length < blockLength(version))
4103  throwBadBinaryData(className());
4104  }
4105 
4106  /// Code to represent the type of event.
4108  {
4109  const BlockLength offset = 0;
4110 
4111  return ordinary<UInt8>(offset);
4112  }
4113 
4114  /// Time of event. This is UTC Time.
4115  bool eventTime(UInt64& value) const
4116  {
4117  typedef NullUInt64 Null;
4118 
4119  const BlockLength offset = 1;
4120 
4121  return ordinary(value, offset, Null());
4122  }
4123 
4124  /// Returns size of entry body in bytes
4125  /// for given version of message template.
4128  {
4129  return 9;
4130  }
4131 
4132  /// Entity class name.
4134  static const Char* className()
4135  {
4136  return "Entries.EventsEntry";
4137  }
4138  };
4139 
4140  /// Repeating group containing EventsEntry entries.
4141  typedef
4144 
4145  /// Indicates the type of Market Data update action.
4147  {
4148  const BlockLength offset = 0;
4149 
4150  return ordinary<CHAR>(offset);
4151  }
4152 
4153  /// Indicates the type of Market Data entry.
4154  CHAR entryType() const
4155  {
4156  const BlockLength offset = 1;
4157 
4158  return ordinary<CHAR>(offset);
4159  }
4160 
4161  /// MD Entry sequence number per instrument update. Reset
4162  /// weekly.
4163  UInt32 rptSeq() const
4164  {
4165  const BlockLength offset = 2;
4166 
4167  return ordinary<UInt32>(offset);
4168  }
4169 
4170  /// Price of the Market Data Entry.
4172  {
4173  const BlockLength offset = 6;
4174 
4175  return decimal<Decimal64>(offset);
4176  }
4177 
4178  /// Quantity or volume represented by the Market Data Entry.
4179  bool entrySize(UInt64& value) const
4180  {
4181  typedef NullUInt64 Null;
4182 
4183  const BlockLength offset = 15;
4184 
4185  return ordinary(value, offset, Null());
4186  }
4187 
4188  /// Calculated Futures Price using Swap NPV, Historical fixed
4189  /// and floating amounts and synthetic interest on variation
4190  /// margin.
4192  {
4193  const BlockLength offset = 23;
4194 
4195  return decimal<Decimal64>(offset);
4196  }
4197 
4198  /// Position in the book.
4199  bool entryPositionNo(Int32& value) const
4200  {
4201  typedef NullInt32 Null;
4202 
4203  const BlockLength offset = 32;
4204 
4205  return ordinary(value, offset, Null());
4206  }
4207 
4208  /// Number of orders working at a price level. Not sent on
4209  /// implied.
4210  bool numberOfOrders(Int32& value) const
4211  {
4212  typedef NullInt32 Null;
4213 
4214  const BlockLength offset = 36;
4215 
4216  return ordinary(value, offset, Null());
4217  }
4218 
4219  /// The unique identifier for the trade entry, per instrument
4220  /// + trading date.
4221  Int32 tradeId() const
4222  {
4223  const BlockLength offset = 40;
4224 
4225  return ordinary<Int32>(offset);
4226  }
4227 
4228  /// Indicates which side is aggressor of the trade. If there
4229  /// is no value present, then there is no aggressor.
4230  bool
4232  AggressorSide::Enum& value) const
4233  {
4234  typedef NullUInt8 Null;
4235 
4236  const BlockLength offset = 44;
4237 
4238  return enumeration<AggressorSide>(value, offset, Null());
4239  }
4240 
4241  /// Instrument/Index/Swap Name.
4242  bool symbol(StrRef& value) const
4243  {
4244  const BlockLength offset = 45;
4245  const BlockLength length = 50;
4246 
4247  return fixedStr<length>(value, offset);
4248  }
4249 
4250  /// Indicates the product code for the instrument.
4251  bool securityGroup(StrRef& value) const
4252  {
4253  const BlockLength offset = 95;
4254  const BlockLength length = 26;
4255 
4256  return fixedStr<length>(value, offset);
4257  }
4258 
4259  /// Identifies the type of instrument.
4260  bool securityType(StrRef& value) const
4261  {
4262  const BlockLength offset = 121;
4263  const BlockLength length = 9;
4264 
4265  return fixedStr<length>(value, offset);
4266  }
4267 
4268  /// Market used to help identify an instrument.
4270  {
4271  const BlockLength offset = 130;
4272  const BlockLength length = 4;
4273 
4274  return fixedStr<length>(offset);
4275  }
4276 
4277  /// Indicates the type of product the instrument is associated
4278  /// with in the message.
4279  bool product(UInt8& value) const
4280  {
4281  typedef NullUInt8 Null;
4282 
4283  const BlockLength offset = 134;
4284 
4285  return ordinary(value, offset, Null());
4286  }
4287 
4288  /// Maturity date of instrument.
4289  bool maturityDate(Timestamp& value) const
4290  {
4291  typedef NullLocalMktDate Null;
4292  typedef LocalMktDate FieldValue;
4293 
4294  const BlockLength offset = 135;
4295 
4296  FieldValue fieldValue;
4297 
4298  if (ordinary(fieldValue, offset, Null()))
4299  {
4300  value = localMktDateToTimestamp(fieldValue);
4301  return true;
4302  }
4303  return false;
4304  }
4305 
4306  /// For future use.
4307  bool referenceId(StrRef& value) const
4308  {
4309  const BlockLength offset = 137;
4310  const BlockLength length = 50;
4311 
4312  return fixedStr<length>(value, offset);
4313  }
4314 
4315  /// Returns instance of SecurityAltID repeating group.
4317  {
4318  return
4319  groups().
4320  head<SecurityAltID>();
4321  }
4322 
4323  /// Returns instance of Events repeating group.
4324  Events events() const
4325  {
4326  return
4327  groups().
4328  tail<SecurityAltID>().
4329  head<Events>();
4330  }
4331 
4332  /// Returns size of entry body in bytes
4333  /// for given version of message template.
4336  {
4337  return 187;
4338  }
4339 
4340  /// Returns reference to the next item.
4342  {
4343  const void* body = events().end().get().body();
4344  return Entry(
4345  body,
4346  blockLength(version()),
4347  version());
4348  }
4349 
4350  /// Entity class name.
4352  static const Char* className()
4353  {
4354  return "IncrementalRefreshEris351.Entry";
4355  }
4356  };
4357 
4358  /// Repeating group containing Entry entries.
4359  typedef
4362 
4363  /// Initializes blank instance.
4365  {
4366  }
4367 
4368  /// Initializes instance over given memory block.
4370  const void* data,
4371  EncodedLength length)
4372  : BinaryMessage(data, length)
4373  {
4374  assert(TemplateId == templateId());
4375 
4376  if (length < blockLength(version()))
4377  throwBadBinaryData(className());
4378  }
4379 
4380  /// Start of event processing time in number of nanoseconds
4381  /// since Unix epoch.
4383  {
4384  const BlockLength offset = 0;
4385 
4386  return ordinary<Timestamp>(offset);
4387  }
4388 
4389  /// Bitmap field of eight Boolean type indicators reflecting
4390  /// the end of updates for a given event.
4392  {
4393  const BlockLength offset = 8;
4394 
4395  return ordinary<MatchEventIndicator>(offset);
4396  }
4397 
4398  /// Total number of messages contained within batch which is
4399  /// defined by match event indicator (5799).
4400  bool batchTotalMessages(UInt16& value) const
4401  {
4402  typedef NullUInt16 Null;
4403 
4404  const BlockLength offset = 9;
4405 
4406  return ordinary(value, offset, Null());
4407  }
4408 
4409  /// Returns instance of Entries repeating group.
4411  {
4412  return
4413  groups().
4414  head<Entries>();
4415  }
4416 
4417  /// Size of message body in bytes.
4420  {
4421  return 11;
4422  }
4423 
4424  /// Returns class name.
4426  static const Char* className()
4427  {
4428  return "IncrementalRefreshEris351";
4429  }
4430 
4431  /// FIX message type.
4433  static StrRef fixType()
4434  {
4435  return toStrRef("X");
4436  }
4437 };
4438 
4439 /// MDIncrementalRefreshEris.
4442 : BinaryMessage
4443 {
4444  /// Message template ID from SBE schema.
4445  enum { TemplateId = 353 };
4446 
4447  /// Number of entries in Market Data message.
4448  /// Entry of Entry repeating group.
4451  <
4453  >
4454  {
4455  /// Aliases base class type.
4456  typedef
4458  <
4460  >
4462 
4463  /// Initializes blank instance.
4465  {
4466  }
4467 
4468  /// Initializes instance of given
4469  /// version over given memory block.
4471  const void* data,
4472  EncodedLength length,
4473  SchemaVersion version)
4474  : Base(data, length, version)
4475  {
4476  if (length < blockLength(version))
4477  throwBadBinaryData(className());
4478  }
4479 
4480  /// Number of entries in AltID group.
4481  /// Entry of SecurityAltIDEntry repeating group.
4484  <
4486  >
4487  {
4488  /// Aliases base class type.
4489  typedef
4491  <
4493  >
4495 
4496  /// Initializes blank instance.
4498  {
4499  }
4500 
4501  /// Initializes instance of given
4502  /// version over given memory block.
4504  const void* data,
4505  EncodedLength length,
4506  SchemaVersion version)
4507  : Base(data, length, version)
4508  {
4509  if (length < blockLength(version))
4510  throwBadBinaryData(className());
4511  }
4512 
4513  /// Expanded instrument description.
4514  bool securityAltId(StrRef& value) const
4515  {
4516  const BlockLength offset = 0;
4517  const BlockLength length = 26;
4518 
4519  return fixedStr<length>(value, offset);
4520  }
4521 
4522  /// Identifies class or source of the SecurityAltID (455)
4523  /// value.
4525  {
4526  const BlockLength offset = 26;
4527  const BlockLength length = 1;
4528 
4529  return fixedStr<length>(offset);
4530  }
4531 
4532  /// Returns size of entry body in bytes
4533  /// for given version of message template.
4536  {
4537  return 27;
4538  }
4539 
4540  /// Entity class name.
4542  static const Char* className()
4543  {
4544  return "Entries.SecurityAltIDEntry";
4545  }
4546  };
4547 
4548  /// Repeating group containing SecurityAltIDEntry entries.
4549  typedef
4552 
4553  /// Number of repeating EventType entries.
4554  /// Entry of EventsEntry repeating group.
4557  <
4559  >
4560  {
4561  /// Aliases base class type.
4562  typedef
4564  <
4566  >
4568 
4569  /// Initializes blank instance.
4571  {
4572  }
4573 
4574  /// Initializes instance of given
4575  /// version over given memory block.
4577  const void* data,
4578  EncodedLength length,
4579  SchemaVersion version)
4580  : Base(data, length, version)
4581  {
4582  if (length < blockLength(version))
4583  throwBadBinaryData(className());
4584  }
4585 
4586  /// Code to represent the type of event.
4588  {
4589  const BlockLength offset = 0;
4590 
4591  return ordinary<UInt8>(offset);
4592  }
4593 
4594  /// Time of event. This is number of days since unix epoch.
4595  bool eventTime(UInt64& value) const
4596  {
4597  typedef NullUInt64 Null;
4598 
4599  const BlockLength offset = 1;
4600 
4601  return ordinary(value, offset, Null());
4602  }
4603 
4604  /// Returns size of entry body in bytes
4605  /// for given version of message template.
4608  {
4609  return 9;
4610  }
4611 
4612  /// Entity class name.
4614  static const Char* className()
4615  {
4616  return "Entries.EventsEntry";
4617  }
4618  };
4619 
4620  /// Repeating group containing EventsEntry entries.
4621  typedef
4624 
4625  /// Indicates the type of Market Data update action.
4627  {
4628  const BlockLength offset = 0;
4629 
4630  return ordinary<CHAR>(offset);
4631  }
4632 
4633  /// Indicates the type of Market Data entry.
4634  CHAR entryType() const
4635  {
4636  const BlockLength offset = 1;
4637 
4638  return ordinary<CHAR>(offset);
4639  }
4640 
4641  /// MD Entry sequence number per instrument update. Reset
4642  /// weekly.
4643  UInt32 rptSeq() const
4644  {
4645  const BlockLength offset = 2;
4646 
4647  return ordinary<UInt32>(offset);
4648  }
4649 
4650  /// Price of the Market Data Entry.
4652  {
4653  const BlockLength offset = 6;
4654 
4655  return decimal<Decimal64>(offset);
4656  }
4657 
4658  /// Quantity or volume represented by the Market Data Entry.
4659  bool entrySize(UInt64& value) const
4660  {
4661  typedef NullUInt64 Null;
4662 
4663  const BlockLength offset = 15;
4664 
4665  return ordinary(value, offset, Null());
4666  }
4667 
4668  /// Calculated Futures Price using Swap NPV, Historical fixed
4669  /// and floating amounts and synthetic interest on variation
4670  /// margin.
4672  {
4673  const BlockLength offset = 23;
4674 
4675  return decimal<Decimal64>(offset);
4676  }
4677 
4678  /// Position in the book.
4679  bool entryPositionNo(Int32& value) const
4680  {
4681  typedef NullInt32 Null;
4682 
4683  const BlockLength offset = 32;
4684 
4685  return ordinary(value, offset, Null());
4686  }
4687 
4688  /// Number of orders working at a price level. Not sent on
4689  /// implied.
4690  bool numberOfOrders(Int32& value) const
4691  {
4692  typedef NullInt32 Null;
4693 
4694  const BlockLength offset = 36;
4695 
4696  return ordinary(value, offset, Null());
4697  }
4698 
4699  /// The unique identifier for the trade entry, per instrument
4700  /// + trading date.
4701  Int32 tradeId() const
4702  {
4703  const BlockLength offset = 40;
4704 
4705  return ordinary<Int32>(offset);
4706  }
4707 
4708  /// Indicates which side is aggressor of the trade. If there
4709  /// is no value present, then there is no aggressor.
4710  bool
4712  AggressorSide::Enum& value) const
4713  {
4714  typedef NullUInt8 Null;
4715 
4716  const BlockLength offset = 44;
4717 
4718  return enumeration<AggressorSide>(value, offset, Null());
4719  }
4720 
4721  /// Instrument/Index/Swap Name.
4722  bool symbol(StrRef& value) const
4723  {
4724  const BlockLength offset = 45;
4725  const BlockLength length = 50;
4726 
4727  return fixedStr<length>(value, offset);
4728  }
4729 
4730  /// Indicates the product code for the instrument.
4731  bool securityGroup(StrRef& value) const
4732  {
4733  const BlockLength offset = 95;
4734  const BlockLength length = 26;
4735 
4736  return fixedStr<length>(value, offset);
4737  }
4738 
4739  /// Identifies the type of instrument.
4740  bool securityType(StrRef& value) const
4741  {
4742  const BlockLength offset = 121;
4743  const BlockLength length = 9;
4744 
4745  return fixedStr<length>(value, offset);
4746  }
4747 
4748  /// Market used to help identify an instrument.
4750  {
4751  const BlockLength offset = 130;
4752  const BlockLength length = 4;
4753 
4754  return fixedStr<length>(offset);
4755  }
4756 
4757  /// Indicates the type of product the instrument is associated
4758  /// with in the message.
4759  bool product(UInt8& value) const
4760  {
4761  typedef NullUInt8 Null;
4762 
4763  const BlockLength offset = 134;
4764 
4765  return ordinary(value, offset, Null());
4766  }
4767 
4768  /// Maturity date of instrument.
4769  bool maturityDate(Timestamp& value) const
4770  {
4771  typedef NullLocalMktDate Null;
4772  typedef LocalMktDate FieldValue;
4773 
4774  const BlockLength offset = 135;
4775 
4776  FieldValue fieldValue;
4777 
4778  if (ordinary(fieldValue, offset, Null()))
4779  {
4780  value = localMktDateToTimestamp(fieldValue);
4781  return true;
4782  }
4783  return false;
4784  }
4785 
4786  /// For future use.
4787  bool referenceId(StrRef& value) const
4788  {
4789  const BlockLength offset = 137;
4790  const BlockLength length = 50;
4791 
4792  return fixedStr<length>(value, offset);
4793  }
4794 
4795  /// Identifies the type of quote. 0=Indicative, 1=Tradeable.
4796  bool quoteType(UInt8& value) const
4797  {
4798  typedef NullUInt8 Null;
4799 
4800  const BlockLength offset = 187;
4801 
4802  return ordinary(value, offset, Null());
4803  }
4804 
4805  /// Returns instance of SecurityAltID repeating group.
4807  {
4808  return
4809  groups().
4810  head<SecurityAltID>();
4811  }
4812 
4813  /// Returns instance of Events repeating group.
4814  Events events() const
4815  {
4816  return
4817  groups().
4818  tail<SecurityAltID>().
4819  head<Events>();
4820  }
4821 
4822  /// Returns size of entry body in bytes
4823  /// for given version of message template.
4826  {
4827  return 188;
4828  }
4829 
4830  /// Returns reference to the next item.
4832  {
4833  const void* body = events().end().get().body();
4834  return Entry(
4835  body,
4836  blockLength(version()),
4837  version());
4838  }
4839 
4840  /// Entity class name.
4842  static const Char* className()
4843  {
4844  return "IncrementalRefreshEris353.Entry";
4845  }
4846  };
4847 
4848  /// Repeating group containing Entry entries.
4849  typedef
4852 
4853  /// Initializes blank instance.
4855  {
4856  }
4857 
4858  /// Initializes instance over given memory block.
4860  const void* data,
4861  EncodedLength length)
4862  : BinaryMessage(data, length)
4863  {
4864  assert(TemplateId == templateId());
4865 
4866  if (length < blockLength(version()))
4867  throwBadBinaryData(className());
4868  }
4869 
4870  /// Start of event processing time in number of nanoseconds
4871  /// since Unix epoch.
4873  {
4874  const BlockLength offset = 0;
4875 
4876  return ordinary<Timestamp>(offset);
4877  }
4878 
4879  /// Bitmap field of eight Boolean type indicators reflecting
4880  /// the end of updates for a given event.
4882  {
4883  const BlockLength offset = 8;
4884 
4885  return ordinary<MatchEventIndicator>(offset);
4886  }
4887 
4888  /// Total number of messages contained within batch which is
4889  /// defined by match event indicator (5799).
4890  bool batchTotalMessages(UInt16& value) const
4891  {
4892  typedef NullUInt16 Null;
4893 
4894  const BlockLength offset = 9;
4895 
4896  return ordinary(value, offset, Null());
4897  }
4898 
4899  /// Returns instance of Entries repeating group.
4901  {
4902  return
4903  groups().
4904  head<Entries>();
4905  }
4906 
4907  /// Size of message body in bytes.
4910  {
4911  return 11;
4912  }
4913 
4914  /// Returns class name.
4916  static const Char* className()
4917  {
4918  return "IncrementalRefreshEris353";
4919  }
4920 
4921  /// FIX message type.
4923  static StrRef fixType()
4924  {
4925  return toStrRef("X");
4926  }
4927 };
4928 
4929 /// MDIncrementalRefreshOTC.
4932 : BinaryMessage
4933 {
4934  /// Message template ID from SBE schema.
4935  enum { TemplateId = 356 };
4936 
4937  /// Number of entries in Market Data message.
4938  /// Entry of Entry repeating group.
4941  <
4943  >
4944  {
4945  /// Aliases base class type.
4946  typedef
4948  <
4950  >
4952 
4953  /// Initializes blank instance.
4955  {
4956  }
4957 
4958  /// Initializes instance of given
4959  /// version over given memory block.
4961  const void* data,
4962  EncodedLength length,
4963  SchemaVersion version)
4964  : Base(data, length, version)
4965  {
4966  if (length < blockLength(version))
4967  throwBadBinaryData(className());
4968  }
4969 
4970  /// Number of underlying legs that make up the security.
4971  /// Entry of UnderlyingsEntry repeating group.
4974  <
4976  >
4977  {
4978  /// Aliases base class type.
4979  typedef
4981  <
4983  >
4985 
4986  /// Initializes blank instance.
4988  {
4989  }
4990 
4991  /// Initializes instance of given
4992  /// version over given memory block.
4994  const void* data,
4995  EncodedLength length,
4996  SchemaVersion version)
4997  : Base(data, length, version)
4998  {
4999  if (length < blockLength(version))
5000  throwBadBinaryData(className());
5001  }
5002 
5003  /// Underlying Security's symbol.
5004  bool underlyingSymbol(StrRef& value) const
5005  {
5006  const BlockLength offset = 0;
5007  const BlockLength length = 50;
5008 
5009  return fixedStr<length>(value, offset);
5010  }
5011 
5012  /// Underlying Security's MaturityMonthYear.
5014  {
5015  typedef NullMaturityMonthYear Null;
5016 
5017  const BlockLength offset = 50;
5018 
5019  return ordinary(value, offset, Null());
5020  }
5021 
5022  /// Underlying Security's SecurityType.
5023  bool underlyingSecurityType(StrRef& value) const
5024  {
5025  const BlockLength offset = 55;
5026  const BlockLength length = 9;
5027 
5028  return fixedStr<length>(value, offset);
5029  }
5030 
5031  /// Underlying Security's SecurityExchange and it can be used
5032  /// to identify the underlying security.
5034  {
5035  const BlockLength offset = 64;
5036  const BlockLength length = 4;
5037 
5038  return fixedStr<length>(offset);
5039  }
5040 
5041  /// Returns size of entry body in bytes
5042  /// for given version of message template.
5045  {
5046  return 68;
5047  }
5048 
5049  /// Entity class name.
5051  static const Char* className()
5052  {
5053  return "Entries.UnderlyingsEntry";
5054  }
5055  };
5056 
5057  /// Repeating group containing UnderlyingsEntry entries.
5058  typedef
5061 
5062  /// Number of entries in AltID group.
5063  /// Entry of SecurityAltIDEntry repeating group.
5066  <
5068  >
5069  {
5070  /// Aliases base class type.
5071  typedef
5073  <
5075  >
5077 
5078  /// Initializes blank instance.
5080  {
5081  }
5082 
5083  /// Initializes instance of given
5084  /// version over given memory block.
5086  const void* data,
5087  EncodedLength length,
5088  SchemaVersion version)
5089  : Base(data, length, version)
5090  {
5091  if (length < blockLength(version))
5092  throwBadBinaryData(className());
5093  }
5094 
5095  /// Expanded instrument description.
5096  bool securityAltId(StrRef& value) const
5097  {
5098  const BlockLength offset = 0;
5099  const BlockLength length = 50;
5100 
5101  return fixedStr<length>(value, offset);
5102  }
5103 
5104  /// Identifies class or source of the SecurityAltID (455)
5105  /// value.
5107  {
5108  const BlockLength offset = 50;
5109  const BlockLength length = 1;
5110 
5111  return fixedStr<length>(offset);
5112  }
5113 
5114  /// Returns size of entry body in bytes
5115  /// for given version of message template.
5118  {
5119  return 51;
5120  }
5121 
5122  /// Entity class name.
5124  static const Char* className()
5125  {
5126  return "Entries.SecurityAltIDEntry";
5127  }
5128  };
5129 
5130  /// Repeating group containing SecurityAltIDEntry entries.
5131  typedef
5134 
5135  /// Indicates the type of Market Data update action.
5137  {
5138  return UpdateActionNew();
5139  }
5140 
5141  /// Indicates the type of Market Data entry.
5142  CHAR entryType() const
5143  {
5144  const BlockLength offset = 0;
5145 
5146  return ordinary<CHAR>(offset);
5147  }
5148 
5149  /// MD Entry sequence number per instrument update. Reset
5150  /// weekly.
5151  UInt32 rptSeq() const
5152  {
5153  const BlockLength offset = 1;
5154 
5155  return ordinary<UInt32>(offset);
5156  }
5157 
5158  /// Price of the Market Data Entry.
5159  bool entryPx(Decimal& value) const
5160  {
5161  typedef NullPRICENULL Null;
5162 
5163  const BlockLength offset = 5;
5164 
5165  return decimal(value, offset, Null());
5166  }
5167 
5168  /// Quantity or volume represented by the Market Data Entry.
5170  {
5171  const BlockLength offset = 13;
5172 
5173  return decimal<Decimal64>(offset);
5174  }
5175 
5176  /// Instrument/Index/Swap Name.
5177  bool symbol(StrRef& value) const
5178  {
5179  const BlockLength offset = 22;
5180  const BlockLength length = 50;
5181 
5182  return fixedStr<length>(value, offset);
5183  }
5184 
5185  /// Indicates the product code for the instrument.
5186  bool securityGroup(StrRef& value) const
5187  {
5188  const BlockLength offset = 72;
5189  const BlockLength length = 12;
5190 
5191  return fixedStr<length>(value, offset);
5192  }
5193 
5194  /// Indicates the type of instrument.
5195  bool securityType(StrRef& value) const
5196  {
5197  const BlockLength offset = 84;
5198  const BlockLength length = 9;
5199 
5200  return fixedStr<length>(value, offset);
5201  }
5202 
5203  /// This field provides the actual calendar date for contract
5204  /// maturity month and year (used for standardized futures and
5205  /// options).
5207  {
5208  typedef NullMaturityMonthYear Null;
5209 
5210  const BlockLength offset = 93;
5211 
5212  return ordinary(value, offset, Null());
5213  }
5214 
5215  /// Market used to help identify an instrument.
5217  {
5218  const BlockLength offset = 98;
5219  const BlockLength length = 4;
5220 
5221  return fixedStr<length>(offset);
5222  }
5223 
5224  /// Indicates the type of product the instrument is associated
5225  /// with in the message.
5226  bool product(UInt8& value) const
5227  {
5228  typedef NullUInt8 Null;
5229 
5230  const BlockLength offset = 102;
5231 
5232  return ordinary(value, offset, Null());
5233  }
5234 
5235  /// Maturity date of instrument.
5236  bool maturityDate(Timestamp& value) const
5237  {
5238  typedef NullLocalMktDate Null;
5239  typedef LocalMktDate FieldValue;
5240 
5241  const BlockLength offset = 103;
5242 
5243  FieldValue fieldValue;
5244 
5245  if (ordinary(fieldValue, offset, Null()))
5246  {
5247  value = localMktDateToTimestamp(fieldValue);
5248  return true;
5249  }
5250  return false;
5251  }
5252 
5253  /// The rate of interest that, when multiplied by the
5254  /// principal, par value, or face value of a bond, provides
5255  /// the currency amount of the periodic interest payment.
5256  bool couponRate(Decimal& value) const
5257  {
5258  typedef NullDecimal32 Null;
5259 
5260  const BlockLength offset = 105;
5261 
5262  return decimal(value, offset, Null());
5263  }
5264 
5265  /// A category of CDS credit event in which the underlying
5266  /// bond experiences a restructuring.
5267  bool restructuringType(StrRef& value) const
5268  {
5269  const BlockLength offset = 109;
5270  const BlockLength length = 2;
5271 
5272  return fixedStr<length>(value, offset);
5273  }
5274 
5275  /// Specifies which issue (underlying bond) will receive
5276  /// payment priority in the event of a default.
5277  bool seniority(StrRef& value) const
5278  {
5279  const BlockLength offset = 111;
5280  const BlockLength length = 2;
5281 
5282  return fixedStr<length>(value, offset);
5283  }
5284 
5285  /// Indicates the notional percentage of the deal that is
5286  /// still outstanding based on the remaining components of the
5287  /// index.
5289  {
5290  typedef NullDecimal32 Null;
5291 
5292  const BlockLength offset = 113;
5293 
5294  return decimal(value, offset, Null());
5295  }
5296 
5297  /// Indicates whether an option instrument is a put or call.
5298  bool putOrCall(UInt8& value) const
5299  {
5300  typedef NullUInt8 Null;
5301 
5302  const BlockLength offset = 117;
5303 
5304  return ordinary(value, offset, Null());
5305  }
5306 
5307  /// Strike Price for an option instrument.
5309  {
5310  const BlockLength offset = 118;
5311 
5312  return decimal<Decimal64>(offset);
5313  }
5314 
5315  /// Unit of measure for the products' original contract size.
5316  bool unitOfMeasure(StrRef& value) const
5317  {
5318  const BlockLength offset = 127;
5319  const BlockLength length = 5;
5320 
5321  return fixedStr<length>(value, offset);
5322  }
5323 
5324  /// Indicates the ISO Currency code if it is a currency
5325  /// product.
5327  {
5328  const BlockLength offset = 132;
5329  const BlockLength length = 3;
5330 
5331  return fixedStr<length>(offset);
5332  }
5333 
5334  /// This field contains the notional value for each
5335  /// instrument. The notional value is equivalent to the
5336  /// corresponding premium-quoted contract.
5338  {
5339  const BlockLength offset = 135;
5340 
5341  return decimal<Decimal64>(offset);
5342  }
5343 
5344  /// Date of the Market Data Entry Format: YYYYMMDD (i.e.
5345  /// 20071215).
5346  bool entryDate(Int32& value) const
5347  {
5348  typedef NullInt32 Null;
5349 
5350  const BlockLength offset = 144;
5351 
5352  return ordinary(value, offset, Null());
5353  }
5354 
5355  /// Flag that identifies a market data entry.
5356  bool openCloseSettlFlag(UInt8& value) const
5357  {
5358  typedef NullUInt8 Null;
5359 
5360  const BlockLength offset = 148;
5361 
5362  return ordinary(value, offset, Null());
5363  }
5364 
5365  /// Valid price types for intraday trade.
5366  bool priceType(UInt16& value) const
5367  {
5368  typedef NullUInt16 Null;
5369 
5370  const BlockLength offset = 149;
5371 
5372  return ordinary(value, offset, Null());
5373  }
5374 
5375  /// Indicates date of settlement.
5376  bool settlDate(Timestamp& value) const
5377  {
5378  typedef NullLocalMktDate Null;
5379  typedef LocalMktDate FieldValue;
5380 
5381  const BlockLength offset = 151;
5382 
5383  FieldValue fieldValue;
5384 
5385  if (ordinary(fieldValue, offset, Null()))
5386  {
5387  value = localMktDateToTimestamp(fieldValue);
5388  return true;
5389  }
5390  return false;
5391  }
5392 
5393  /// Condition describing a quote.
5395  {
5396  const BlockLength offset = 153;
5397 
5398  return ordinary<CHAR>(offset);
5399  }
5400 
5401  /// Identifies the market in which a product trades. For e.g.
5402  /// CDS, Dairy.
5403  bool marketSector(StrRef& value) const
5404  {
5405  const BlockLength offset = 154;
5406  const BlockLength length = 26;
5407 
5408  return fixedStr<length>(value, offset);
5409  }
5410 
5411  /// Group of related products. For e.g. High Yield, Cheese.
5412  bool sectorGroup(StrRef& value) const
5413  {
5414  const BlockLength offset = 180;
5415  const BlockLength length = 2;
5416 
5417  return fixedStr<length>(value, offset);
5418  }
5419 
5420  /// A further qualification of Sector Group For e.g. North
5421  /// American.
5422  bool sectorSubGroup(StrRef& value) const
5423  {
5424  const BlockLength offset = 182;
5425  const BlockLength length = 26;
5426 
5427  return fixedStr<length>(value, offset);
5428  }
5429 
5430  /// Identifies an entire suite of products for a given market.
5431  bool productComplex(StrRef& value) const
5432  {
5433  const BlockLength offset = 208;
5434  const BlockLength length = 26;
5435 
5436  return fixedStr<length>(value, offset);
5437  }
5438 
5439  /// SecuritySubType for CDS only.
5440  bool securitySubType(StrRef& value) const
5441  {
5442  const BlockLength offset = 234;
5443  const BlockLength length = 2;
5444 
5445  return fixedStr<length>(value, offset);
5446  }
5447 
5448  /// Volume types for end of day volume.
5449  bool volType(UInt16& value) const
5450  {
5451  typedef NullUInt16 Null;
5452 
5453  const BlockLength offset = 236;
5454 
5455  return ordinary(value, offset, Null());
5456  }
5457 
5458  /// For future use.
5459  bool referenceId(StrRef& value) const
5460  {
5461  const BlockLength offset = 238;
5462  const BlockLength length = 100;
5463 
5464  return fixedStr<length>(value, offset);
5465  }
5466 
5467  /// Returns instance of Underlyings repeating group.
5469  {
5470  return
5471  groups().
5472  head<Underlyings>();
5473  }
5474 
5475  /// Returns instance of SecurityAltID repeating group.
5477  {
5478  return
5479  groups().
5480  tail<Underlyings>().
5481  head<SecurityAltID>();
5482  }
5483 
5484  /// Returns size of entry body in bytes
5485  /// for given version of message template.
5488  {
5489  return 338;
5490  }
5491 
5492  /// Returns reference to the next item.
5494  {
5495  const void* body = securityAltId().end().get().body();
5496  return Entry(
5497  body,
5498  blockLength(version()),
5499  version());
5500  }
5501 
5502  /// Entity class name.
5504  static const Char* className()
5505  {
5506  return "IncrementalRefreshOTC356.Entry";
5507  }
5508  };
5509 
5510  /// Repeating group containing Entry entries.
5511  typedef
5514 
5515  /// Initializes blank instance.
5517  {
5518  }
5519 
5520  /// Initializes instance over given memory block.
5522  const void* data,
5523  EncodedLength length)
5524  : BinaryMessage(data, length)
5525  {
5526  assert(TemplateId == templateId());
5527 
5528  if (length < blockLength(version()))
5529  throwBadBinaryData(className());
5530  }
5531 
5532  /// Start of event processing time in number of nanoseconds
5533  /// since Unix epoch.
5535  {
5536  const BlockLength offset = 0;
5537 
5538  return ordinary<Timestamp>(offset);
5539  }
5540 
5541  /// Indicates date of trade referenced in this message in
5542  /// YYYYMMDD format (expressed in local time at place of
5543  /// trade). Returned only in trade and trade cancel execution
5544  /// reports.
5545  bool tradeDate(Timestamp& value) const
5546  {
5547  typedef NullLocalMktDate Null;
5548  typedef LocalMktDate FieldValue;
5549 
5550  const BlockLength offset = 8;
5551 
5552  FieldValue fieldValue;
5553 
5554  if (ordinary(fieldValue, offset, Null()))
5555  {
5556  value = localMktDateToTimestamp(fieldValue);
5557  return true;
5558  }
5559  return false;
5560  }
5561 
5562  /// Bitmap field of eight Boolean type indicators reflecting
5563  /// the end of updates for a given event.
5565  {
5566  const BlockLength offset = 10;
5567 
5568  return ordinary<MatchEventIndicator>(offset);
5569  }
5570 
5571  /// Total number of messages contained within batch which is
5572  /// defined by match event indicator (5799).
5573  bool batchTotalMessages(UInt16& value) const
5574  {
5575  typedef NullUInt16 Null;
5576 
5577  const BlockLength offset = 11;
5578 
5579  return ordinary(value, offset, Null());
5580  }
5581 
5582  /// Returns instance of Entries repeating group.
5584  {
5585  return
5586  groups().
5587  head<Entries>();
5588  }
5589 
5590  /// Size of message body in bytes.
5593  {
5594  return 13;
5595  }
5596 
5597  /// Returns class name.
5599  static const Char* className()
5600  {
5601  return "IncrementalRefreshOTC356";
5602  }
5603 
5604  /// FIX message type.
5606  static StrRef fixType()
5607  {
5608  return toStrRef("X");
5609  }
5610 };
5611 
5612 /// MDInstrumentDefinitionEris.
5615 : BinaryMessage
5616 {
5617  /// Message template ID from SBE schema.
5618  enum { TemplateId = 363 };
5619 
5620  /// Number of feed type repeating group entries.
5621  /// Entry of FeedTypesEntry repeating group.
5624  <
5626  >
5627  {
5628  /// Aliases base class type.
5629  typedef
5631  <
5633  >
5635 
5636  /// Initializes blank instance.
5638  {
5639  }
5640 
5641  /// Initializes instance of given
5642  /// version over given memory block.
5644  const void* data,
5645  EncodedLength length,
5646  SchemaVersion version)
5647  : Base(data, length, version)
5648  {
5649  if (length < blockLength(version))
5650  throwBadBinaryData(className());
5651  }
5652 
5653  /// Describes a class of service for a given data feed. This
5654  /// value will always be EBX for Eris.
5655  bool feedType(StrRef& value) const
5656  {
5657  const BlockLength offset = 0;
5658  const BlockLength length = 3;
5659 
5660  return fixedStr<length>(value, offset);
5661  }
5662 
5663  /// Indicated the level on the book traded.
5664  bool marketDepth(UInt8& value) const
5665  {
5666  typedef NullUInt8 Null;
5667 
5668  const BlockLength offset = 3;
5669 
5670  return ordinary(value, offset, Null());
5671  }
5672 
5673  /// Returns size of entry body in bytes
5674  /// for given version of message template.
5677  {
5678  return 4;
5679  }
5680 
5681  /// Entity class name.
5683  static const Char* className()
5684  {
5685  return "InstrumentDefinitionEris363.FeedTypesEntry";
5686  }
5687  };
5688 
5689  /// Repeating group containing FeedTypesEntry entries.
5690  typedef
5693 
5694  /// Number of repeating EventType entries.
5695  /// Entry of EventsEntry repeating group.
5698  <
5700  >
5701  {
5702  /// Aliases base class type.
5703  typedef
5705  <
5707  >
5709 
5710  /// Initializes blank instance.
5712  {
5713  }
5714 
5715  /// Initializes instance of given
5716  /// version over given memory block.
5718  const void* data,
5719  EncodedLength length,
5720  SchemaVersion version)
5721  : Base(data, length, version)
5722  {
5723  if (length < blockLength(version))
5724  throwBadBinaryData(className());
5725  }
5726 
5727  /// Code to represent the type of event.
5728  bool eventType(UInt8& value) const
5729  {
5730  typedef NullUInt8 Null;
5731 
5732  const BlockLength offset = 0;
5733 
5734  return ordinary(value, offset, Null());
5735  }
5736 
5737  /// Time of event. This is number of days since unix epoch.
5738  bool eventTime(UInt64& value) const
5739  {
5740  typedef NullUInt64 Null;
5741 
5742  const BlockLength offset = 1;
5743 
5744  return ordinary(value, offset, Null());
5745  }
5746 
5747  /// Returns size of entry body in bytes
5748  /// for given version of message template.
5751  {
5752  return 9;
5753  }
5754 
5755  /// Entity class name.
5757  static const Char* className()
5758  {
5759  return "InstrumentDefinitionEris363.EventsEntry";
5760  }
5761  };
5762 
5763  /// Repeating group containing EventsEntry entries.
5764  typedef
5767 
5768  /// Number of entries in AltID group.
5769  /// Entry of SecurityAltIDEntry repeating group.
5772  <
5774  >
5775  {
5776  /// Aliases base class type.
5777  typedef
5779  <
5781  >
5783 
5784  /// Initializes blank instance.
5786  {
5787  }
5788 
5789  /// Initializes instance of given
5790  /// version over given memory block.
5792  const void* data,
5793  EncodedLength length,
5794  SchemaVersion version)
5795  : Base(data, length, version)
5796  {
5797  if (length < blockLength(version))
5798  throwBadBinaryData(className());
5799  }
5800 
5801  /// Expanded instrument description.
5802  bool securityAltId(StrRef& value) const
5803  {
5804  const BlockLength offset = 0;
5805  const BlockLength length = 26;
5806 
5807  return fixedStr<length>(value, offset);
5808  }
5809 
5810  /// Identifies class or source of the SecurityAltID (455)
5811  /// value.
5813  {
5814  const BlockLength offset = 26;
5815  const BlockLength length = 1;
5816 
5817  return fixedStr<length>(offset);
5818  }
5819 
5820  /// Returns size of entry body in bytes
5821  /// for given version of message template.
5824  {
5825  return 27;
5826  }
5827 
5828  /// Entity class name.
5830  static const Char* className()
5831  {
5832  return "InstrumentDefinitionEris363.SecurityAltIDEntry";
5833  }
5834  };
5835 
5836  /// Repeating group containing SecurityAltIDEntry entries.
5837  typedef
5840 
5841  /// Number of legs (repeating groups).
5842  /// Entry of LegsEntry repeating group.
5845  <
5847  >
5848  {
5849  /// Aliases base class type.
5850  typedef
5852  <
5854  >
5856 
5857  /// Initializes blank instance.
5859  {
5860  }
5861 
5862  /// Initializes instance of given
5863  /// version over given memory block.
5865  const void* data,
5866  EncodedLength length,
5867  SchemaVersion version)
5868  : Base(data, length, version)
5869  {
5870  if (length < blockLength(version))
5871  throwBadBinaryData(className());
5872  }
5873 
5874  /// Multileg instrument's individual security's
5875  /// NoSecurityAltID.
5876  /// Entry of LegSecurityAltIDEntry repeating group.
5879  <
5881  >
5882  {
5883  /// Aliases base class type.
5884  typedef
5886  <
5888  >
5890 
5891  /// Initializes blank instance.
5893  {
5894  }
5895 
5896  /// Initializes instance of given
5897  /// version over given memory block.
5899  const void* data,
5900  EncodedLength length,
5901  SchemaVersion version)
5902  : Base(data, length, version)
5903  {
5904  if (length < blockLength(version))
5905  throwBadBinaryData(className());
5906  }
5907 
5908  /// Multileg instrument's individual security's SecurityAltID.
5909  bool legSecurityAltId(StrRef& value) const
5910  {
5911  const BlockLength offset = 0;
5912  const BlockLength length = 26;
5913 
5914  return fixedStr<length>(value, offset);
5915  }
5916 
5917  /// Multileg instrument's individual security's
5918  /// SecurityAltIDSource.
5919  bool legSecurityAltIdSource(UInt8& value) const
5920  {
5921  typedef NullUInt8 Null;
5922 
5923  const BlockLength offset = 26;
5924 
5925  return ordinary(value, offset, Null());
5926  }
5927 
5928  /// Returns size of entry body in bytes
5929  /// for given version of message template.
5932  {
5933  return 27;
5934  }
5935 
5936  /// Entity class name.
5938  static const Char* className()
5939  {
5940  return "Legs.LegSecurityAltIDEntry";
5941  }
5942  };
5943 
5944  /// Repeating group containing LegSecurityAltIDEntry entries.
5945  typedef
5948 
5949  /// Required for Floating Rate Leg. Floating rate reference.
5950  bool legBenchmarkCurveName(StrRef& value) const
5951  {
5952  const BlockLength offset = 0;
5953  const BlockLength length = 5;
5954 
5955  return fixedStr<length>(value, offset);
5956  }
5957 
5958  /// Rate Descriptor.
5959  bool rateDescriptor(StrRef& value) const
5960  {
5961  const BlockLength offset = 5;
5962  const BlockLength length = 8;
5963 
5964  return fixedStr<length>(value, offset);
5965  }
5966 
5967  /// Issue date for one leg of a multi-issue trade. It is the
5968  /// previous fixing date on the float leg.
5969  bool previousFixingDate(Timestamp& value) const
5970  {
5971  typedef NullLocalMktDate Null;
5972  typedef LocalMktDate FieldValue;
5973 
5974  const BlockLength offset = 13;
5975 
5976  FieldValue fieldValue;
5977 
5978  if (ordinary(fieldValue, offset, Null()))
5979  {
5980  value = localMktDateToTimestamp(fieldValue);
5981  return true;
5982  }
5983  return false;
5984  }
5985 
5986  /// Payment frequency of fixed and floating rates expresses as
5987  /// a period.
5988  bool legPayFrequencey(StrRef& value) const
5989  {
5990  const BlockLength offset = 15;
5991  const BlockLength length = 3;
5992 
5993  return fixedStr<length>(value, offset);
5994  }
5995 
5996  /// The Rate set on the last reset date. It is the previous
5997  /// fixing rate.
5999  {
6000  const BlockLength offset = 18;
6001 
6002  return decimal<Decimal64>(offset);
6003  }
6004 
6005  /// For Eris Interest rate swaps values would be FIXED, FLOAT
6006  /// and for Spread, value would be underline instrument.
6007  bool legSymbol(StrRef& value) const
6008  {
6009  const BlockLength offset = 27;
6010  const BlockLength length = 50;
6011 
6012  return fixedStr<length>(value, offset);
6013  }
6014 
6015  /// The ratio of quantity for this individual leg relative to
6016  /// the entire multi-leg instrument.
6017  bool legRatioQty(Int32& value) const
6018  {
6019  typedef NullInt32 Null;
6020 
6021  const BlockLength offset = 77;
6022 
6023  return ordinary(value, offset, Null());
6024  }
6025 
6026  /// The side of this individual leg.
6027  bool legSide(UInt8& value) const
6028  {
6029  typedef NullUInt8 Null;
6030 
6031  const BlockLength offset = 81;
6032 
6033  return ordinary(value, offset, Null());
6034  }
6035 
6036  /// Currency associated with a particular Leg's quantity.
6038  {
6039  const BlockLength offset = 82;
6040  const BlockLength length = 3;
6041 
6042  return fixedStr<length>(offset);
6043  }
6044 
6045  /// Identifies the type of instrument.
6046  bool legSecurityType(StrRef& value) const
6047  {
6048  const BlockLength offset = 85;
6049  const BlockLength length = 8;
6050 
6051  return fixedStr<length>(value, offset);
6052  }
6053 
6054  /// Leg equivalent of body tag 1151-SecurityGroup (i.e. leg
6055  /// 'product code').
6056  bool legSecurityGroup(StrRef& value) const
6057  {
6058  const BlockLength offset = 93;
6059  const BlockLength length = 12;
6060 
6061  return fixedStr<length>(value, offset);
6062  }
6063 
6064  /// Float reset date offset, specified when LegType = FLOAT.
6065  bool legDateOffset(Int8& value) const
6066  {
6067  typedef NullInt8 Null;
6068 
6069  const BlockLength offset = 105;
6070 
6071  return ordinary(value, offset, Null());
6072  }
6073 
6074  /// Multiplier that when applied on longer rate results in
6075  /// previous fixing rate.
6077  {
6078  const BlockLength offset = 106;
6079 
6080  return decimal<Decimal64>(offset);
6081  }
6082 
6083  /// Returns instance of LegSecurityAltID repeating group.
6085  {
6086  return
6087  groups().
6088  head<LegSecurityAltID>();
6089  }
6090 
6091  /// Returns size of entry body in bytes
6092  /// for given version of message template.
6095  {
6096  return 115;
6097  }
6098 
6099  /// Returns reference to the next item.
6101  {
6102  const void* body = legSecurityAltId().end().get().body();
6103  return LegsEntry(
6104  body,
6105  blockLength(version()),
6106  version());
6107  }
6108 
6109  /// Entity class name.
6111  static const Char* className()
6112  {
6113  return "InstrumentDefinitionEris363.LegsEntry";
6114  }
6115  };
6116 
6117  /// Repeating group containing LegsEntry entries.
6118  typedef
6121 
6122  /// Initializes blank instance.
6124  {
6125  }
6126 
6127  /// Initializes instance over given memory block.
6129  const void* data,
6130  EncodedLength length)
6131  : BinaryMessage(data, length)
6132  {
6133  assert(TemplateId == templateId());
6134 
6135  if (length < blockLength(version()))
6136  throwBadBinaryData(className());
6137  }
6138 
6139  /// Product code.
6140  bool securityGroup(StrRef& value) const
6141  {
6142  const BlockLength offset = 0;
6143  const BlockLength length = 12;
6144 
6145  return fixedStr<length>(value, offset);
6146  }
6147 
6148  /// Instrument/Index/Swap Name.
6149  bool symbol(StrRef& value) const
6150  {
6151  const BlockLength offset = 12;
6152  const BlockLength length = 50;
6153 
6154  return fixedStr<length>(value, offset);
6155  }
6156 
6157  /// Identifies the type of instrument.
6158  bool securityType(StrRef& value) const
6159  {
6160  const BlockLength offset = 62;
6161  const BlockLength length = 4;
6162 
6163  return fixedStr<length>(value, offset);
6164  }
6165 
6166  /// Identifies the type of product.
6167  bool product(UInt8& value) const
6168  {
6169  typedef NullUInt8 Null;
6170 
6171  const BlockLength offset = 66;
6172 
6173  return ordinary(value, offset, Null());
6174  }
6175 
6176  /// Market used to help identify a security.
6178  {
6179  const BlockLength offset = 67;
6180  const BlockLength length = 4;
6181 
6182  return fixedStr<length>(offset);
6183  }
6184 
6185  /// Maturity date of instrument.
6186  bool maturityDate(Timestamp& value) const
6187  {
6188  typedef NullLocalMktDate Null;
6189  typedef LocalMktDate FieldValue;
6190 
6191  const BlockLength offset = 71;
6192 
6193  FieldValue fieldValue;
6194 
6195  if (ordinary(fieldValue, offset, Null()))
6196  {
6197  value = localMktDateToTimestamp(fieldValue);
6198  return true;
6199  }
6200  return false;
6201  }
6202 
6203  /// Identifies currency used for price.
6205  {
6206  const BlockLength offset = 73;
6207  const BlockLength length = 3;
6208 
6209  return fixedStr<length>(offset);
6210  }
6211 
6212  /// Minimum constant tick for the instrument.
6214  {
6215  const BlockLength offset = 76;
6216 
6217  return decimal<Decimal64>(offset);
6218  }
6219 
6220  /// Included in the message on the Incremental feed when a
6221  /// mid-week deletion or modification (i.e. extension) occurs.
6224  {
6225  const BlockLength offset = 85;
6226 
6227  return enumeration<SecurityUpdateAction>(offset);
6228  }
6229 
6230  /// Rate type for the swap and spread.
6231  bool rateType(StrRef& value) const
6232  {
6233  const BlockLength offset = 86;
6234  const BlockLength length = 2;
6235 
6236  return fixedStr<length>(value, offset);
6237  }
6238 
6239  /// Coupon Rate of the Swap.
6240  bool couponRate(Decimal& value) const
6241  {
6242  typedef NullDecimal32 Null;
6243 
6244  const BlockLength offset = 88;
6245 
6246  return decimal(value, offset, Null());
6247  }
6248 
6249  /// Identifies user-defined instruments. If the tag is not
6250  /// present, the instrument is not user-defined.
6251  bool userDefinedInstrument(ErisUDI& value) const
6252  {
6253  typedef NullErisUDI Null;
6254 
6255  const BlockLength offset = 92;
6256 
6257  return ordinary(value, offset, Null());
6258  }
6259 
6260  /// This value indicates the channel ID as defined in the XML
6261  /// configuration file.
6262  bool applId(UInt16& value) const
6263  {
6264  typedef NullUInt16 Null;
6265 
6266  const BlockLength offset = 93;
6267 
6268  return ordinary(value, offset, Null());
6269  }
6270 
6271  /// Returns instance of FeedTypes repeating group.
6273  {
6274  return
6275  groups().
6276  head<FeedTypes>();
6277  }
6278 
6279  /// Returns instance of Events repeating group.
6280  Events events() const
6281  {
6282  return
6283  groups().
6284  tail<FeedTypes>().
6285  head<Events>();
6286  }
6287 
6288  /// Returns instance of SecurityAltID repeating group.
6290  {
6291  return
6292  groups().
6293  tail<FeedTypes>().
6294  tail<Events>().
6295  head<SecurityAltID>();
6296  }
6297 
6298  /// Returns instance of Legs repeating group.
6299  Legs legs() const
6300  {
6301  return
6302  groups().
6303  tail<FeedTypes>().
6304  tail<Events>().
6305  tail<SecurityAltID>().
6306  head<Legs>();
6307  }
6308 
6309  /// Size of message body in bytes.
6312  {
6313  return 95;
6314  }
6315 
6316  /// Returns class name.
6318  static const Char* className()
6319  {
6320  return "InstrumentDefinitionEris363";
6321  }
6322 
6323  /// FIX message type.
6325  static StrRef fixType()
6326  {
6327  return toStrRef("d");
6328  }
6329 };
6330 
6331 /// MDIncrementalRefreshTradeBlocks.
6334 : BinaryMessage
6335 {
6336  /// Message template ID from SBE schema.
6337  enum { TemplateId = 365 };
6338 
6339  /// Number of entries in Market Data message.
6340  /// Entry of Entry repeating group.
6343  <
6345  >
6346  {
6347  /// Aliases base class type.
6348  typedef
6350  <
6352  >
6354 
6355  /// Initializes blank instance.
6357  {
6358  }
6359 
6360  /// Initializes instance of given
6361  /// version over given memory block.
6363  const void* data,
6364  EncodedLength length,
6365  SchemaVersion version)
6366  : Base(data, length, version)
6367  {
6368  if (length < blockLength(version))
6369  throwBadBinaryData(className());
6370  }
6371 
6372  /// Number of underlying legs that make up the security.
6373  /// Entry of UnderlyingsEntry repeating group.
6376  <
6378  >
6379  {
6380  /// Aliases base class type.
6381  typedef
6383  <
6385  >
6387 
6388  /// Initializes blank instance.
6390  {
6391  }
6392 
6393  /// Initializes instance of given
6394  /// version over given memory block.
6396  const void* data,
6397  EncodedLength length,
6398  SchemaVersion version)
6399  : Base(data, length, version)
6400  {
6401  if (length < blockLength(version))
6402  throwBadBinaryData(className());
6403  }
6404 
6405  /// Underlying Security's symbol.
6406  bool underlyingSymbol(StrRef& value) const
6407  {
6408  const BlockLength offset = 0;
6409  const BlockLength length = 50;
6410 
6411  return fixedStr<length>(value, offset);
6412  }
6413 
6414  /// Underlying Security's MaturityMonthYear.
6416  {
6417  typedef NullMaturityMonthYear Null;
6418 
6419  const BlockLength offset = 50;
6420 
6421  return ordinary(value, offset, Null());
6422  }
6423 
6424  /// Underlying Security's SecurityType.
6425  bool underlyingSecurityType(StrRef& value) const
6426  {
6427  const BlockLength offset = 55;
6428  const BlockLength length = 9;
6429 
6430  return fixedStr<length>(value, offset);
6431  }
6432 
6433  /// Underlying Security's SecurityExchange.
6435  {
6436  const BlockLength offset = 64;
6437  const BlockLength length = 4;
6438 
6439  return fixedStr<length>(value, offset);
6440  }
6441 
6442  /// Returns size of entry body in bytes
6443  /// for given version of message template.
6446  {
6447  return 68;
6448  }
6449 
6450  /// Entity class name.
6452  static const Char* className()
6453  {
6454  return "Entries.UnderlyingsEntry";
6455  }
6456  };
6457 
6458  /// Repeating group containing UnderlyingsEntry entries.
6459  typedef
6462 
6463  /// Number of party roles.
6464  /// Entry of PartyIDsEntry repeating group.
6467  <
6469  >
6470  {
6471  /// Aliases base class type.
6472  typedef
6474  <
6476  >
6478 
6479  /// Initializes blank instance.
6481  {
6482  }
6483 
6484  /// Initializes instance of given
6485  /// version over given memory block.
6487  const void* data,
6488  EncodedLength length,
6489  SchemaVersion version)
6490  : Base(data, length, version)
6491  {
6492  if (length < blockLength(version))
6493  throwBadBinaryData(className());
6494  }
6495 
6496  /// Party identifier/code.
6497  bool partyId(StrRef& value) const
6498  {
6499  const BlockLength offset = 0;
6500  const BlockLength length = 50;
6501 
6502  return fixedStr<length>(value, offset);
6503  }
6504 
6505  /// Identifies the type or role of the PartyID specified.
6506  bool partyRole(StrRef& value) const
6507  {
6508  const BlockLength offset = 50;
6509  const BlockLength length = 2;
6510 
6511  return fixedStr<length>(value, offset);
6512  }
6513 
6514  /// Returns size of entry body in bytes
6515  /// for given version of message template.
6518  {
6519  return 52;
6520  }
6521 
6522  /// Entity class name.
6524  static const Char* className()
6525  {
6526  return "Entries.PartyIDsEntry";
6527  }
6528  };
6529 
6530  /// Repeating group containing PartyIDsEntry entries.
6531  typedef
6534 
6535  /// Number of legs (repeating groups).
6536  /// Entry of LegsEntry repeating group.
6539  <
6541  >
6542  {
6543  /// Aliases base class type.
6544  typedef
6546  <
6548  >
6550 
6551  /// Initializes blank instance.
6553  {
6554  }
6555 
6556  /// Initializes instance of given
6557  /// version over given memory block.
6559  const void* data,
6560  EncodedLength length,
6561  SchemaVersion version)
6562  : Base(data, length, version)
6563  {
6564  if (length < blockLength(version))
6565  throwBadBinaryData(className());
6566  }
6567 
6568  /// This tag contains the instrument group of the requested
6569  /// security definition. Must be present when tag 555-NoLegs
6570  /// is present. Also must be first tag in repeating group.
6571  /// Multileg instrument's individual security's Symbol.
6572  bool legSymbol(StrRef& value) const
6573  {
6574  const BlockLength offset = 0;
6575  const BlockLength length = 50;
6576 
6577  return fixedStr<length>(value, offset);
6578  }
6579 
6580  /// Multileg instrument's individual security's SecurityID.
6581  bool legSecurityId(UInt64& value) const
6582  {
6583  typedef NullUInt64 Null;
6584 
6585  const BlockLength offset = 50;
6586 
6587  return ordinary(value, offset, Null());
6588  }
6589 
6590  /// Identifies source of tag 602-LegSecurityID value. This
6591  /// value is always 'H' for CME.
6593  {
6594  return LegSecurityIDSource();
6595  }
6596 
6597  /// Leg equivalent of body tag 1151-SecurityGroup (i.e. leg
6598  /// 'product code').
6599  bool legSecurityGroup(StrRef& value) const
6600  {
6601  const BlockLength offset = 58;
6602  const BlockLength length = 12;
6603 
6604  return fixedStr<length>(value, offset);
6605  }
6606 
6607  /// Used to correlate leg instrument definitions with their
6608  /// executions.Cross referenced in Tag 654.
6609  bool legId(StrRef& value) const
6610  {
6611  const BlockLength offset = 70;
6612  const BlockLength length = 17;
6613 
6614  return fixedStr<length>(value, offset);
6615  }
6616 
6617  /// Identifies the type of leg instrument.
6618  bool legSecurityType(StrRef& value) const
6619  {
6620  const BlockLength offset = 87;
6621  const BlockLength length = 9;
6622 
6623  return fixedStr<length>(value, offset);
6624  }
6625 
6626  /// Multileg instrument's individual security's leg
6627  /// MaturityMonthYear.
6629  {
6630  typedef NullMaturityMonthYear Null;
6631 
6632  const BlockLength offset = 96;
6633 
6634  return ordinary(value, offset, Null());
6635  }
6636 
6637  /// Multileg instrument's individual security's leg
6638  /// MaturityDate.
6639  bool legMaturityDate(Timestamp& value) const
6640  {
6641  typedef NullLocalMktDate Null;
6642  typedef LocalMktDate FieldValue;
6643 
6644  const BlockLength offset = 101;
6645 
6646  FieldValue fieldValue;
6647 
6648  if (ordinary(fieldValue, offset, Null()))
6649  {
6650  value = localMktDateToTimestamp(fieldValue);
6651  return true;
6652  }
6653  return false;
6654  }
6655 
6656  /// Multileg instrument's individual security's StrikePrice.
6657  bool legStrikePrice(Decimal& value) const
6658  {
6659  typedef NullDecimal64 Null;
6660 
6661  const BlockLength offset = 103;
6662 
6663  return decimal(value, offset, Null());
6664  }
6665 
6666  /// Multileg instrument's individual security's leg
6667  /// UnitOfMeasure.
6668  bool legUnitOfMeasure(StrRef& value) const
6669  {
6670  const BlockLength offset = 112;
6671  const BlockLength length = 5;
6672 
6673  return fixedStr<length>(value, offset);
6674  }
6675 
6676  /// Multileg instrument's individual security's leg
6677  /// UnitOfMeasureQty.
6678  bool legUnitOfMeasureQty(Decimal& value) const
6679  {
6680  typedef NullDecimal64 Null;
6681 
6682  const BlockLength offset = 117;
6683 
6684  return decimal(value, offset, Null());
6685  }
6686 
6687  /// Multileg instrument's individual security's leg
6688  /// SecurityExchange.
6689  bool legSecurityExchange(StrRef& value) const
6690  {
6691  const BlockLength offset = 126;
6692  const BlockLength length = 4;
6693 
6694  return fixedStr<length>(value, offset);
6695  }
6696 
6697  /// The ratio of quantity for this individual leg relative to
6698  /// the entire multileg security.
6699  bool legRatioQty(UInt16& value) const
6700  {
6701  typedef NullUInt16 Null;
6702 
6703  const BlockLength offset = 130;
6704 
6705  return ordinary(value, offset, Null());
6706  }
6707 
6708  /// The side of this individual leg (multileg security).
6709  bool legSide(UInt8& value) const
6710  {
6711  typedef NullUInt8 Null;
6712 
6713  const BlockLength offset = 132;
6714 
6715  return ordinary(value, offset, Null());
6716  }
6717 
6718  /// Multileg instrument's individual security's leg option put
6719  /// or call.
6720  bool legPutOrCall(UInt8& value) const
6721  {
6722  typedef NullUInt8 Null;
6723 
6724  const BlockLength offset = 133;
6725 
6726  return ordinary(value, offset, Null());
6727  }
6728 
6729  /// Indicates the currency of the unit of measure.
6730  /// Conditionally required when LegUnitOfMeasure(999) = Ccy.
6732  {
6733  const BlockLength offset = 134;
6734  const BlockLength length = 3;
6735 
6736  return fixedStr<length>(value, offset);
6737  }
6738 
6739  /// Returns size of entry body in bytes
6740  /// for given version of message template.
6743  {
6744  return 137;
6745  }
6746 
6747  /// Entity class name.
6749  static const Char* className()
6750  {
6751  return "Entries.LegsEntry";
6752  }
6753  };
6754 
6755  /// Repeating group containing LegsEntry entries.
6756  typedef
6759 
6760  /// Market Data update Action.
6762  {
6763  const BlockLength offset = 0;
6764 
6765  return enumeration<UpdateAction>(offset);
6766  }
6767 
6768  /// Market Data Entry Type.
6770  {
6771  return EntryTypeTrade();
6772  }
6773 
6774  /// Unique security ID.
6775  bool securityId(UInt64& value) const
6776  {
6777  typedef NullUInt64 Null;
6778 
6779  const BlockLength offset = 1;
6780 
6781  return ordinary(value, offset, Null());
6782  }
6783 
6784  /// MD Entry sequence number per instrument update. Reset
6785  /// weekly.
6786  UInt32 rptSeq() const
6787  {
6788  const BlockLength offset = 9;
6789 
6790  return ordinary<UInt32>(offset);
6791  }
6792 
6793  /// Price of the Market Data Entry.
6794  bool entryPx(Decimal& value) const
6795  {
6796  typedef NullPRICENULL9 Null;
6797 
6798  const BlockLength offset = 13;
6799 
6800  return decimal(value, offset, Null());
6801  }
6802 
6803  /// Traded quantity.
6805  {
6806  const BlockLength offset = 21;
6807 
6808  return decimal<Decimal64>(offset);
6809  }
6810 
6811  /// The total number of real orders per instrument that
6812  /// participated in a match step within a match event.
6813  bool numberOfOrders(Int32& value) const
6814  {
6815  typedef NullInt32 Null;
6816 
6817  const BlockLength offset = 30;
6818 
6819  return ordinary(value, offset, Null());
6820  }
6821 
6822  /// Unique Trade Entry ID per Instrument and Trading Date.
6823  Int32 tradeId() const
6824  {
6825  const BlockLength offset = 34;
6826 
6827  return ordinary<Int32>(offset);
6828  }
6829 
6830  /// Indicates which side is aggressor of the trade. If there
6831  /// is no value present, then there is no aggressor.
6832  bool
6834  AggressorSide::Enum& value) const
6835  {
6836  typedef NullUInt8 Null;
6837 
6838  const BlockLength offset = 38;
6839 
6840  return enumeration<AggressorSide>(value, offset, Null());
6841  }
6842 
6843  /// Instrument/Index/Swap Name.
6844  bool symbol(StrRef& value) const
6845  {
6846  const BlockLength offset = 39;
6847  const BlockLength length = 50;
6848 
6849  return fixedStr<length>(value, offset);
6850  }
6851 
6852  /// Indicates the product code for the instrument.
6853  bool securityGroup(StrRef& value) const
6854  {
6855  const BlockLength offset = 89;
6856  const BlockLength length = 12;
6857 
6858  return fixedStr<length>(value, offset);
6859  }
6860 
6861  /// Identifies the type of instrument.
6862  bool securityType(StrRef& value) const
6863  {
6864  const BlockLength offset = 101;
6865  const BlockLength length = 9;
6866 
6867  return fixedStr<length>(value, offset);
6868  }
6869 
6870  /// SecuritySubType for CDS only.
6871  bool securitySubType(StrRef& value) const
6872  {
6873  const BlockLength offset = 110;
6874  const BlockLength length = 2;
6875 
6876  return fixedStr<length>(value, offset);
6877  }
6878 
6879  /// This field provides the actual calendar date for contract
6880  /// maturity month and year (used for standardized futures and
6881  /// options).
6883  {
6884  typedef NullMaturityMonthYear Null;
6885 
6886  const BlockLength offset = 112;
6887 
6888  return ordinary(value, offset, Null());
6889  }
6890 
6891  /// Market used to help identify an instrument.
6892  bool securityExchange(StrRef& value) const
6893  {
6894  const BlockLength offset = 117;
6895  const BlockLength length = 4;
6896 
6897  return fixedStr<length>(value, offset);
6898  }
6899 
6900  /// Maturity date of instrument.
6901  bool maturityDate(Timestamp& value) const
6902  {
6903  typedef NullLocalMktDate Null;
6904  typedef LocalMktDate FieldValue;
6905 
6906  const BlockLength offset = 121;
6907 
6908  FieldValue fieldValue;
6909 
6910  if (ordinary(fieldValue, offset, Null()))
6911  {
6912  value = localMktDateToTimestamp(fieldValue);
6913  return true;
6914  }
6915  return false;
6916  }
6917 
6918  /// Unit of measure for the products' original contract size.
6919  bool unitOfMeasure(StrRef& value) const
6920  {
6921  const BlockLength offset = 123;
6922  const BlockLength length = 5;
6923 
6924  return fixedStr<length>(value, offset);
6925  }
6926 
6927  /// Indicates the ISO Currency code if it is a currency
6928  /// product.
6929  bool unitOfMeasureCurrency(StrRef& value) const
6930  {
6931  const BlockLength offset = 128;
6932  const BlockLength length = 3;
6933 
6934  return fixedStr<length>(value, offset);
6935  }
6936 
6937  /// This field contains the notional value for each
6938  /// instrument. The notional value is equivalent to the
6939  /// corresponding premium-quoted contract.
6940  bool unitOfMeasureQty(Decimal& value) const
6941  {
6942  typedef NullDecimal64 Null;
6943 
6944  const BlockLength offset = 131;
6945 
6946  return decimal(value, offset, Null());
6947  }
6948 
6949  /// The rate of interest that, when multiplied by the
6950  /// principal, par value, or face value of a bond, provides
6951  /// the currency amount of the periodic interest payment.
6952  bool couponRate(Decimal& value) const
6953  {
6954  typedef NullDecimal32 Null;
6955 
6956  const BlockLength offset = 140;
6957 
6958  return decimal(value, offset, Null());
6959  }
6960 
6961  /// Valid price types for intraday trade.
6962  bool priceType(UInt16& value) const
6963  {
6964  typedef NullUInt16 Null;
6965 
6966  const BlockLength offset = 144;
6967 
6968  return ordinary(value, offset, Null());
6969  }
6970 
6971  /// Valid trade types for intraday trade.
6972  bool trdType(UInt8& value) const
6973  {
6974  typedef NullUInt8 Null;
6975 
6976  const BlockLength offset = 146;
6977 
6978  return ordinary(value, offset, Null());
6979  }
6980 
6981  /// Market data entry identifier to map multiple prices of a
6982  /// single trade.
6983  bool entryId(StrRef& value) const
6984  {
6985  const BlockLength offset = 147;
6986  const BlockLength length = 26;
6987 
6988  return fixedStr<length>(value, offset);
6989  }
6990 
6991  /// Indicates whether an option instrument is a put or call.
6992  bool putOrCall(UInt8& value) const
6993  {
6994  typedef NullUInt8 Null;
6995 
6996  const BlockLength offset = 173;
6997 
6998  return ordinary(value, offset, Null());
6999  }
7000 
7001  /// Strike Price for an option instrument.
7002  bool strikePrice(Decimal& value) const
7003  {
7004  typedef NullDecimal64 Null;
7005 
7006  const BlockLength offset = 174;
7007 
7008  return decimal(value, offset, Null());
7009  }
7010 
7011  /// A category of CDS credit event in which the underlying
7012  /// bond experiences a restructuring.
7013  bool restructuringType(StrRef& value) const
7014  {
7015  const BlockLength offset = 183;
7016  const BlockLength length = 2;
7017 
7018  return fixedStr<length>(value, offset);
7019  }
7020 
7021  /// Specifies which issue (underlying bond) will receive
7022  /// payment priority in the event of a default.
7023  bool seniority(StrRef& value) const
7024  {
7025  const BlockLength offset = 185;
7026  const BlockLength length = 2;
7027 
7028  return fixedStr<length>(value, offset);
7029  }
7030 
7031  /// For future use.
7032  bool referenceId(StrRef& value) const
7033  {
7034  const BlockLength offset = 187;
7035  const BlockLength length = 100;
7036 
7037  return fixedStr<length>(value, offset);
7038  }
7039 
7040  /// Identifies the multileg strategy (e.g. spread) to which
7041  /// the trade belongs. This links together trade legs executed
7042  /// as part of a strategy during a single match event.
7043  bool strategyLinkId(StrRef& value) const
7044  {
7045  const BlockLength offset = 287;
7046  const BlockLength length = 26;
7047 
7048  return fixedStr<length>(value, offset);
7049  }
7050 
7051  /// Used to correlate leg instrument definitions with their
7052  /// executions. Cross referenced to Tag 1788.
7053  bool legRefId(StrRef& value) const
7054  {
7055  const BlockLength offset = 313;
7056  const BlockLength length = 17;
7057 
7058  return fixedStr<length>(value, offset);
7059  }
7060 
7061  /// Returns instance of Underlyings repeating group.
7063  {
7064  return
7065  groups().
7066  head<Underlyings>();
7067  }
7068 
7069  /// Returns instance of PartyIDs repeating group.
7071  {
7072  return
7073  groups().
7074  tail<Underlyings>().
7075  head<PartyIDs>();
7076  }
7077 
7078  /// Returns instance of Legs repeating group.
7079  Legs legs() const
7080  {
7081  return
7082  groups().
7083  tail<Underlyings>().
7084  tail<PartyIDs>().
7085  head<Legs>();
7086  }
7087 
7088  /// Returns size of entry body in bytes
7089  /// for given version of message template.
7092  {
7093  return 330;
7094  }
7095 
7096  /// Returns reference to the next item.
7098  {
7099  const void* body = legs().end().get().body();
7100  return Entry(
7101  body,
7102  blockLength(version()),
7103  version());
7104  }
7105 
7106  /// Entity class name.
7108  static const Char* className()
7109  {
7110  return "IncrementalRefreshTradeBlocks365.Entry";
7111  }
7112  };
7113 
7114  /// Repeating group containing Entry entries.
7115  typedef
7118 
7119  /// Initializes blank instance.
7121  {
7122  }
7123 
7124  /// Initializes instance over given memory block.
7126  const void* data,
7127  EncodedLength length)
7128  : BinaryMessage(data, length)
7129  {
7130  assert(TemplateId == templateId());
7131 
7132  if (length < blockLength(version()))
7133  throwBadBinaryData(className());
7134  }
7135 
7136  /// Start of event processing time in number of nanoseconds
7137  /// since Unix epoch. Not present for EFP (828=2) and EFR
7138  /// (828=11) transactions.
7139  bool transactTime(Timestamp& value) const
7140  {
7141  typedef NullUInt64 Null;
7142 
7143  const BlockLength offset = 0;
7144 
7145  return ordinary(value, offset, Null());
7146  }
7147 
7148  /// Bitmap field of eight Boolean type indicators reflecting
7149  /// the end of updates for a given event.
7151  {
7152  const BlockLength offset = 8;
7153 
7154  return ordinary<MatchEventIndicator>(offset);
7155  }
7156 
7157  /// Total number of messages contained within batch which is
7158  /// defined by match event indicator (5799).
7160  {
7161  const BlockLength offset = 9;
7162 
7163  return ordinary<UInt16>(offset);
7164  }
7165 
7166  /// Indicates date of trade referenced in this message in
7167  /// YYYYMMDD format (expressed in local time at place of
7168  /// trade). Returned only in trade and trade cancel execution
7169  /// reports.
7170  bool tradeDate(Timestamp& value) const
7171  {
7172  typedef NullLocalMktDate Null;
7173  typedef LocalMktDate FieldValue;
7174 
7175  const BlockLength offset = 11;
7176 
7177  FieldValue fieldValue;
7178 
7179  if (ordinary(fieldValue, offset, Null()))
7180  {
7181  value = localMktDateToTimestamp(fieldValue);
7182  return true;
7183  }
7184  return false;
7185  }
7186 
7187  /// Returns instance of Entries repeating group.
7189  {
7190  return
7191  groups().
7192  head<Entries>();
7193  }
7194 
7195  /// Size of message body in bytes.
7198  {
7199  return 13;
7200  }
7201 
7202  /// Returns class name.
7204  static const Char* className()
7205  {
7206  return "IncrementalRefreshTradeBlocks365";
7207  }
7208 
7209  /// FIX message type.
7211  static StrRef fixType()
7212  {
7213  return toStrRef("X");
7214  }
7215 };
7216 
7217 /// MDIncrementalRefreshOTC.
7220 : BinaryMessage
7221 {
7222  /// Message template ID from SBE schema.
7223  enum { TemplateId = 366 };
7224 
7225  /// Number of entries in Market Data message.
7226  /// Entry of Entry repeating group.
7229  <
7231  >
7232  {
7233  /// Aliases base class type.
7234  typedef
7236  <
7238  >
7240 
7241  /// Initializes blank instance.
7243  {
7244  }
7245 
7246  /// Initializes instance of given
7247  /// version over given memory block.
7249  const void* data,
7250  EncodedLength length,
7251  SchemaVersion version)
7252  : Base(data, length, version)
7253  {
7254  if (length < blockLength(version))
7255  throwBadBinaryData(className());
7256  }
7257 
7258  /// Number of underlying legs that make up the security.
7259  /// Entry of UnderlyingsEntry repeating group.
7262  <
7264  >
7265  {
7266  /// Aliases base class type.
7267  typedef
7269  <
7271  >
7273 
7274  /// Initializes blank instance.
7276  {
7277  }
7278 
7279  /// Initializes instance of given
7280  /// version over given memory block.
7282  const void* data,
7283  EncodedLength length,
7284  SchemaVersion version)
7285  : Base(data, length, version)
7286  {
7287  if (length < blockLength(version))
7288  throwBadBinaryData(className());
7289  }
7290 
7291  /// Underlying Security's symbol.
7292  bool underlyingSymbol(StrRef& value) const
7293  {
7294  const BlockLength offset = 0;
7295  const BlockLength length = 50;
7296 
7297  return fixedStr<length>(value, offset);
7298  }
7299 
7300  /// Underlying Security's MaturityMonthYear.
7302  {
7303  typedef NullMaturityMonthYear Null;
7304 
7305  const BlockLength offset = 50;
7306 
7307  return ordinary(value, offset, Null());
7308  }
7309 
7310  /// Underlying Security's SecurityType.
7311  bool underlyingSecurityType(StrRef& value) const
7312  {
7313  const BlockLength offset = 55;
7314  const BlockLength length = 9;
7315 
7316  return fixedStr<length>(value, offset);
7317  }
7318 
7319  /// Underlying Security's SecurityExchange and it can be used
7320  /// to identify the underlying security.
7322  {
7323  const BlockLength offset = 64;
7324  const BlockLength length = 4;
7325 
7326  return fixedStr<length>(offset);
7327  }
7328 
7329  /// Returns size of entry body in bytes
7330  /// for given version of message template.
7333  {
7334  return 68;
7335  }
7336 
7337  /// Entity class name.
7339  static const Char* className()
7340  {
7341  return "Entries.UnderlyingsEntry";
7342  }
7343  };
7344 
7345  /// Repeating group containing UnderlyingsEntry entries.
7346  typedef
7349 
7350  /// Number of entries in AltID group.
7351  /// Entry of SecurityAltIDEntry repeating group.
7354  <
7356  >
7357  {
7358  /// Aliases base class type.
7359  typedef
7361  <
7363  >
7365 
7366  /// Initializes blank instance.
7368  {
7369  }
7370 
7371  /// Initializes instance of given
7372  /// version over given memory block.
7374  const void* data,
7375  EncodedLength length,
7376  SchemaVersion version)
7377  : Base(data, length, version)
7378  {
7379  if (length < blockLength(version))
7380  throwBadBinaryData(className());
7381  }
7382 
7383  /// Expanded instrument description.
7384  bool securityAltId(StrRef& value) const
7385  {
7386  const BlockLength offset = 0;
7387  const BlockLength length = 50;
7388 
7389  return fixedStr<length>(value, offset);
7390  }
7391 
7392  /// Identifies class or source of the SecurityAltID (455)
7393  /// value.
7395  {
7396  const BlockLength offset = 50;
7397  const BlockLength length = 1;
7398 
7399  return fixedStr<length>(offset);
7400  }
7401 
7402  /// Returns size of entry body in bytes
7403  /// for given version of message template.
7406  {
7407  return 51;
7408  }
7409 
7410  /// Entity class name.
7412  static const Char* className()
7413  {
7414  return "Entries.SecurityAltIDEntry";
7415  }
7416  };
7417 
7418  /// Repeating group containing SecurityAltIDEntry entries.
7419  typedef
7422 
7423  /// Indicates the type of Market Data update action.
7425  {
7426  return UpdateActionNew();
7427  }
7428 
7429  /// Indicates the type of Market Data entry.
7430  CHAR entryType() const
7431  {
7432  const BlockLength offset = 0;
7433 
7434  return ordinary<CHAR>(offset);
7435  }
7436 
7437  /// MD Entry sequence number per instrument update. Reset
7438  /// weekly.
7439  UInt32 rptSeq() const
7440  {
7441  const BlockLength offset = 1;
7442 
7443  return ordinary<UInt32>(offset);
7444  }
7445 
7446  /// Price of the Market Data Entry.
7447  bool entryPx(Decimal& value) const
7448  {
7449  typedef NullPRICENULL9 Null;
7450 
7451  const BlockLength offset = 5;
7452 
7453  return decimal(value, offset, Null());
7454  }
7455 
7456  /// Quantity or volume represented by the Market Data Entry.
7458  {
7459  const BlockLength offset = 13;
7460 
7461  return decimal<Decimal64>(offset);
7462  }
7463 
7464  /// Instrument/Index/Swap Name.
7465  bool symbol(StrRef& value) const
7466  {
7467  const BlockLength offset = 22;
7468  const BlockLength length = 50;
7469 
7470  return fixedStr<length>(value, offset);
7471  }
7472 
7473  /// Indicates the product code for the instrument.
7474  bool securityGroup(StrRef& value) const
7475  {
7476  const BlockLength offset = 72;
7477  const BlockLength length = 12;
7478 
7479  return fixedStr<length>(value, offset);
7480  }
7481 
7482  /// Indicates the type of instrument.
7483  bool securityType(StrRef& value) const
7484  {
7485  const BlockLength offset = 84;
7486  const BlockLength length = 9;
7487 
7488  return fixedStr<length>(value, offset);
7489  }
7490 
7491  /// This field provides the actual calendar date for contract
7492  /// maturity month and year (used for standardized futures and
7493  /// options).
7495  {
7496  typedef NullMaturityMonthYear Null;
7497 
7498  const BlockLength offset = 93;
7499 
7500  return ordinary(value, offset, Null());
7501  }
7502 
7503  /// Market used to help identify an instrument.
7505  {
7506  const BlockLength offset = 98;
7507  const BlockLength length = 4;
7508 
7509  return fixedStr<length>(offset);
7510  }
7511 
7512  /// Indicates the type of product the instrument is associated
7513  /// with in the message.
7514  bool product(UInt8& value) const
7515  {
7516  typedef NullUInt8 Null;
7517 
7518  const BlockLength offset = 102;
7519 
7520  return ordinary(value, offset, Null());
7521  }
7522 
7523  /// Maturity date of instrument.
7524  bool maturityDate(Timestamp& value) const
7525  {
7526  typedef NullLocalMktDate Null;
7527  typedef LocalMktDate FieldValue;
7528 
7529  const BlockLength offset = 103;
7530 
7531  FieldValue fieldValue;
7532 
7533  if (ordinary(fieldValue, offset, Null()))
7534  {
7535  value = localMktDateToTimestamp(fieldValue);
7536  return true;
7537  }
7538  return false;
7539  }
7540 
7541  /// The rate of interest that, when multiplied by the
7542  /// principal, par value, or face value of a bond, provides
7543  /// the currency amount of the periodic interest payment.
7544  bool couponRate(Decimal& value) const
7545  {
7546  typedef NullDecimal32 Null;
7547 
7548  const BlockLength offset = 105;
7549 
7550  return decimal(value, offset, Null());
7551  }
7552 
7553  /// A category of CDS credit event in which the underlying
7554  /// bond experiences a restructuring.
7555  bool restructuringType(StrRef& value) const
7556  {
7557  const BlockLength offset = 109;
7558  const BlockLength length = 2;
7559 
7560  return fixedStr<length>(value, offset);
7561  }
7562 
7563  /// Specifies which issue (underlying bond) will receive
7564  /// payment priority in the event of a default.
7565  bool seniority(StrRef& value) const
7566  {
7567  const BlockLength offset = 111;
7568  const BlockLength length = 2;
7569 
7570  return fixedStr<length>(value, offset);
7571  }
7572 
7573  /// Indicates the notional percentage of the deal that is
7574  /// still outstanding based on the remaining components of the
7575  /// index.
7577  {
7578  typedef NullDecimal32 Null;
7579 
7580  const BlockLength offset = 113;
7581 
7582  return decimal(value, offset, Null());
7583  }
7584 
7585  /// Indicates whether an option instrument is a put or call.
7586  bool putOrCall(UInt8& value) const
7587  {
7588  typedef NullUInt8 Null;
7589 
7590  const BlockLength offset = 117;
7591 
7592  return ordinary(value, offset, Null());
7593  }
7594 
7595  /// Strike Price for an option instrument.
7596  bool strikePrice(Decimal& value) const
7597  {
7598  typedef NullDecimal64 Null;
7599 
7600  const BlockLength offset = 118;
7601 
7602  return decimal(value, offset, Null());
7603  }
7604 
7605  /// Unit of measure for the products' original contract size.
7606  bool unitOfMeasure(StrRef& value) const
7607  {
7608  const BlockLength offset = 127;
7609  const BlockLength length = 5;
7610 
7611  return fixedStr<length>(value, offset);
7612  }
7613 
7614  /// Indicates the ISO Currency code if it is a currency
7615  /// product.
7617  {
7618  const BlockLength offset = 132;
7619  const BlockLength length = 3;
7620 
7621  return fixedStr<length>(offset);
7622  }
7623 
7624  /// This field contains the notional value for each
7625  /// instrument. The notional value is equivalent to the
7626  /// corresponding premium-quoted contract.
7627  bool unitOfMeasureQty(Decimal& value) const
7628  {
7629  typedef NullDecimal64 Null;
7630 
7631  const BlockLength offset = 135;
7632 
7633  return decimal(value, offset, Null());
7634  }
7635 
7636  /// Date of the Market Data Entry Format: YYYYMMDD (i.e.
7637  /// 20071215).
7638  bool entryDate(Int32& value) const
7639  {
7640  typedef NullInt32 Null;
7641 
7642  const BlockLength offset = 144;
7643 
7644  return ordinary(value, offset, Null());
7645  }
7646 
7647  /// Flag that identifies a market data entry.
7648  bool openCloseSettlFlag(UInt8& value) const
7649  {
7650  typedef NullUInt8 Null;
7651 
7652  const BlockLength offset = 148;
7653 
7654  return ordinary(value, offset, Null());
7655  }
7656 
7657  /// Valid price types for intraday trade.
7658  bool priceType(UInt16& value) const
7659  {
7660  typedef NullUInt16 Null;
7661 
7662  const BlockLength offset = 149;
7663 
7664  return ordinary(value, offset, Null());
7665  }
7666 
7667  /// Indicates date of settlement.
7668  bool settlDate(Timestamp& value) const
7669  {
7670  typedef NullLocalMktDate Null;
7671  typedef LocalMktDate FieldValue;
7672 
7673  const BlockLength offset = 151;
7674 
7675  FieldValue fieldValue;
7676 
7677  if (ordinary(fieldValue, offset, Null()))
7678  {
7679  value = localMktDateToTimestamp(fieldValue);
7680  return true;
7681  }
7682  return false;
7683  }
7684 
7685  /// Condition describing a quote.
7687  {
7688  const BlockLength offset = 153;
7689 
7690  return ordinary<CHAR>(offset);
7691  }
7692 
7693  /// Identifies the market in which a product trades. For e.g.
7694  /// CDS, Dairy.
7695  bool marketSector(StrRef& value) const
7696  {
7697  const BlockLength offset = 154;
7698  const BlockLength length = 26;
7699 
7700  return fixedStr<length>(value, offset);
7701  }
7702 
7703  /// Group of related products. For e.g. High Yield, Cheese.
7704  bool sectorGroup(StrRef& value) const
7705  {
7706  const BlockLength offset = 180;
7707  const BlockLength length = 2;
7708 
7709  return fixedStr<length>(value, offset);
7710  }
7711 
7712  /// A further qualification of Sector Group For e.g. North
7713  /// American.
7714  bool sectorSubGroup(StrRef& value) const
7715  {
7716  const BlockLength offset = 182;
7717  const BlockLength length = 26;
7718 
7719  return fixedStr<length>(value, offset);
7720  }
7721 
7722  /// Identifies an entire suite of products for a given market.
7723  bool productComplex(StrRef& value) const
7724  {
7725  const BlockLength offset = 208;
7726  const BlockLength length = 26;
7727 
7728  return fixedStr<length>(value, offset);
7729  }
7730 
7731  /// SecuritySubType for CDS only.
7732  bool securitySubType(StrRef& value) const
7733  {
7734  const BlockLength offset = 234;
7735  const BlockLength length = 2;
7736 
7737  return fixedStr<length>(value, offset);
7738  }
7739 
7740  /// Volume types for end of day volume.
7741  bool volType(UInt16& value) const
7742  {
7743  typedef NullUInt16 Null;
7744 
7745  const BlockLength offset = 236;
7746 
7747  return ordinary(value, offset, Null());
7748  }
7749 
7750  /// For future use.
7751  bool referenceId(StrRef& value) const
7752  {
7753  const BlockLength offset = 238;
7754  const BlockLength length = 100;
7755 
7756  return fixedStr<length>(value, offset);
7757  }
7758 
7759  /// Returns instance of Underlyings repeating group.
7761  {
7762  return
7763  groups().
7764  head<Underlyings>();
7765  }
7766 
7767  /// Returns instance of SecurityAltID repeating group.
7769  {
7770  return
7771  groups().
7772  tail<Underlyings>().
7773  head<SecurityAltID>();
7774  }
7775 
7776  /// Returns size of entry body in bytes
7777  /// for given version of message template.
7780  {
7781  return 338;
7782  }
7783 
7784  /// Returns reference to the next item.
7786  {
7787  const void* body = securityAltId().end().get().body();
7788  return Entry(
7789  body,
7790  blockLength(version()),
7791  version());
7792  }
7793 
7794  /// Entity class name.
7796  static const Char* className()
7797  {
7798  return "IncrementalRefreshOTC366.Entry";
7799  }
7800  };
7801 
7802  /// Repeating group containing Entry entries.
7803  typedef
7806 
7807  /// Initializes blank instance.
7809  {
7810  }
7811 
7812  /// Initializes instance over given memory block.
7814  const void* data,
7815  EncodedLength length)
7816  : BinaryMessage(data, length)
7817  {
7818  assert(TemplateId == templateId());
7819 
7820  if (length < blockLength(version()))
7821  throwBadBinaryData(className());
7822  }
7823 
7824  /// Start of event processing time in number of nanoseconds
7825  /// since Unix epoch.
7827  {
7828  const BlockLength offset = 0;
7829 
7830  return ordinary<Timestamp>(offset);
7831  }
7832 
7833  /// Indicates date of trade referenced in this message in
7834  /// YYYYMMDD format (expressed in local time at place of
7835  /// trade). Returned only in trade and trade cancel execution
7836  /// reports.
7837  bool tradeDate(Timestamp& value) const
7838  {
7839  typedef NullLocalMktDate Null;
7840  typedef LocalMktDate FieldValue;
7841 
7842  const BlockLength offset = 8;
7843 
7844  FieldValue fieldValue;
7845 
7846  if (ordinary(fieldValue, offset, Null()))
7847  {
7848  value = localMktDateToTimestamp(fieldValue);
7849  return true;
7850  }
7851  return false;
7852  }
7853 
7854  /// Bitmap field of eight Boolean type indicators reflecting
7855  /// the end of updates for a given event.
7857  {
7858  const BlockLength offset = 10;
7859 
7860  return ordinary<MatchEventIndicator>(offset);
7861  }
7862 
7863  /// Total number of messages contained within batch which is
7864  /// defined by match event indicator (5799).
7865  bool batchTotalMessages(UInt16& value) const
7866  {
7867  typedef NullUInt16 Null;
7868 
7869  const BlockLength offset = 11;
7870 
7871  return ordinary(value, offset, Null());
7872  }
7873 
7874  /// Returns instance of Entries repeating group.
7876  {
7877  return
7878  groups().
7879  head<Entries>();
7880  }
7881 
7882  /// Size of message body in bytes.
7885  {
7886  return 13;
7887  }
7888 
7889  /// Returns class name.
7891  static const Char* className()
7892  {
7893  return "IncrementalRefreshOTC366";
7894  }
7895 
7896  /// FIX message type.
7898  static StrRef fixType()
7899  {
7900  return toStrRef("X");
7901  }
7902 };
7903 
7904 
PartyIDs partyIds() const
Returns instance of PartyIDs repeating group.
Definition: Messages.h:3812
LegSecurityIDSource legSecurityIdSource() const
Identifies source of tag 602-LegSecurityID value.
Definition: Messages.h:3334
bool couponRate(Decimal &value) const
The rate of interest that, when multiplied by the principal, par value, or face value of a bond...
Definition: Messages.h:6952
LegSecurityIDSource legSecurityIdSource() const
Identifies source of tag 602-LegSecurityID value.
Definition: Messages.h:1588
bool legSymbol(StrRef &value) const
This tag contains the instrument group of the requested security definition.
Definition: Messages.h:6572
UpdateActionNew updateAction() const
Indicates Market data Update Action which is always New.
Definition: Messages.h:2828
bool legId(StrRef &value) const
Used to correlate leg instrument definitions with their executions.Cross referenced in Tag 654...
Definition: Messages.h:1605
bool unitOfMeasureCurrency(StrRef &value) const
Indicates the ISO Currency code if it is a currency product.
Definition: Messages.h:3671
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:6149
bool previousErisPAI(Decimal &value) const
The Eris PAI on the Previous Settlement Date.
Definition: Messages.h:823
BinaryGroup< EventsEntry, GroupSizeEncoding, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:2662
Int8 product() const
Indicates the type of product the instrument is associated with in the message.
Definition: Messages.h:2692
StrRef toStrRef(const std::string &str)
Constructs StrRef instance over std::string content.
Definition: String.h:166
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:2162
UpdateAction::Enum updateAction() const
Market Data update Action.
Definition: Messages.h:3503
bool legId(StrRef &value) const
Used to correlate leg instrument definitions with their executions.Cross referenced in Tag 654...
Definition: Messages.h:3351
bool tradeDate(Timestamp &value) const
Indicates date of trade referenced in this message in YYYYMMDD format (expressed in local time at pla...
Definition: Messages.h:3912
bool securityType(StrRef &value) const
Identifies the type of instrument.
Definition: Messages.h:4740
InstrumentDefinitionIndices347()
Initializes blank instance.
Definition: Messages.h:2665
bool partyRole(StrRef &value) const
Identifies the type or role of the PartyID specified.
Definition: Messages.h:1502
bool feedType(StrRef &value) const
Describes a class of service for a given data feed.
Definition: Messages.h:3015
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:4087
bool underlyingMaturityMonthYear(MaturityMonthYear &value) const
Underlying Security&#39;s MaturityMonthYear.
Definition: Messages.h:5013
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:3104
static const Char * className()
Returns class name.
Definition: Messages.h:3060
bool legSecurityType(StrRef &value) const
Identifies the type of leg instrument.
Definition: Messages.h:6618
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:4787
bool legSide(UInt8 &value) const
The side of this individual leg (multileg security).
Definition: Messages.h:6709
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:2356
bool securityId(UInt64 &value) const
Unique security ID.
Definition: Messages.h:6775
static const Char * className()
Returns class name.
Definition: Messages.h:3946
Represents time point without time-zone information.
Definition: Time.h:447
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:4831
Encapsulates services for manipulating SBE-encoded messages.
Decimal percentTrading() const
Percent trading of the underlying index constituents.
Definition: Messages.h:2921
static const Char * className()
Returns class name.
Definition: Messages.h:120
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:3595
bool priceType(UInt16 &value) const
Valid price types for intraday trade.
Definition: Messages.h:6962
BinaryGroup< LegsEntry, GroupSize, MessageSize > Legs
Repeating group containing LegsEntry entries.
Definition: Messages.h:3500
static const Char * className()
Returns class name.
Definition: Messages.h:5599
bool openCloseSettlFlag(Int8 &value) const
Indicates whether the price is preliminary or previous day.
Definition: Messages.h:2877
Int8 heartBtInt() const
Heartbeat interval (seconds).
Definition: Messages.h:104
static const Char * className()
Entity class name.
Definition: Messages.h:2977
RelatedInstruments relatedInstruments() const
Returns instance of RelatedInstruments repeating group.
Definition: Messages.h:971
IncrementalRefreshTradeBlocks365(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:7125
Decimal unitOfMeasureQty() const
This field contains the notional value for each instrument.
Definition: Messages.h:5337
static StrRef fixType()
FIX message type.
Definition: Messages.h:4923
PartyIDs partyIds() const
Returns instance of PartyIDs repeating group.
Definition: Messages.h:2068
bool feedType(StrRef &value) const
Describes a class of service for a given data feed.
Definition: Messages.h:1280
bool couponRate(Decimal &value) const
Coupon Rate of the swap.
Definition: Messages.h:2316
bool restructuringType(StrRef &value) const
A category of CDS credit event in which the underlying bond experiences a restructuring.
Definition: Messages.h:7555
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:3990
bool numberOfOrders(Int32 &value) const
The total number of real orders per instrument that participated in a match step within a match event...
Definition: Messages.h:1811
bool userDefinedInstrument(ErisUDI &value) const
Identifies user-defined instruments.
Definition: Messages.h:6251
BinaryGroupWithNested< LegsEntry, GroupSize, MessageSize > Legs
Repeating group containing LegsEntry entries.
Definition: Messages.h:6120
LinesOfTextEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1194
UInt64 UInt64
uInt64.
Definition: Fields.h:187
bool restructuringType(StrRef &value) const
A category of CDS credit event in which the underlying bond experiences a restructuring.
Definition: Messages.h:5267
Specifies the number of repeating symbols specified.
Definition: Messages.h:2201
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:3291
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:5177
bool maturityMonthYear(MaturityMonthYear &value) const
This field provides the actual calendar date for contract maturity month and year (used for standardi...
Definition: Messages.h:6882
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:7465
SecurityAltIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:5085
bool eventTime(UInt64 &value) const
Time of event. This is number of days since unix epoch.
Definition: Messages.h:4595
bool product(UInt8 &value) const
Indicates the type of product the instrument is associated with in the message.
Definition: Messages.h:4759
static const Char * className()
Entity class name.
Definition: Messages.h:4842
bool nextFloatingPaymentDate(Timestamp &value) const
The date the next floating payment will be made.
Definition: Messages.h:894
bool legDateOffset(Int8 &value) const
Float reset date offset, specified when LegType = FLOAT.
Definition: Messages.h:6065
LinesOfText linesOfText() const
Returns instance of LinesOfText repeating group.
Definition: Messages.h:1297
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1545
Encapsulates operations over SBE-encoded repeating group.
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:4643
Number of underlying legs that make up the security.
Definition: Messages.h:4972
bool partyRole(StrRef &value) const
Identifies the type or role of the PartyID specified.
Definition: Messages.h:3248
BinaryGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:5766
EventsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:5717
bool transactTime(Timestamp &value) const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:3881
bool securityAltId(StrRef &value) const
Expanded instrument description.
Definition: Messages.h:5096
Legs legs() const
Returns instance of Legs repeating group.
Definition: Messages.h:7079
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:4242
bool product(UInt8 &value) const
Indicates the type of product the instrument is associated with in the message.
Definition: Messages.h:7514
bool product(UInt8 &value) const
Indicates the type of product the instrument is associated with in the message.
Definition: Messages.h:5226
StrRef unitOfMeasureCurrency() const
Indicates the ISO Currency code if it is a currency product.
Definition: Messages.h:5326
AdminLogin315(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:92
LegsEntry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:6100
bool numberOfOrders(Int32 &value) const
The total number of real orders per instrument that participated in a match step within a match event...
Definition: Messages.h:6813
StrRef unitOfMeasureCurrency() const
Indicates the ISO Currency code if it is a currency product.
Definition: Messages.h:7616
bool underlyingSecurityType(StrRef &value) const
Underlying Security&#39;s SecurityType.
Definition: Messages.h:7311
bool securityExchange(StrRef &value) const
Market used to help identify an instrument.
Definition: Messages.h:1890
bool accruedCoupons(Decimal &value) const
This value represents accumulated fixed and floating amounts.
Definition: Messages.h:694
IncrementalRefreshTradeBlocks365()
Initializes blank instance.
Definition: Messages.h:7120
bool orderQty(UInt64 &value) const
Quantity Requested.
Definition: Messages.h:2326
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:2246
bool legUnitOfMeasure(StrRef &value) const
Multileg instrument&#39;s individual security&#39;s leg UnitOfMeasure.
Definition: Messages.h:3410
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1349
MDIncrementalRefreshErisReferenceDataAndDailyStatistics.
Definition: Messages.h:191
bool legUnitOfMeasure(StrRef &value) const
Multileg instrument&#39;s individual security&#39;s leg UnitOfMeasure.
Definition: Messages.h:1664
bool trdType(UInt8 &value) const
Valid trade types for intraday trade.
Definition: Messages.h:3714
Decimal interpolationFactor() const
Multiplier that when applied on longer rate results in previous fixing rate.
Definition: Messages.h:6076
SecurityUpdateAction::Enum securityUpdateAction() const
Included in the message on the Incremental feed when a mid-week deletion or modification (i...
Definition: Messages.h:6223
BinaryGroup< SecurityAltIDEntry, GroupSize, MessageSize > SecurityAltID
Repeating group containing SecurityAltIDEntry entries.
Definition: Messages.h:4071
bool origTime(Timestamp &value) const
Time of message origination expressed as number of nanoseconds since unix epoch.
Definition: Messages.h:1270
Specifies the number of repeating symbols specified.
Definition: Messages.h:1106
bool calFutPx(Decimal &value) const
Calculated Futures Price using Swap NPV, Historical fixed and floating amounts and synthetic interest...
Definition: Messages.h:517
BinaryGroup< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:2986
AdminHeartbeat312(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:45
static const Char * className()
Entity class name.
Definition: Messages.h:7796
bool rateDescriptor(StrRef &value) const
Rate Descriptor.
Definition: Messages.h:5959
StrRef securityExchange() const
Market used to help identify a security.
Definition: Messages.h:6177
static const Char * className()
Entity class name.
Definition: Messages.h:5504
bool restructuringType(StrRef &value) const
A category of CDS credit event in which the underlying bond experiences a restructuring.
Definition: Messages.h:7013
LegsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1554
NewsIndices339()
Initializes blank instance.
Definition: Messages.h:1243
LegsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:3300
bool headline(StrRef &value) const
The headline of a News message.
Definition: Messages.h:1260
IncrementalRefreshErisReferenceDataAndDailyStatistics333(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:1026
CHAR updateAction() const
Indicates the type of Market Data update action.
Definition: Messages.h:4146
Decimal entryPx() const
Price of the Market Data Entry.
Definition: Messages.h:4171
bool strategyLinkId(StrRef &value) const
Identifies the multileg strategy (e.g.
Definition: Messages.h:7043
Timestamp localMktDateToTimestamp(LocalMktDate days)
Converts days since epoch to Timestamp value.
Definition: Fields.h:521
PartyIDs partyIds() const
Returns instance of PartyIDs repeating group.
Definition: Messages.h:7070
Encapsulates operations over SBE-encoded repeating group.
bool unitOfMeasureCurrency(StrRef &value) const
Indicates the ISO Currency code if it is a currency product.
Definition: Messages.h:6929
bool unitOfMeasureCurrency(StrRef &value) const
Indicates the ISO Currency code if it is a currency product.
Definition: Messages.h:1927
FeedTypesEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:5643
CHAR quoteCondition() const
Condition describing a quote.
Definition: Messages.h:5394
bool feedType(StrRef &value) const
Describes a class of service for a given data feed.
Definition: Messages.h:2728
CHAR quoteCondition() const
Condition describing a quote.
Definition: Messages.h:7686
bool previousFixingDate(Timestamp &value) const
Issue date for one leg of a multi-issue trade.
Definition: Messages.h:5969
bool couponRate(Decimal &value) const
Coupon Rate of the Swap.
Definition: Messages.h:6240
StrRef securityExchange() const
Market used to help identify an instrument.
Definition: Messages.h:584
Number of underlying legs that make up the security.
Definition: Messages.h:7260
LegSecurityAltID legSecurityAltId() const
Returns instance of LegSecurityAltID repeating group.
Definition: Messages.h:6084
IncrementalRefreshEris353()
Initializes blank instance.
Definition: Messages.h:4854
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:3833
bool openCloseSettlFlag(UInt8 &value) const
Flag that identifies a market data entry.
Definition: Messages.h:7648
UInt8 eventType() const
Code to represent the type of event.
Definition: Messages.h:4587
BinaryGroup< SecurityAltIDEntry, GroupSize, MessageSize > SecurityAltID
Repeating group containing SecurityAltIDEntry entries.
Definition: Messages.h:5839
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:3128
bool legSymbol(StrRef &value) const
This tag contains the instrument group of the requested security definition.
Definition: Messages.h:1568
bool openCloseSettlFlag(UInt8 &value) const
Flag that identifies a market data entry.
Definition: Messages.h:5356
LegsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:5864
SecurityAltIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:5791
bool legSymbol(StrRef &value) const
This tag contains the instrument group of the requested security definition.
Definition: Messages.h:3314
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:3259
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1473
bool settlementNPV(Decimal &value) const
Final Settlement Price in NPV terms.
Definition: Messages.h:933
bool symbol(StrRef &value) const
Instrument Name or Symbol.
Definition: Messages.h:2682
BinaryGroup< PartyIDsEntry, GroupSize, MessageSize > PartyIDs
Repeating group containing PartyIDsEntry entries.
Definition: Messages.h:3275
bool securityAltIdSource(CharNULL &value) const
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:275
bool marketSector(StrRef &value) const
Identifies the market in which a product trades.
Definition: Messages.h:7695
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:5151
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:992
bool marketSector(StrRef &value) const
Identifies the market in which a product trades.
Definition: Messages.h:5403
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:7439
bool tradeDate(Timestamp &value) const
Indicates date of trade referenced in this message in YYYYMMDD format (expressed in local time at pla...
Definition: Messages.h:5545
IncrementalRefreshEris351(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:4369
Number of entries in Market Data message.
Definition: Messages.h:3969
bool entryCode(EntryCode::Enum &value) const
List of conditions describing a index value.
Definition: Messages.h:2929
InstAttribEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2545
bool quoteType(UInt8 &value) const
Identifies the type of quote. 0=Indicative, 1=Tradeable.
Definition: Messages.h:4796
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:6853
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:5634
Legs legs() const
Returns instance of Legs repeating group.
Definition: Messages.h:6299
BinaryGroup< LegSecurityAltIDEntry, GroupSize, MessageSize > LegSecurityAltID
Repeating group containing LegSecurityAltIDEntry entries.
Definition: Messages.h:5947
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:1851
bool legStrikePrice(Decimal &value) const
Multileg instrument&#39;s individual security&#39;s StrikePrice.
Definition: Messages.h:6657
bool securityAltId(StrRef &value) const
Expanded instrument description.
Definition: Messages.h:4514
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:3859
Decimal yield() const
Yield of the index&#39;s underlying constituents and applicable for FI indices only.
Definition: Messages.h:2897
bool product(UInt8 &value) const
Identifies the type of product.
Definition: Messages.h:6167
bool legSecurityGroup(StrRef &value) const
Leg equivalent of body tag 1151-SecurityGroup (i.e.
Definition: Messages.h:6599
BinaryGroup< RelatedSymEntry, GroupSize, MessageSize > RelatedSym
Repeating group containing RelatedSymEntry entries.
Definition: Messages.h:1169
BinaryGroup< PartyIDsEntry, GroupSize, MessageSize > PartyIDs
Repeating group containing PartyIDsEntry entries.
Definition: Messages.h:1529
static const Char * className()
Returns class name.
Definition: Messages.h:4426
bool legSecurityExchange(StrRef &value) const
Multileg instrument&#39;s individual security&#39;s leg SecurityExchange.
Definition: Messages.h:3431
bool legSecurityExchange(StrRef &value) const
Multileg instrument&#39;s individual security&#39;s leg SecurityExchange.
Definition: Messages.h:1685
Decimal entrySize() const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:5169
Decimal entrySize() const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:7457
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:4410
static const Char * className()
Entity class name.
Definition: Messages.h:4352
bool underlyingMaturityMonthYear(MaturityMonthYear &value) const
Underlying Security&#39;s MaturityMonthYear.
Definition: Messages.h:3157
bool settlDate(Timestamp &value) const
Indicates date of settlement.
Definition: Messages.h:7668
bool settlDate(Timestamp &value) const
Indicates date of settlement.
Definition: Messages.h:5376
bool legSecurityType(StrRef &value) const
Identifies the type of instrument.
Definition: Messages.h:6046
bool unitOfMeasure(StrRef &value) const
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:7606
CHAR entryType() const
Indicates the type of Market Data entry.
Definition: Messages.h:4634
InstrumentDefinitionEris363(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:6128
EventTypeIndices::Enum eventType() const
Code to represent the type of event.
Definition: Messages.h:2628
RelatedSymEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2222
bool unitOfMeasure(StrRef &value) const
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:5316
Decimal calFutPx() const
Calculated Futures Price using Swap NPV, Historical fixed and floating amounts and synthetic interest...
Definition: Messages.h:4671
Null values definition for optional Decimal64 field.
Definition: Composites.h:125
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:4289
IncrementalRefreshTradeBlocks349()
Initializes blank instance.
Definition: Messages.h:3862
LegSecurityIDSource legSecurityIdSource() const
Identifies source of tag 602-LegSecurityID value.
Definition: Messages.h:6592
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:2145
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:3981
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:6386
bool underlyingMaturityMonthYear(MaturityMonthYear &value) const
Underlying Security&#39;s MaturityMonthYear.
Definition: Messages.h:7301
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:7239
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:4951
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:5493
bool priceType(UInt16 &value) const
Valid price types for intraday trade.
Definition: Messages.h:3704
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:7785
bool pV01(Decimal &value) const
The present value of a 1bp change in the fixed rate.
Definition: Messages.h:912
bool securitySubType(StrRef &value) const
SecuritySubType for CDS only.
Definition: Messages.h:6871
static const Char * className()
Returns class name.
Definition: Messages.h:2178
bool openCloseSettlFlag(UInt8 &value) const
Flag that identifies a market data entry.
Definition: Messages.h:496
UnderlyingsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:7281
UInt16 UInt16
uInt16.
Definition: Fields.h:179
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:555
bool legBenchmarkCurveName(StrRef &value) const
Required for Floating Rate Leg. Floating rate reference.
Definition: Messages.h:5950
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:221
UpdateAction::Enum updateAction() const
Market Data update Action.
Definition: Messages.h:1757
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1185
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:5583
bool unitOfMeasureQty(Decimal &value) const
This field contains the notional value for each instrument.
Definition: Messages.h:3682
IntegralConstant< Int8, 0 > UpdateActionNew
MDUpdateActionNew.
Definition: Fields.h:75
bool quoteReqId(StrRef &value) const
Quote request ID defined by the exchange.
Definition: Messages.h:2476
bool entryPx(Decimal &value) const
Price of the Market Data Entry.
Definition: Messages.h:6794
MessageHeader::Version SchemaVersion
Aliases SBE-encoded data version type.
Definition: SchemaTraits.h:30
bool legRefId(StrRef &value) const
Used to correlate leg instrument definitions with their executions.
Definition: Messages.h:2051
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:2413
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:3892
InstAttrib instAttrib() const
Returns instance of InstAttrib repeating group.
Definition: Messages.h:2748
bool dV01(Decimal &value) const
Present value of on basis points change in value if yield curve shifts 1bp.
Definition: Messages.h:923
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:4960
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:7248
bool batchTotalMessages(UInt16 &value) const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:4400
bool maturityMonthYear(MaturityMonthYear &value) const
This field provides the actual calendar date for contract maturity month and year (used for standardi...
Definition: Messages.h:3624
bool eventTime(UInt64 &value) const
Time of event. This is number of days since unix epoch.
Definition: Messages.h:431
BinaryGroup< LegsEntry, GroupSize, MessageSize > Legs
Repeating group containing LegsEntry entries.
Definition: Messages.h:1754
bool unitOfMeasureQty(Decimal &value) const
This field contains the notional value for each instrument.
Definition: Messages.h:1938
bool fedFundsDate(Timestamp &value) const
The date that the for which the fed funds date was published.
Definition: Messages.h:834
bool entryTime(Int32 &value) const
Indicates Market Data Entry Timestamp.
Definition: Messages.h:2949
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:6517
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1382
AdminLogout316(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:147
bool underlyingSymbol(StrRef &value) const
Underlying Security&#39;s symbol.
Definition: Messages.h:6406
bool legPutOrCall(UInt8 &value) const
Multileg instrument&#39;s individual security&#39;s leg option put or call.
Definition: Messages.h:6720
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:3528
bool entryDate(Int32 &value) const
Date of the Market Data Entry Format: YYYYMMDD (i.e.
Definition: Messages.h:5346
Timestamp transactTime() const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:5534
BinaryGroup< UnderlyingsEntry, GroupSize, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:6461
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:5889
IncrementalRefreshIndices348(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2994
bool entryDate(Int32 &value) const
Date of the Market Data Entry Format: YYYYMMDD (i.e.
Definition: Messages.h:7638
bool securityAltId(StrRef &value) const
Expanded instrument description.
Definition: Messages.h:7384
Timestamp transactTime() const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:4382
bool priceType(UInt16 &value) const
Valid price types for intraday trade.
Definition: Messages.h:1960
bool legMaturityMonthYear(MaturityMonthYear &value) const
Multileg instrument&#39;s individual security&#39;s leg MaturityMonthYear.
Definition: Messages.h:1624
bool legMaturityMonthYear(MaturityMonthYear &value) const
Multileg instrument&#39;s individual security&#39;s leg MaturityMonthYear.
Definition: Messages.h:3370
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:5708
bool eventType(UInt8 &value) const
Code to represent the type of event.
Definition: Messages.h:5728
SecurityUpdateAction::Enum securityUpdateAction() const
Included on the message when a modification or deletion occurs.
Definition: Messages.h:2720
bool numberOfOrders(Int32 &value) const
The total number of real orders per instrument that participated in a match step within a match event...
Definition: Messages.h:3555
UInt16 BlockLength
blockLength type.
Definition: Composites.h:373
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:58
Multileg instrument&#39;s individual security&#39;s NoSecurityAltID.
Definition: Messages.h:5877
UpdateActionNew updateAction() const
Indicates the type of Market Data update action.
Definition: Messages.h:5136
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:6186
UpdateActionNew updateAction() const
Indicates the type of Market Data update action.
Definition: Messages.h:7424
bool instAttribValue(StrRef &value) const
Attribute value appropriate to the InstrAttribType (871) field.
Definition: Messages.h:2565
SecurityAltID securityAltId() const
Returns instance of SecurityAltID repeating group.
Definition: Messages.h:963
bool entrySize(UInt64 &value) const
Quantity of the MD Entry.
Definition: Messages.h:2858
bool securityAltId(StrRef &value) const
Expanded instrument description.
Definition: Messages.h:4034
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:7091
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:4014
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:1441
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:369
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:6094
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:5564
IncrementalRefreshTradeBlocks340(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2123
bool sectorSubGroup(StrRef &value) const
A further qualification of Sector Group For e.g.
Definition: Messages.h:7714
InstrumentDefinitionEris363()
Initializes blank instance.
Definition: Messages.h:6123
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:3219
bool legRefId(StrRef &value) const
Used to correlate leg instrument definitions with their executions.
Definition: Messages.h:3795
bool sectorSubGroup(StrRef &value) const
A further qualification of Sector Group For e.g.
Definition: Messages.h:5422
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:6311
UnderlyingsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:3137
bool legUnitOfMeasureCurrency(StrRef &value) const
Indicates the currency of the unit of measure.
Definition: Messages.h:1727
bool legRatioQty(UInt16 &value) const
The ratio of quantity for this individual leg relative to the entire multileg security.
Definition: Messages.h:1695
BinaryGroupEntry< GroupSizeEncoding::BlockLength > Base
Aliases base class type.
Definition: Messages.h:2608
bool legUnitOfMeasureCurrency(StrRef &value) const
Indicates the currency of the unit of measure.
Definition: Messages.h:3473
UInt16 LocalMktDate
LocalMktDate type.
Definition: Fields.h:63
bool maturityMonthYear(MaturityMonthYear &value) const
This field provides the actual calendar date for contract maturity month and year (used for standardi...
Definition: Messages.h:1880
UInt32 rptSeq() const
MD Entry sequence number per index update.
Definition: Messages.h:2842
bool securityType(StrRef &value) const
Identifies the type of instrument.
Definition: Messages.h:1860
bool entrySize(UInt64 &value) const
Traded quantity.
Definition: Messages.h:1800
bool legRatioQty(UInt16 &value) const
The ratio of quantity for this individual leg relative to the entire multileg security.
Definition: Messages.h:6699
bool legRatioQty(UInt16 &value) const
The ratio of quantity for this individual leg relative to the entire multileg security.
Definition: Messages.h:3441
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:4251
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:593
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:1048
bool legContractMultiplier(Decimal &value) const
Multiplier that when applied on longer rate results in PreviousFixingRate.
Definition: Messages.h:884
StrRef securityAltIdSource() const
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:7394
Number of entries in Market Data message.
Definition: Messages.h:7227
bool aggressorSide(AggressorSide::Enum &value) const
Indicates which side is aggressor of the trade.
Definition: Messages.h:1831
Decimal minPriceIncrement() const
Minimum constant tick for the instrument.
Definition: Messages.h:6213
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:4984
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:4494
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:4722
bool fedFundsRate(Decimal &value) const
The Fed Funds Rate published for the Fed Funds Date by the New York Federal Reserve.
Definition: Messages.h:726
bool productComplex(StrRef &value) const
Identifies an entire suite of products for a given market.
Definition: Messages.h:7723
bool dailyIncrementalErisPAI(Decimal &value) const
This number represents the day over day variation margin for 1 contract for this instrument ID or Eri...
Definition: Messages.h:705
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:5513
bool productComplex(StrRef &value) const
Identifies an entire suite of products for a given market.
Definition: Messages.h:5431
SecurityAltID securityAltId() const
Returns instance of SecurityAltID repeating group.
Definition: Messages.h:4806
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:1118
bool securitySubType(StrRef &value) const
SecuritySubType for CDS only.
Definition: Messages.h:1869
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:3095
AdminLogout316()
Initializes blank instance.
Definition: Messages.h:142
bool npv(Decimal &value) const
The NPV represents net present value of the future cash flows at time t.
Definition: Messages.h:683
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:4391
bool trdType(UInt8 &value) const
Valid trade types for intraday trade.
Definition: Messages.h:1970
IncrementalRefreshOTC356(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:5521
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:1067
BinaryGroup< PartyIDsEntry, GroupSize, MessageSize > PartyIDs
Repeating group containing PartyIDsEntry entries.
Definition: Messages.h:6533
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:7405
BinaryGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:2304
bool underlyingMaturityMonthYear(MaturityMonthYear &value) const
Underlying Security&#39;s MaturityMonthYear.
Definition: Messages.h:1411
QuoteRequest345()
Initializes blank instance.
Definition: Messages.h:2442
bool batchTotalMessages(UInt16 &value) const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:4890
Timestamp transactTime() const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:4872
Identifies number of lines of text body.
Definition: Messages.h:1173
bool tradeDate(Timestamp &value) const
Indicates date of trade referenced in this message in YYYYMMDD format (expressed in local time at pla...
Definition: Messages.h:7170
CHAR updateAction() const
Indicates the type of Market Data update action.
Definition: Messages.h:462
bool relatedSecurityGroup(StrRef &value) const
Instrument Symbol Suffix for T+1 (Next Trading day).
Definition: Messages.h:358
BinaryGroup< SecurityAltIDEntry, GroupSize, MessageSize > SecurityAltID
Repeating group containing SecurityAltIDEntry entries.
Definition: Messages.h:4551
bool securitySubType(StrRef &value) const
SecuritySubType for CDS only.
Definition: Messages.h:3613
Events events() const
Returns instance of Events repeating group.
Definition: Messages.h:6280
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:3044
bool putOrCall(UInt8 &value) const
Indicates whether an option instrument is a put or call.
Definition: Messages.h:6992
bool legPurchaseRate(Decimal &value) const
The date the floating rate was set for the next floating payment.
Definition: Messages.h:650
CHAR entryType() const
Indicates the type of Market Data entry.
Definition: Messages.h:7430
bool legUnitOfMeasure(StrRef &value) const
Multileg instrument&#39;s individual security&#39;s leg UnitOfMeasure.
Definition: Messages.h:6668
CHAR entryType() const
Indicates the type of Market Data entry.
Definition: Messages.h:5142
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:7272
bool underlyingMaturityMonthYear(MaturityMonthYear &value) const
Underlying Security&#39;s MaturityMonthYear.
Definition: Messages.h:6415
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:2115
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:5592
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:2288
bool legSecurityId(UInt64 &value) const
Multileg instrument&#39;s individual security&#39;s SecurityID.
Definition: Messages.h:3323
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:7150
SecurityAltIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:4023
Decimal previousFixingRate() const
The Rate set on the last reset date.
Definition: Messages.h:5998
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:998
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:7875
bool aggressorSide(AggressorSide::Enum &value) const
Indicates which side is aggressor of the trade.
Definition: Messages.h:3575
static const Char * className()
Returns class name.
Definition: Messages.h:7204
bool aggressorSide(AggressorSide::Enum &value) const
Indicates which side is aggressor of the trade.
Definition: Messages.h:4231
bool legSecurityId(UInt64 &value) const
Multileg instrument&#39;s individual security&#39;s SecurityID.
Definition: Messages.h:1577
SecurityAltID securityAltId() const
Returns instance of SecurityAltID repeating group.
Definition: Messages.h:6289
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:2970
BinaryGroup< UnderlyingsEntry, GroupSize, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:1457
static StrRef fixType()
FIX message type.
Definition: Messages.h:72
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:3839
static StrRef fixType()
FIX message type.
Definition: Messages.h:127
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_END
Definition: Bootstrap.h:173
SecurityAltID securityAltId() const
Returns instance of SecurityAltID repeating group.
Definition: Messages.h:4316
EntryTypeIndices::Enum entryType() const
Indicates Market Data Entry Type.
Definition: Messages.h:2834
Events events() const
Returns instance of Events repeating group.
Definition: Messages.h:2756
Null values definition for optional PRICENULL9 field.
Definition: Composites.h:332
IncrementalRefreshTradeBlocks340()
Initializes blank instance.
Definition: Messages.h:2118
static const Char * className()
Entity class name.
Definition: Messages.h:1231
bool legPayFrequencey(StrRef &value) const
Payment frequency of fixed and floating rates expresses as a period.
Definition: Messages.h:5988
bool securityType(StrRef &value) const
Identifies the type of instrument.
Definition: Messages.h:6158
bool unitOfMeasure(StrRef &value) const
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:3661
bool fairCouponPct(Decimal &value) const
Shows the coupon rate that would result in a zero-NPV swap.
Definition: Messages.h:639
bool legSide(UInt8 &value) const
The side of this individual leg (multileg security).
Definition: Messages.h:1705
bool transactTime(Timestamp &value) const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:7139
UnderlyingsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:4993
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:5782
BinaryGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:4143
bool unitOfMeasureQty(Decimal &value) const
This field contains the notional value for each instrument.
Definition: Messages.h:6940
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:2095
char Char
Character type alias.
Definition: String.h:36
InstrumentDefinitionIndices347(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2670
bool legSide(UInt8 &value) const
The side of this individual leg (multileg security).
Definition: Messages.h:3451
static StrRef fixType()
FIX message type.
Definition: Messages.h:2508
UInt8 instAttribType() const
Code to represent the type of instrument attribute.
Definition: Messages.h:2556
bool underlyingSecurityExchange(StrRef &value) const
Underlying Security&#39;s SecurityExchange.
Definition: Messages.h:1430
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:287
bool entryPx(Decimal &value) const
Price of the Market Data Entry.
Definition: Messages.h:3536
Int32 tradeId() const
Unique Trade Entry ID per Instrument and Trading Date.
Definition: Messages.h:1821
bool entrySize(UInt64 &value) const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:4179
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:4461
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2171
Underlyings underlyings() const
Returns instance of Underlyings repeating group.
Definition: Messages.h:3804
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:7884
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:7364
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:2808
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:4055
bool underlyingSymbol(StrRef &value) const
Underlying Security&#39;s symbol.
Definition: Messages.h:7292
EventsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2255
bool aggressorSide(AggressorSide::Enum &value) const
Indicates which side is aggressor of the trade.
Definition: Messages.h:4711
NewsIndices339(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:1248
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:6786
bool tradeDate(Timestamp &value) const
Indicates date of trade referenced in this message in YYYYMMDD format (expressed in local time at pla...
Definition: Messages.h:7837
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:3187
bool numberOfOrders(Int32 &value) const
Number of orders working at a price level.
Definition: Messages.h:4690
BinaryGroup< UnderlyingsEntry, GroupSize, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:3203
bool entryPositionNo(Int32 &value) const
Position in the book.
Definition: Messages.h:4199
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:3586
bool batchTotalMessages(UInt16 &value) const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:1057
UnderlyingsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1391
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given Globex event...
Definition: Messages.h:2468
Number of entries in Market Data message.
Definition: Messages.h:2796
StrRef securityAltIdSource() const
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:5812
BinaryGroup< LinesOfTextEntry, GroupSize, MessageSize > LinesOfText
Repeating group containing LinesOfTextEntry entries.
Definition: Messages.h:1240
bool seniority(StrRef &value) const
Specifies which issue (underlying bond) will receive payment priority in the event of a default...
Definition: Messages.h:2021
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:3484
bool fixedNPV(Decimal &value) const
The NPV (Net Present Value) for the fixed leg of the trade, calculated that day.
Definition: Messages.h:661
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:3939
bool eventType(UInt8 &value) const
Code to represent the type of event.
Definition: Messages.h:2266
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:1738
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:6353
bool securityType(StrRef &value) const
Indicates the type of instrument.
Definition: Messages.h:7483
bool securityType(StrRef &value) const
Indicates the type of instrument.
Definition: Messages.h:5195
bool priceType(UInt16 &value) const
Valid price types for intraday trade.
Definition: Messages.h:7658
bool priceType(UInt16 &value) const
Valid price types for intraday trade.
Definition: Messages.h:5366
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:2307
bool underlyingSymbol(StrRef &value) const
Underlying Security&#39;s symbol.
Definition: Messages.h:5004
Underlyings underlyings() const
Returns instance of Underlyings repeating group.
Definition: Messages.h:5468
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:1782
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:5676
bool legRefId(StrRef &value) const
Used to correlate leg instrument definitions with their executions.
Definition: Messages.h:7053
bool strikePrice(Decimal &value) const
Strike Price for an option instrument.
Definition: Messages.h:7596
Underlyings underlyings() const
Returns instance of Underlyings repeating group.
Definition: Messages.h:7760
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:401
SecurityAltIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:254
SecurityAltIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:4503
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:2576
bool legSecurityAltId(StrRef &value) const
Multileg instrument&#39;s individual security&#39;s SecurityAltID.
Definition: Messages.h:5909
StrRef securityExchange() const
Market used to help identify an instrument.
Definition: Messages.h:2336
IncrementalRefreshIndices348()
Initializes blank instance.
Definition: Messages.h:2989
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:1153
Null values definition for optional MaturityMonthYear field.
Definition: Composites.h:253
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:4851
bool batchTotalMessages(UInt16 &value) const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:3034
StrRef securityExchange() const
Market used to help identify an instrument.
Definition: Messages.h:4749
bool applId(UInt16 &value) const
This value indicates the channel ID as defined in the XML configuration file.
Definition: Messages.h:2738
PartyIDsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:6486
static StrRef fixType()
FIX message type.
Definition: Messages.h:5606
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:4335
BinaryGroupEntry< GroupSizeEncoding::BlockLength > Base
Aliases base class type.
Definition: Messages.h:2536
static const Char * className()
Entity class name.
Definition: Messages.h:1160
bool floatNPV(Decimal &value) const
The NPV (Net Present Value) for the floating leg of the trade, calculated that day.
Definition: Messages.h:672
bool nextFloatingPaymentAmount(Decimal &value) const
The next floating payment amount.
Definition: Messages.h:795
bool tionalPercentageOutstanding(Decimal &value) const
Indicates the notional percentage of the deal that is still outstanding based on the remaining compon...
Definition: Messages.h:7576
StrRef currency() const
Identifies currency used for price.
Definition: Messages.h:6204
bool yieldType(StrRef &value) const
Type of yield.
Definition: Messages.h:2887
static const Char * className()
Returns class name.
Definition: Messages.h:177
bool marketDepth(UInt8 &value) const
Indicated the level on the book traded.
Definition: Messages.h:5664
bool tionalPercentageOutstanding(Decimal &value) const
Indicates the notional percentage of the deal that is still outstanding based on the remaining compon...
Definition: Messages.h:5288
EventsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:410
bool aggressorSide(AggressorSide::Enum &value) const
Indicates which side is aggressor of the trade.
Definition: Messages.h:6833
LegsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:6558
bool seniority(StrRef &value) const
Specifies which issue (underlying bond) will receive payment priority in the event of a default...
Definition: Messages.h:3765
IncrementalRefreshOTC366()
Initializes blank instance.
Definition: Messages.h:7808
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:443
bool couponRate(Decimal &value) const
The rate of interest that, when multiplied by the principal, par value, or face value of a bond...
Definition: Messages.h:5256
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:5117
Decimal netChgPrevDay() const
Net change from previous day&#39;s closing price.
Definition: Messages.h:2905
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:4900
StrRef currency() const
Identifies the currency for the instrument traded.
Definition: Messages.h:2709
bool couponRate(Decimal &value) const
The rate of interest that, when multiplied by the principal, par value, or face value of a bond...
Definition: Messages.h:7544
StrRef text() const
This general purpose text field could contain any post- trade instructions used by customers based on...
Definition: Messages.h:1213
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:7856
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:1899
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:1224
bool underlyingSecurityExchange(StrRef &value) const
Underlying Security&#39;s SecurityExchange.
Definition: Messages.h:3176
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:7117
bool securityType(StrRef &value) const
Identifies the type of instrument.
Definition: Messages.h:3604
BinaryGroup< SecurityAltIDEntry, GroupSize, MessageSize > SecurityAltID
Repeating group containing SecurityAltIDEntry entries.
Definition: Messages.h:303
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:6549
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:4567
bool putOrCall(UInt8 &value) const
Indicates whether an option instrument is a put or call.
Definition: Messages.h:3734
Timestamp transactTime() const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:7826
bool underlyingSymbol(StrRef &value) const
Underlying Security&#39;s symbol.
Definition: Messages.h:1402
Decimal netPctChg() const
Index percentage change with respect to previous close.
Definition: Messages.h:2913
bool feedType(StrRef &value) const
Describes a class of service for a given data feed.
Definition: Messages.h:5655
bool putOrCall(UInt8 &value) const
Indicates whether an option instrument is a put or call.
Definition: Messages.h:7586
SecurityAltID securityAltId() const
Returns instance of SecurityAltID repeating group.
Definition: Messages.h:5476
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:3643
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:7188
bool putOrCall(UInt8 &value) const
Indicates whether an option instrument is a put or call.
Definition: Messages.h:5298
SecurityAltID securityAltId() const
Returns instance of SecurityAltID repeating group.
Definition: Messages.h:7768
bool legSecurityGroup(StrRef &value) const
Leg equivalent of body tag 1151-SecurityGroup (i.e.
Definition: Messages.h:6056
UnderlyingsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:6395
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:4361
bool legSide(UInt8 &value) const
The side of this individual leg.
Definition: Messages.h:6027
bool legUnitOfMeasureCurrency(StrRef &value) const
Indicates the currency of the unit of measure.
Definition: Messages.h:6731
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:6477
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:113
EntryTypeTrade entryType() const
Market Data Entry Type.
Definition: Messages.h:6769
Char CharNULL
Char with a null value.
Definition: Fields.h:175
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2766
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:7805
void throwBadBinaryData(const Char *className)
Throws exception on bad repeating group entry.
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:4607
bool legSecurityGroup(StrRef &value) const
Leg equivalent of body tag 1151-SecurityGroup (i.e.
Definition: Messages.h:1595
Decimal entryPx() const
Price of the Market Data Entry.
Definition: Messages.h:2850
IncrementalRefreshOTC366(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:7813
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:3774
bool legSecurityGroup(StrRef &value) const
Leg equivalent of body tag 1151-SecurityGroup (i.e.
Definition: Messages.h:3341
Underlyings underlyings() const
Returns instance of Underlyings repeating group.
Definition: Messages.h:2060
bool legSymbol(StrRef &value) const
For Eris Interest rate swaps values would be FIXED, FLOAT and for Spread, value would be underline in...
Definition: Messages.h:6007
bool fixedPayment(Decimal &value) const
Fixed payment that occurs on the Evaluation Date.
Definition: Messages.h:747
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:7097
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:3053
StrRef legCurrency() const
Currency associated with a particular Leg&#39;s quantity.
Definition: Messages.h:6037
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:4731
bool entryId(StrRef &value) const
Market data entry identifier to map multiple prices of a single trade.
Definition: Messages.h:6983
static const Char * className()
Returns class name.
Definition: Messages.h:4916
#define ONIXS_CMESTREAMLINEDMDH_LTWT_EXPORTED
Definition: Bootstrap.h:119
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:4307
bool volType(UInt16 &value) const
Volume types for end of day volume.
Definition: Messages.h:7741
Events events() const
Returns instance of Events repeating group.
Definition: Messages.h:4814
bool volType(UInt16 &value) const
Volume types for end of day volume.
Definition: Messages.h:5449
bool seniority(StrRef &value) const
Specifies which issue (underlying bond) will receive payment priority in the event of a default...
Definition: Messages.h:5277
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:1513
UInt16 batchTotalMessages() const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:3901
Timestamp transactTime() const
Time of quote request creation, expressed in UTC.
Definition: Messages.h:2459
bool seniority(StrRef &value) const
Specifies which issue (underlying bond) will receive payment priority in the event of a default...
Definition: Messages.h:7565
LegSecurityAltIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:5898
bool underlyingSecurityExchange(StrRef &value) const
Underlying Security&#39;s SecurityExchange.
Definition: Messages.h:6434
Int32 tradeId() const
The unique identifier for the trade entry, per instrument.
Definition: Messages.h:4221
bool unitOfMeasure(StrRef &value) const
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:6919
bool securityId(UInt64 &value) const
Unique security ID.
Definition: Messages.h:1771
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:6844
bool maturityMonthYear(MaturityMonthYear &value) const
This field provides the actual calendar date for contract maturity month and year (used for standardi...
Definition: Messages.h:5206
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:7524
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:6742
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:5236
bool maturityMonthYear(MaturityMonthYear &value) const
This field provides the actual calendar date for contract maturity month and year (used for standardi...
Definition: Messages.h:7494
bool underlyingSecurityType(StrRef &value) const
Underlying Security&#39;s SecurityType.
Definition: Messages.h:5023
RelatedInstrumentsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:328
PartyIDsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:3228
StrRef securityExchange() const
Market used to help identify an instrument.
Definition: Messages.h:2700
IncrementalRefreshEris351()
Initializes blank instance.
Definition: Messages.h:4364
bool restructuringType(StrRef &value) const
A category of CDS credit event in which the underlying bond experiences a restructuring.
Definition: Messages.h:2011
bool strikePrice(Decimal &value) const
Strike Price for an option instrument.
Definition: Messages.h:3744
BinaryGroup< SecurityAltIDEntry, GroupSize, MessageSize > SecurityAltID
Repeating group containing SecurityAltIDEntry entries.
Definition: Messages.h:5133
BinaryGroup< FeedTypesEntry, GroupSize, MessageSize > FeedTypes
Repeating group containing FeedTypesEntry entries.
Definition: Messages.h:5692
BinaryGroup< SecurityAltIDEntry, GroupSize, MessageSize > SecurityAltID
Repeating group containing SecurityAltIDEntry entries.
Definition: Messages.h:7421
bool legId(StrRef &value) const
Used to correlate leg instrument definitions with their executions.Cross referenced in Tag 654...
Definition: Messages.h:6609
Underlyings underlyings() const
Returns instance of Underlyings repeating group.
Definition: Messages.h:7062
StrRef securityAltIdSource() const
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:5106
bool securityAltId(StrRef &value) const
Expanded instrument description.
Definition: Messages.h:5802
bool unitOfMeasure(StrRef &value) const
Unit of measure for the products&#39; original contract size.
Definition: Messages.h:1917
bool securityType(StrRef &value) const
Indicates type of instrument.
Definition: Messages.h:2383
bool securityExchange(StrRef &value) const
Market used to help identify an instrument.
Definition: Messages.h:6892
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:4470
bool legSecurityExchange(StrRef &value) const
Multileg instrument&#39;s individual security&#39;s leg SecurityExchange.
Definition: Messages.h:6689
BinaryGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:4623
Events events() const
Returns instance of Events repeating group.
Definition: Messages.h:2403
const void * body() const
Indicates beginning of group entry body.
UInt32 rptSeq() const
MD Entry sequence number per instrument update.
Definition: Messages.h:4163
bool legRatioQty(Int32 &value) const
The ratio of quantity for this individual leg relative to the entire multi-leg instrument.
Definition: Messages.h:6017
Events events() const
Returns instance of Events repeating group.
Definition: Messages.h:980
RelatedSymEntry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:2419
bool securityType(StrRef &value) const
Identifies the type of instrument.
Definition: Messages.h:4260
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:4535
bool entrySize(UInt64 &value) const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:536
bool underlyingSecurityType(StrRef &value) const
Underlying Security&#39;s SecurityType.
Definition: Messages.h:3167
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1358
bool nextFixedPaymentDate(Timestamp &value) const
The date the next fixed payment will be made.
Definition: Messages.h:767
bool entryPx(Decimal &value) const
Price of the Market Data Entry.
Definition: Messages.h:1790
Int32 tradeId() const
Unique Trade Entry ID per Instrument and Trading Date.
Definition: Messages.h:3565
bool sectorGroup(StrRef &value) const
Group of related products. For e.g. High Yield, Cheese.
Definition: Messages.h:5412
bool entrySize(UInt64 &value) const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:4659
bool nextFixedPaymentAmount(Decimal &value) const
The next fixed payment amount.
Definition: Messages.h:785
BinaryGroupWithNested< RelatedSymEntry, GroupSize, MessageSize > RelatedSym
Repeating group containing RelatedSymEntry entries.
Definition: Messages.h:2439
bool sectorGroup(StrRef &value) const
Group of related products. For e.g. High Yield, Cheese.
Definition: Messages.h:7704
bool applId(UInt16 &value) const
This value indicates the channel ID as defined in the XML configuration file.
Definition: Messages.h:6262
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:4769
static const Char * className()
Returns class name.
Definition: Messages.h:6318
PartyIDsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1482
SettlPriceType settlPriceType() const
Indicates reference price as calculated, final or preliminary settle.
Definition: Messages.h:507
Events events() const
Returns instance of Events repeating group.
Definition: Messages.h:4324
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:2646
bool seniority(StrRef &value) const
Specifies which issue (underlying bond) will receive payment priority in the event of a default...
Definition: Messages.h:7023
bool product(UInt8 &value) const
Indicates the type of product the instrument is associated with in the message.
Definition: Messages.h:2346
Provides efficient way of accessing text-based FIX field values.
Definition: String.h:39
Entries entries() const
Returns instance of Entries repeating group.
Definition: Messages.h:3930
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:5186
bool entryDate(Int32 &value) const
Indicates Market Data Entry Date.
Definition: Messages.h:2939
bool legUnitOfMeasureQty(Decimal &value) const
Multileg instrument&#39;s individual security&#39;s leg UnitOfMeasureQty.
Definition: Messages.h:6678
bool batchTotalMessages(UInt16 &value) const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:5573
bool couponRate(Decimal &value) const
The rate of interest that, when multiplied by the principal, par value, or face value of a bond...
Definition: Messages.h:3694
bool securityGroup(StrRef &value) const
Indicates the product code for the instrument.
Definition: Messages.h:7474
IncrementalRefreshTradeBlocks349(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:3867
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:5931
bool strategyLinkId(StrRef &value) const
Identifies the multileg strategy (e.g.
Definition: Messages.h:2041
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:2494
static const Char * className()
Returns class name.
Definition: Messages.h:7891
UpdateAction::Enum updateAction() const
Market Data update Action.
Definition: Messages.h:6761
bool securityGroup(StrRef &value) const
Product code.
Definition: Messages.h:6140
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:2959
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:5044
static const Char * className()
Returns class name.
Definition: Messages.h:65
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:170
bool legMaturityMonthYear(MaturityMonthYear &value) const
Multileg instrument&#39;s individual security&#39;s leg MaturityMonthYear.
Definition: Messages.h:6628
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:7779
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:5855
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:5487
bool securityType(StrRef &value) const
Identifies the type of instrument.
Definition: Messages.h:6862
EventsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:4096
bool symbol(StrRef &value) const
Instrument/Index/Swap Name.
Definition: Messages.h:1842
static const Char * className()
Entity class name.
Definition: Messages.h:2430
static const Char * className()
Returns class name.
Definition: Messages.h:1314
bool putOrCall(UInt8 &value) const
Indicates whether an option instrument is a put or call.
Definition: Messages.h:1990
BinaryGroup< EventsEntry, GroupSize, MessageSize > Events
Repeating group containing EventsEntry entries.
Definition: Messages.h:459
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:5823
A real number with floating exponent.
Definition: Decimal.h:224
EventsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2617
AdminLogin315()
Initializes blank instance.
Definition: Messages.h:87
IntegralConstant< Char, 'H'> LegSecurityIDSource
Constant value sent from clearing for legs.
Definition: Fields.h:57
EntryTypeTrade entryType() const
Market Data Entry Type.
Definition: Messages.h:1765
bool minal(UInt64 &value) const
This is the notional value used to calculate NPV and Fixed and Floating Payment amounts.
Definition: Messages.h:864
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:1076
bool legSecurityId(UInt64 &value) const
Multileg instrument&#39;s individual security&#39;s SecurityID.
Definition: Messages.h:6581
BinaryGroup< LegsEntry, GroupSize, MessageSize > Legs
Repeating group containing LegsEntry entries.
Definition: Messages.h:6758
BinaryGroupWithNested< Entry, GroupSize, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:1018
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:2213
bool batchTotalMessages(UInt16 &value) const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:7865
IntegralConstant< Char, '2'> EntryTypeTrade
MDEntryTypeTrade.
Definition: Fields.h:69
RelatedSym relatedSym() const
Returns instance of RelatedSym repeating group.
Definition: Messages.h:2485
bool legSecurityAltIdSource(UInt8 &value) const
Multileg instrument&#39;s individual security&#39;s SecurityAltIDSource.
Definition: Messages.h:5919
bool finalSettlementFuturesPrice(Decimal &value) const
Final Settlement Futures Prices.
Definition: Messages.h:943
BinaryGroup< RelatedInstrumentsEntry, GroupSize, MessageSize > RelatedInstruments
Repeating group containing RelatedInstrumentsEntry entries.
Definition: Messages.h:385
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:4881
bool eventTime(UInt64 &value) const
Time of event. This is UTC Time.
Definition: Messages.h:4115
Decimal entryPx() const
Price of the Market Data Entry.
Definition: Messages.h:4651
bool product(UInt8 &value) const
Indicates the type of product the instrument is associated with in the message.
Definition: Messages.h:565
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:2030
RelatedSym relatedSym() const
Returns instance of RelatedSym repeating group.
Definition: Messages.h:1289
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:7332
bool quoteType(UInt8 &value) const
Type of quote requested.
Definition: Messages.h:2393
BinaryGroup< InstAttribEntry, GroupSizeEncoding, MessageSize > InstAttrib
Repeating group containing InstAttribEntry entries.
Definition: Messages.h:2592
CHAR updateAction() const
Indicates the type of Market Data update action.
Definition: Messages.h:4626
bool entryId(StrRef &value) const
Market data entry identifier to map multiple prices of a single trade.
Definition: Messages.h:3725
bool legMaturityDate(Timestamp &value) const
Multileg instrument&#39;s individual security&#39;s leg MaturityDate.
Definition: Messages.h:6639
bool accrualDays(UInt32 &value) const
How many days have passed since settlement price was last calculated.
Definition: Messages.h:853
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:6362
IncrementalRefreshOTC356()
Initializes blank instance.
Definition: Messages.h:5516
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:4909
BinaryGroup< UnderlyingsEntry, GroupSize, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:7348
bool entryPositionNo(Int32 &value) const
Position in the book.
Definition: Messages.h:4679
BinaryGroup< UnderlyingsEntry, GroupSize, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:5060
bool legPutOrCall(UInt8 &value) const
Multileg instrument&#39;s individual security&#39;s leg option put or call.
Definition: Messages.h:3462
bool numberOfOrders(Int32 &value) const
Number of orders working at a price level.
Definition: Messages.h:4210
static StrRef fixType()
FIX message type.
Definition: Messages.h:184
bool floatingPayment(Decimal &value) const
Floating Payment that occurs on the Evaulation Date.
Definition: Messages.h:757
Null values definition for optional Decimal32NULL field.
Definition: Composites.h:83
bool legPutOrCall(UInt8 &value) const
Multileg instrument&#39;s individual security&#39;s leg option put or call.
Definition: Messages.h:1716
SecurityAltIDEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:7373
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:4825
bool securityId(UInt64 &value) const
Unique security ID.
Definition: Messages.h:3517
MessageSize BlockLength
Length of message body representing a block of fixed-length fields.
bool entryPx(Decimal &value) const
Price of the Market Data Entry.
Definition: Messages.h:7447
IncrementalRefreshEris353(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:4859
MatchEventIndicator matchEventIndicator() const
Bitmap field of eight Boolean type indicators reflecting the end of updates for a given event...
Definition: Messages.h:3025
bool entryPx(Decimal &value) const
Price of the Market Data Entry.
Definition: Messages.h:5159
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:5076
bool securitySubType(StrRef &value) const
SecuritySubType for CDS only.
Definition: Messages.h:7732
EventsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:4576
bool entryPx(Decimal &value) const
Price of the Market Data Entry.
Definition: Messages.h:486
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:6901
bool securitySubType(StrRef &value) const
SecuritySubType for CDS only.
Definition: Messages.h:5440
EntryTypeTrade entryType() const
Market Data Entry Type.
Definition: Messages.h:3511
bool maturityDate(Timestamp &value) const
Maturity date of instrument.
Definition: Messages.h:2365
StrRef securityExchange() const
Market used to help identify an instrument.
Definition: Messages.h:4269
bool underlyingSymbol(StrRef &value) const
Underlying Security&#39;s symbol.
Definition: Messages.h:3148
RelatedSymEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1127
Timestamp transactTime() const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:2136
bool strikePrice(Decimal &value) const
Strike Price for an option instrument.
Definition: Messages.h:2000
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:7032
bool underlyingSecurityType(StrRef &value) const
Underlying Security&#39;s SecurityType.
Definition: Messages.h:1421
UInt64 eventTime() const
Time of event. This is number of days since unix epoch.
Definition: Messages.h:2636
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:6445
FeedTypes feedTypes() const
Returns instance of FeedTypes repeating group.
Definition: Messages.h:6272
Null values definition for optional Decimal32 field.
Definition: Composites.h:41
Legs legs() const
Returns instance of Legs repeating group.
Definition: Messages.h:3821
bool legUnitOfMeasureQty(Decimal &value) const
Multileg instrument&#39;s individual security&#39;s leg UnitOfMeasureQty.
Definition: Messages.h:3420
StrRef securityAltIdSource() const
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:4524
static const Char * className()
Returns class name.
Definition: Messages.h:2501
bool legUnitOfMeasureQty(Decimal &value) const
Multileg instrument&#39;s individual security&#39;s leg UnitOfMeasureQty.
Definition: Messages.h:1674
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:7197
bool legStrikePrice(Decimal &value) const
Multileg instrument&#39;s individual security&#39;s StrikePrice.
Definition: Messages.h:3399
UInt16 batchTotalMessages() const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:7159
StrRef underlyingSecurityExchange() const
Underlying Security&#39;s SecurityExchange and it can be used to identify the underlying security...
Definition: Messages.h:7321
bool entryId(StrRef &value) const
Market data entry identifier to map multiple prices of a single trade.
Definition: Messages.h:1981
bool legStrikePrice(Decimal &value) const
Multileg instrument&#39;s individual security&#39;s StrikePrice.
Definition: Messages.h:1653
BinaryGroupEntry< GroupSize::BlockLength > Base
Aliases base class type.
Definition: Messages.h:212
bool erisPAI(Decimal &value) const
This is the cumulative daily interest adjustment.
Definition: Messages.h:715
bool tradingReferenceDate(Timestamp &value) const
Indicates the business date for previous settlement price.
Definition: Messages.h:805
MessageSize EncodedLength
Length of message binary data.
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:2089
static StrRef fixType()
FIX message type.
Definition: Messages.h:1321
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:4419
UInt8 eventType() const
Code to represent the type of event.
Definition: Messages.h:4107
bool legSecurityType(StrRef &value) const
Identifies the type of leg instrument.
Definition: Messages.h:3360
bool legSecurityType(StrRef &value) const
Identifies the type of leg instrument.
Definition: Messages.h:1614
bool minPriceIncrement(Decimal &value) const
Minimum tick for a product (only sent if not eligible for VTT).
Definition: Messages.h:737
UInt16 batchTotalMessages() const
Total number of messages contained within batch which is defined by match event indicator (5799)...
Definition: Messages.h:2154
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:5459
static StrRef fixType()
FIX message type.
Definition: Messages.h:4433
static BlockLength blockLength(SchemaVersion)
Size of message body in bytes.
Definition: Messages.h:1307
Timestamp transactTime() const
Start of event processing time in number of nanoseconds since Unix epoch.
Definition: Messages.h:1039
bool referenceId(StrRef &value) const
For future use.
Definition: Messages.h:7751
Number of entries in Market Data message.
Definition: Messages.h:4449
#define ONIXS_CMESTREAMLINEDMDH_LTWT_STRUCT
Definition: Bootstrap.h:115
Entry next(SchemaVersion) const
Returns reference to the next item.
Definition: Messages.h:4341
Int32 tradeId() const
Unique Trade Entry ID per Instrument and Trading Date.
Definition: Messages.h:6823
bool eventTime(UInt64 &value) const
Time of event. This is number of days since unix epoch.
Definition: Messages.h:2276
bool strikePrice(Decimal &value) const
Strike Price for an option instrument.
Definition: Messages.h:7002
static const Char * className()
Returns class name.
Definition: Messages.h:2773
Encapsulates operations over SBE-encoded repeating group entry instance.
bool eventTime(UInt64 &value) const
Time of event. This is number of days since unix epoch.
Definition: Messages.h:5738
bool couponRate(Decimal &value) const
The rate of interest that, when multiplied by the principal, par value, or face value of a bond...
Definition: Messages.h:1950
QuoteRequest345(const void *data, EncodedLength length)
Initializes instance over given memory block.
Definition: Messages.h:2447
Char ErisUDI
Eris User Defined Instrument.
Definition: Fields.h:43
bool legMaturityDate(Timestamp &value) const
Multileg instrument&#39;s individual security&#39;s leg MaturityDate.
Definition: Messages.h:3381
bool strategyLinkId(StrRef &value) const
Identifies the multileg strategy (e.g.
Definition: Messages.h:3785
bool product(UInt8 &value) const
Indicates the type of product the instrument is associated with in the message.
Definition: Messages.h:4279
StrRef underlyingSecurityExchange() const
Underlying Security&#39;s SecurityExchange and it can be used to identify the underlying security...
Definition: Messages.h:5033
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:5750
bool legMaturityDate(Timestamp &value) const
Multileg instrument&#39;s individual security&#39;s leg MaturityDate.
Definition: Messages.h:1635
StrRef securityAltIdSource() const
Identifies class or source of the SecurityAltID (455) value.
Definition: Messages.h:4044
static StrRef fixType()
FIX message type.
Definition: Messages.h:7898
bool securityExchange(StrRef &value) const
Market used to help identify an instrument.
Definition: Messages.h:3634
Decimal strikePrice() const
Strike Price for an option instrument.
Definition: Messages.h:5308
bool rateType(StrRef &value) const
Rate type for the swap and spread.
Definition: Messages.h:6231
static BlockLength blockLength(SchemaVersion)
Returns size of entry body in bytes for given version of message template.
Definition: Messages.h:4127
Decimal calFutPx() const
Calculated Futures Price using Swap NPV, Historical fixed and floating amounts and synthetic interest...
Definition: Messages.h:4191
Legs legs() const
Returns instance of Legs repeating group.
Definition: Messages.h:2077
CHAR entryType() const
Indicates the type of Market Data entry.
Definition: Messages.h:4154
StrRef text() const
Free format text string.
Definition: Messages.h:160
bool trdType(UInt8 &value) const
Valid trade types for intraday trade.
Definition: Messages.h:6972
bool underlyingSecurityType(StrRef &value) const
Underlying Security&#39;s SecurityType.
Definition: Messages.h:6425
StrRef securityExchange() const
Market used to help identify an instrument.
Definition: Messages.h:5216
StrRef securityExchange() const
Market used to help identify an instrument.
Definition: Messages.h:7504
Null values definition for optional PRICENULL field.
Definition: Composites.h:290
Number of entries in Market Data message.
Definition: Messages.h:4939
AdminHeartbeat312()
Initializes blank instance.
Definition: Messages.h:40
UInt32 UInt32
uInt32.
Definition: Fields.h:183
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:2817
Timestamp transactTime() const
Start of event processing time in number of nanoseconds since epoch.
Definition: Messages.h:3007
bool partyRole(StrRef &value) const
Identifies the type or role of the PartyID specified.
Definition: Messages.h:6506
bool symbol(StrRef &value) const
A specific moniter assigned to a group of related securities which may be concurrently affected by ma...
Definition: Messages.h:1142
bool restructuringType(StrRef &value) const
A category of CDS credit event in which the underlying bond experiences a restructuring.
Definition: Messages.h:3755
Int32 tradeId() const
The unique identifier for the trade entry, per instrument.
Definition: Messages.h:4701
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_BEGIN
Definition: Bootstrap.h:169
bool unitOfMeasureQty(Decimal &value) const
This field contains the notional value for each instrument.
Definition: Messages.h:7627