OnixS C++ B3 Binary UMDF Market Data Handler  1.3.3
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 
30 
32 
33 /// Used to reset the incremental stream or indicate the loop on instrument definition or snapshot recovery is restarting.
36 : SbeMessage
37 {
38  /// Used template schema.
40 
41  /// Message template ID from SBE schema.
42  enum { TemplateId = 1 };
43 
44  /// Initializes a blank instance.
46 
47  /// Creates an instance over the given memory block.
49  void* data,
50  EncodedLength length,
51  NoInit)
52  : SbeMessage(data, length)
53  {
54  checkCompatibility();
55  }
56 
57  /// Creates an instance over the given SBE message.
58  explicit
60  const SbeMessage& message)
61  : SbeMessage(message)
62  {
63  assert(message.valid());
64 
65  checkCompatibility();
66  }
67 
68  /// Creates an instance over the given memory block.
69  /// Performs no checks.
71  void* data,
72  EncodedLength length,
73  NoInit,
74  NoCheck)
76  : SbeMessage(data, length, NoCheck())
77  {
78  assert(schemaId() == Schema::Id);
79  assert(version() >= Schema::MinimalVersion);
80  assert(TemplateId == templateId());
81  }
82 
83  /// FIX Message Type.
88  {
89  return MessageType::SequenceReset;
90  }
91 
92  /// Specifies the service pack release being applied at
93  /// message level.
98  {
99  return ApplVerID::FIX50SP2;
100  }
101 
102  /// New sequence number. Always one.
105  static SeqNum1 newSeqNo()
107  {
108  return SeqNum1();
109  }
110 
111  /// Minimal size of message body in bytes.
114  static
117  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
119  {
120  return
121  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
122  0;
123  }
124 
125  /// Size of message body in bytes.
130  {
131  return
132  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
133  minimalBlockLength(version);
134  }
135 
136  /// Minimal variable fields size (when variable-length fields are empty).
138  ONIXS_B3_UMDF_MD_NODISCARD
140  static
143  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
144  {
145  return
146  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
147  0;
148  }
149 
150  /// \return class name.
152  ONIXS_B3_UMDF_MD_NODISCARD
154  static const Char* className()
155  {
156  return "SequenceReset_1";
157  }
158 
159  /// FIX message type.
161  ONIXS_B3_UMDF_MD_NODISCARD
163  static StrRef fixType()
165  {
166  return constructStrRef("4");
167  }
168 
169  /// \return a human-readable presentation.
170  ONIXS_B3_UMDF_MD_NODISCARD
171  std::string toString() const;
172 
173 private:
174  void checkLength(
175  EncodedLength length, SchemaVersion version) const
176  {
177  const EncodedLength minimalRequiredLength =
178  minimalBlockLength(version) +
179  MessageHeader::Size +
180  getMinimalVariableFieldsSize(version);
181 
182  checkBinaryLength(
183  *this, length, minimalRequiredLength);
184  }
185 
186  void checkCompatibility() const
187  {
188  assert(TemplateId == templateId());
189 
190  checkSchema<Schema>(schemaId(), version());
191  checkLength(bufferSize(), version());
192  }
193 };
194 
195 /// Sent in incremental, snapshot and instrument list feeds in periods of no activity..
198 : SbeMessage
199 {
200  /// Used template schema.
202 
203  /// Message template ID from SBE schema.
204  enum { TemplateId = 2 };
205 
206  /// Initializes a blank instance.
208 
209  /// Creates an instance over the given memory block.
211  void* data,
212  EncodedLength length,
213  NoInit)
214  : SbeMessage(data, length)
215  {
216  checkCompatibility();
217  }
218 
219  /// Creates an instance over the given SBE message.
220  explicit
222  const SbeMessage& message)
223  : SbeMessage(message)
224  {
225  assert(message.valid());
226 
227  checkCompatibility();
228  }
229 
230  /// Creates an instance over the given memory block.
231  /// Performs no checks.
233  void* data,
234  EncodedLength length,
235  NoInit,
236  NoCheck)
238  : SbeMessage(data, length, NoCheck())
239  {
240  assert(schemaId() == Schema::Id);
241  assert(version() >= Schema::MinimalVersion);
242  assert(TemplateId == templateId());
243  }
244 
245  /// FIX Message Type.
250  {
251  return MessageType::Sequence;
252  }
253 
254  /// Specifies the service pack release being applied at
255  /// message level.
260  {
261  return ApplVerID::FIX50SP2;
262  }
263 
264  /// The next application sequence number in the feed. Always 1
265  /// (one) for snapshot replay and instrument replay feeds.
266  ONIXS_B3_UMDF_MD_NODISCARD
269  {
271 
272  return ordinary<SeqNum>(offset);
273  }
274 
275  /// Minimal size of message body in bytes.
278  static
281  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
283  {
284  return
285  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
286  4;
287  }
288 
289  /// Size of message body in bytes.
294  {
295  return
296  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
297  minimalBlockLength(version);
298  }
299 
300  /// Minimal variable fields size (when variable-length fields are empty).
302  ONIXS_B3_UMDF_MD_NODISCARD
304  static
307  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
308  {
309  return
310  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
311  0;
312  }
313 
314  /// \return class name.
316  ONIXS_B3_UMDF_MD_NODISCARD
318  static const Char* className()
319  {
320  return "Sequence_2";
321  }
322 
323  /// FIX message type.
325  ONIXS_B3_UMDF_MD_NODISCARD
327  static StrRef fixType()
329  {
330  return constructStrRef("0");
331  }
332 
333  /// \return a human-readable presentation.
334  ONIXS_B3_UMDF_MD_NODISCARD
335  std::string toString() const;
336 
337 private:
338  void checkLength(
339  EncodedLength length, SchemaVersion version) const
340  {
341  const EncodedLength minimalRequiredLength =
342  minimalBlockLength(version) +
343  MessageHeader::Size +
344  getMinimalVariableFieldsSize(version);
345 
346  checkBinaryLength(
347  *this, length, minimalRequiredLength);
348  }
349 
350  void checkCompatibility() const
351  {
352  assert(TemplateId == templateId());
353 
354  checkSchema<Schema>(schemaId(), version());
355  checkLength(bufferSize(), version());
356  }
357 };
358 
359 /// Market Data Incremental Refresh - Empty Book.
362 : SbeMessage
363 {
364  /// Used template schema.
366 
367  /// Message template ID from SBE schema.
368  enum { TemplateId = 9 };
369 
370  /// Initializes a blank instance.
372 
373  /// Creates an instance over the given memory block.
375  void* data,
376  EncodedLength length,
377  NoInit)
378  : SbeMessage(data, length)
379  {
380  checkCompatibility();
381  }
382 
383  /// Creates an instance over the given SBE message.
384  explicit
386  const SbeMessage& message)
387  : SbeMessage(message)
388  {
389  assert(message.valid());
390 
391  checkCompatibility();
392  }
393 
394  /// Creates an instance over the given memory block.
395  /// Performs no checks.
397  void* data,
398  EncodedLength length,
399  NoInit,
400  NoCheck)
402  : SbeMessage(data, length, NoCheck())
403  {
404  assert(schemaId() == Schema::Id);
405  assert(version() >= Schema::MinimalVersion);
406  assert(TemplateId == templateId());
407  }
408 
409  /// FIX Message Type.
414  {
415  return MessageType::MarketDataIncrementalRefresh;
416  }
417 
418  /// Specifies the service pack release being applied at
419  /// message level.
424  {
425  return ApplVerID::FIX50SP2;
426  }
427 
428  /// Update Action (NEW) - always replace.
433  {
434  return UpdateAction::NEW;
435  }
436 
437  /// Type of the Market Data Entry.
442  {
443  return EntryType::EMPTY_BOOK;
444  }
445 
446  /// Security ID as defined by B3. For the SecurityID list, see
447  /// the Security Definition message in Market Data feed.
448  ONIXS_B3_UMDF_MD_NODISCARD
451  {
453 
454  return ordinary<SecurityID>(offset);
455  }
456 
457  /// Identifies the class of the SecurityID (Exchange Symbol).
462  {
463  return SecurityIDSource::EXCHANGE_SYMBOL;
464  }
465 
466  /// Market to which the symbol belongs.
468  ONIXS_B3_UMDF_MD_NODISCARD
472  {
473  return constructStrRef("BVMF");
474  }
475 
476  /// Identifies the end of the current event and if it is a
477  /// retransmission.
478  ONIXS_B3_UMDF_MD_NODISCARD
481  {
483 
484  return ordinary<MatchEventIndicator>(offset);
485  }
486 
487  /// Date and time of market data entry.
488  ONIXS_B3_UMDF_MD_NODISCARD
491  {
493 
494  return ordinary(value, offset, NullUTCTimestampNanos());
495  }
496 
497  /// Minimal size of message body in bytes.
500  static
503  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
505  {
506  return
507  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
508  20;
509  }
510 
511  /// Size of message body in bytes.
514  static
517  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
519  {
520  return
521  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
522  minimalBlockLength(version);
523  }
524 
525  /// Minimal variable fields size (when variable-length fields are empty).
527  ONIXS_B3_UMDF_MD_NODISCARD
529  static
532  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
533  {
534  return
535  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
536  0;
537  }
538 
539  /// \return class name.
541  ONIXS_B3_UMDF_MD_NODISCARD
543  static const Char* className()
544  {
545  return "EmptyBook_9";
546  }
547 
548  /// FIX message type.
550  ONIXS_B3_UMDF_MD_NODISCARD
552  static StrRef fixType()
554  {
555  return constructStrRef("EmptyBook_9");
556  }
557 
558  /// \return a human-readable presentation.
559  ONIXS_B3_UMDF_MD_NODISCARD
560  std::string toString() const;
561 
562 private:
563  void checkLength(
564  EncodedLength length, SchemaVersion version) const
565  {
566  const EncodedLength minimalRequiredLength =
567  minimalBlockLength(version) +
568  MessageHeader::Size +
569  getMinimalVariableFieldsSize(version);
570 
571  checkBinaryLength(
572  *this, length, minimalRequiredLength);
573  }
574 
575  void checkCompatibility() const
576  {
577  assert(TemplateId == templateId());
578 
579  checkSchema<Schema>(schemaId(), version());
580  checkLength(bufferSize(), version());
581  }
582 };
583 
584 /// Channel Reset (remove all instruments, empty all books and statistics).
587 : SbeMessage
588 {
589  /// Used template schema.
591 
592  /// Message template ID from SBE schema.
593  enum { TemplateId = 11 };
594 
595  /// Initializes a blank instance.
597 
598  /// Creates an instance over the given memory block.
600  void* data,
601  EncodedLength length,
602  NoInit)
603  : SbeMessage(data, length)
604  {
605  checkCompatibility();
606  }
607 
608  /// Creates an instance over the given SBE message.
609  explicit
611  const SbeMessage& message)
612  : SbeMessage(message)
613  {
614  assert(message.valid());
615 
616  checkCompatibility();
617  }
618 
619  /// Creates an instance over the given memory block.
620  /// Performs no checks.
622  void* data,
623  EncodedLength length,
624  NoInit,
625  NoCheck)
627  : SbeMessage(data, length, NoCheck())
628  {
629  assert(schemaId() == Schema::Id);
630  assert(version() >= Schema::MinimalVersion);
631  assert(TemplateId == templateId());
632  }
633 
634  /// FIX Message Type.
639  {
640  return MessageType::MarketDataIncrementalRefresh;
641  }
642 
643  /// Specifies the service pack release being applied at
644  /// message level.
649  {
650  return ApplVerID::FIX50SP2;
651  }
652 
653  /// Update Action (NEW) - always replace.
658  {
659  return UpdateAction::NEW;
660  }
661 
662  /// Type of the Market Data Entry.
667  {
668  return EntryType::EMPTY_BOOK;
669  }
670 
671  /// Identifies the end of the current event and if it is a
672  /// retransmission.
673  ONIXS_B3_UMDF_MD_NODISCARD
676  {
678 
679  return ordinary<MatchEventIndicator>(offset);
680  }
681 
682  /// Date and time of market data entry.
683  ONIXS_B3_UMDF_MD_NODISCARD
686  {
688 
689  return ordinary(value, offset, NullUTCTimestampNanos());
690  }
691 
692  /// Minimal size of message body in bytes.
695  static
698  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
700  {
701  return
702  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
703  12;
704  }
705 
706  /// Size of message body in bytes.
709  static
712  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
714  {
715  return
716  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
717  minimalBlockLength(version);
718  }
719 
720  /// Minimal variable fields size (when variable-length fields are empty).
722  ONIXS_B3_UMDF_MD_NODISCARD
724  static
727  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
728  {
729  return
730  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
731  0;
732  }
733 
734  /// \return class name.
736  ONIXS_B3_UMDF_MD_NODISCARD
738  static const Char* className()
739  {
740  return "ChannelReset_11";
741  }
742 
743  /// FIX message type.
745  ONIXS_B3_UMDF_MD_NODISCARD
747  static StrRef fixType()
749  {
750  return constructStrRef("ChannelReset_11");
751  }
752 
753  /// \return a human-readable presentation.
754  ONIXS_B3_UMDF_MD_NODISCARD
755  std::string toString() const;
756 
757 private:
758  void checkLength(
759  EncodedLength length, SchemaVersion version) const
760  {
761  const EncodedLength minimalRequiredLength =
762  minimalBlockLength(version) +
763  MessageHeader::Size +
764  getMinimalVariableFieldsSize(version);
765 
766  checkBinaryLength(
767  *this, length, minimalRequiredLength);
768  }
769 
770  void checkCompatibility() const
771  {
772  assert(TemplateId == templateId());
773 
774  checkSchema<Schema>(schemaId(), version());
775  checkLength(bufferSize(), version());
776  }
777 };
778 
779 /// Trading status for instruments.
782 : SbeMessage
783 {
784  /// Used template schema.
786 
787  /// Message template ID from SBE schema.
788  enum { TemplateId = 3 };
789 
790  /// Initializes a blank instance.
792 
793  /// Creates an instance over the given memory block.
795  void* data,
796  EncodedLength length,
797  NoInit)
798  : SbeMessage(data, length)
799  {
800  checkCompatibility();
801  }
802 
803  /// Creates an instance over the given SBE message.
804  explicit
806  const SbeMessage& message)
807  : SbeMessage(message)
808  {
809  assert(message.valid());
810 
811  checkCompatibility();
812  }
813 
814  /// Creates an instance over the given memory block.
815  /// Performs no checks.
817  void* data,
818  EncodedLength length,
819  NoInit,
820  NoCheck)
822  : SbeMessage(data, length, NoCheck())
823  {
824  assert(schemaId() == Schema::Id);
825  assert(version() >= Schema::MinimalVersion);
826  assert(TemplateId == templateId());
827  }
828 
829  /// FIX Message Type.
834  {
835  return MessageType::SecurityStatus;
836  }
837 
838  /// Specifies the service pack release being applied at
839  /// message level.
844  {
845  return ApplVerID::FIX50SP2;
846  }
847 
848  /// Security ID as defined by B3. For the SecurityID list, see
849  /// the Security Definition message in Market Data feed.
850  ONIXS_B3_UMDF_MD_NODISCARD
853  {
855 
856  return ordinary<SecurityID>(offset);
857  }
858 
859  /// Identifies the class of the SecurityID (Exchange Symbol).
864  {
865  return SecurityIDSource::EXCHANGE_SYMBOL;
866  }
867 
868  /// Market to which the symbol belongs.
870  ONIXS_B3_UMDF_MD_NODISCARD
874  {
875  return constructStrRef("BVMF");
876  }
877 
878  /// Identifies the end of the current event and if it is a
879  /// retransmission.
880  ONIXS_B3_UMDF_MD_NODISCARD
883  {
885 
886  return ordinary<MatchEventIndicator>(offset);
887  }
888 
889  /// Identifier for trading session.
890  ONIXS_B3_UMDF_MD_NODISCARD
893  {
895 
896  return enumeration<TradingSessionID>(offset);
897  }
898 
899  /// Status related to a given instrument.
900  ONIXS_B3_UMDF_MD_NODISCARD
904  {
906 
907  return enumeration<SecurityTradingStatus>(offset);
908  }
909 
910  /// Identifies an event related to a Trading. This tag is also
911  /// used to mark when an instrument state is kept separate
912  /// from the group phase, or when the instrument state follows
913  /// the default group phase (stops having a separate, defined
914  /// state). Always sent when tag 48 is present.
915  ONIXS_B3_UMDF_MD_NODISCARD
916  bool
918  SecurityTradingEvent::Enum& value) const
920  {
922 
923  return enumeration<SecurityTradingEvent>(value, offset, NullUInt8());
924  }
925 
926  /// Used to specify the trading date for which a set of market
927  /// data applies.
928  ONIXS_B3_UMDF_MD_NODISCARD
931  {
933 
934  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
935  }
936 
937  /// Estimated end of the current auction. Only present when
938  /// SecurityTradingStatus=21 (Pre-open/Reserved).
939  ONIXS_B3_UMDF_MD_NODISCARD
942  {
944 
945  return ordinary(value, offset, NullUTCTimestampNanos());
946  }
947 
948  /// Timestamp when the business transaction represented by the
949  /// message occurred.
950  ONIXS_B3_UMDF_MD_NODISCARD
951  bool transactTime(UTCTimestampNanos& value) const
953  {
955 
956  return ordinary(value, offset, NullUTCTimestampNanos());
957  }
958 
959  /// Sequence number per instrument update. (Zeroed in snapshot
960  /// feed).
961  ONIXS_B3_UMDF_MD_NODISCARD
962  bool rptSeq(RptSeq& value) const
964  {
966 
967  return ordinary(value, offset, NullRptSeq());
968  }
969 
970  /// Minimal size of message body in bytes.
973  static
976  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
978  {
979  return
980  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
981  36;
982  }
983 
984  /// Size of message body in bytes.
987  static
990  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
992  {
993  return
994  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
995  minimalBlockLength(version);
996  }
997 
998  /// Minimal variable fields size (when variable-length fields are empty).
1000  ONIXS_B3_UMDF_MD_NODISCARD
1002  static
1003  MessageSize
1005  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
1006  {
1007  return
1008  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1009  0;
1010  }
1011 
1012  /// \return class name.
1014  ONIXS_B3_UMDF_MD_NODISCARD
1016  static const Char* className()
1017  {
1018  return "SecurityStatus_3";
1019  }
1020 
1021  /// FIX message type.
1023  ONIXS_B3_UMDF_MD_NODISCARD
1025  static StrRef fixType()
1027  {
1028  return constructStrRef("SecurityStatus_3");
1029  }
1030 
1031  /// \return a human-readable presentation.
1032  ONIXS_B3_UMDF_MD_NODISCARD
1033  std::string toString() const;
1034 
1035 private:
1036  void checkLength(
1037  EncodedLength length, SchemaVersion version) const
1038  {
1039  const EncodedLength minimalRequiredLength =
1040  minimalBlockLength(version) +
1041  MessageHeader::Size +
1042  getMinimalVariableFieldsSize(version);
1043 
1044  checkBinaryLength(
1045  *this, length, minimalRequiredLength);
1046  }
1047 
1048  void checkCompatibility() const
1049  {
1050  assert(TemplateId == templateId());
1051 
1052  checkSchema<Schema>(schemaId(), version());
1053  checkLength(bufferSize(), version());
1054  }
1055 };
1056 
1057 /// Trading status for security groups.
1060 : SbeMessage
1061 {
1062  /// Used template schema.
1064 
1065  /// Message template ID from SBE schema.
1066  enum { TemplateId = 10 };
1067 
1068  /// Initializes a blank instance.
1070 
1071  /// Creates an instance over the given memory block.
1073  void* data,
1074  EncodedLength length,
1075  NoInit)
1076  : SbeMessage(data, length)
1077  {
1078  checkCompatibility();
1079  }
1080 
1081  /// Creates an instance over the given SBE message.
1082  explicit
1084  const SbeMessage& message)
1085  : SbeMessage(message)
1086  {
1087  assert(message.valid());
1088 
1089  checkCompatibility();
1090  }
1091 
1092  /// Creates an instance over the given memory block.
1093  /// Performs no checks.
1095  void* data,
1096  EncodedLength length,
1097  NoInit,
1098  NoCheck)
1100  : SbeMessage(data, length, NoCheck())
1101  {
1102  assert(schemaId() == Schema::Id);
1103  assert(version() >= Schema::MinimalVersion);
1104  assert(TemplateId == templateId());
1105  }
1106 
1107  /// FIX Message Type.
1112  {
1113  return MessageType::SecurityStatus;
1114  }
1115 
1116  /// Specifies the service pack release being applied at
1117  /// message level.
1122  {
1123  return ApplVerID::FIX50SP2;
1124  }
1125 
1126  /// Security Group.
1127  ONIXS_B3_UMDF_MD_NODISCARD
1130  {
1133 
1134  return fixedStr<length>(offset);
1135  }
1136 
1137  /// Identifies the end of the current event and if it is a
1138  /// retransmission.
1139  ONIXS_B3_UMDF_MD_NODISCARD
1142  {
1144 
1145  return ordinary<MatchEventIndicator>(offset);
1146  }
1147 
1148  /// Identifier for trading session.
1149  ONIXS_B3_UMDF_MD_NODISCARD
1152  {
1154 
1155  return enumeration<TradingSessionID>(offset);
1156  }
1157 
1158  /// Phase related to a given SecurityGroup.
1159  ONIXS_B3_UMDF_MD_NODISCARD
1163  {
1165 
1166  return enumeration<TradingSessionSubID>(offset);
1167  }
1168 
1169  /// Indicates if the trading session changed in order to reset
1170  /// some statistics for this group.
1171  ONIXS_B3_UMDF_MD_NODISCARD
1172  bool
1174  SecurityTradingEvent::Enum& value) const
1176  {
1178 
1179  return enumeration<SecurityTradingEvent>(value, offset, NullUInt8());
1180  }
1181 
1182  /// Used to specify the trading date for which a set of market
1183  /// data applies.
1184  ONIXS_B3_UMDF_MD_NODISCARD
1187  {
1189 
1190  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
1191  }
1192 
1193  /// Estimated end of the current auction. Only present when
1194  /// TradingSessionSubID=21 (Pre-open/Reserved).
1195  ONIXS_B3_UMDF_MD_NODISCARD
1198  {
1200 
1201  return ordinary(value, offset, NullUTCTimestampNanos());
1202  }
1203 
1204  /// Timestamp when the business transaction represented by the
1205  /// message occurred.
1206  ONIXS_B3_UMDF_MD_NODISCARD
1207  bool transactTime(UTCTimestampNanos& value) const
1209  {
1211 
1212  return ordinary(value, offset, NullUTCTimestampNanos());
1213  }
1214 
1215  /// Minimal size of message body in bytes.
1218  static
1219  BlockLength
1221  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
1223  {
1224  return
1225  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1226  32;
1227  }
1228 
1229  /// Size of message body in bytes.
1232  static
1233  BlockLength
1235  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
1237  {
1238  return
1239  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1240  minimalBlockLength(version);
1241  }
1242 
1243  /// Minimal variable fields size (when variable-length fields are empty).
1245  ONIXS_B3_UMDF_MD_NODISCARD
1247  static
1248  MessageSize
1250  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
1251  {
1252  return
1253  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1254  0;
1255  }
1256 
1257  /// \return class name.
1259  ONIXS_B3_UMDF_MD_NODISCARD
1261  static const Char* className()
1262  {
1263  return "SecurityGroupPhase_10";
1264  }
1265 
1266  /// FIX message type.
1268  ONIXS_B3_UMDF_MD_NODISCARD
1270  static StrRef fixType()
1272  {
1273  return constructStrRef("SecurityGroupPhase_10");
1274  }
1275 
1276  /// \return a human-readable presentation.
1277  ONIXS_B3_UMDF_MD_NODISCARD
1278  std::string toString() const;
1279 
1280 private:
1281  void checkLength(
1282  EncodedLength length, SchemaVersion version) const
1283  {
1284  const EncodedLength minimalRequiredLength =
1285  minimalBlockLength(version) +
1286  MessageHeader::Size +
1287  getMinimalVariableFieldsSize(version);
1288 
1289  checkBinaryLength(
1290  *this, length, minimalRequiredLength);
1291  }
1292 
1293  void checkCompatibility() const
1294  {
1295  assert(TemplateId == templateId());
1296 
1297  checkSchema<Schema>(schemaId(), version());
1298  checkLength(bufferSize(), version());
1299  }
1300 };
1301 
1302 /// Security Definition..
1305 : SbeMessage
1306 {
1307  /// Used template schema.
1309 
1310  /// Message template ID from SBE schema.
1311  enum { TemplateId = 12 };
1312 
1313  /// Underlying instruments.
1314  /// Entry of UnderlyingsEntry repeating group.
1317  <
1319  >
1320  {
1321  /// Base class type.
1322  typedef
1324  <
1326  >
1328 
1329  /// Initializes instance of given
1330  /// version over given memory block.
1332  const void* data,
1333  EncodedLength length,
1334  SchemaVersion version)
1335  : Base(data, numericCast<Base::BlockLength>(length), version)
1336  {
1337  assert(version >= Schema::MinimalVersion);
1338  assert(length >= minimalBlockLength(version));
1339  }
1340 
1341  /// Underlying instrument's security ID.
1342  ONIXS_B3_UMDF_MD_NODISCARD
1345  {
1347 
1348  return ordinary<SecurityID>(offset);
1349  }
1350 
1351  /// Identifies the class of the underlying instrument's
1352  /// SecurityID (Exchange Symbol).
1357  {
1358  return SecurityIDSource::EXCHANGE_SYMBOL;
1359  }
1360 
1361  /// Underlying instrument's Exchange Code.
1363  ONIXS_B3_UMDF_MD_NODISCARD
1367  {
1368  return constructStrRef("BVMF");
1369  }
1370 
1371  /// Underlying instrument's ticker symbol.
1372  ONIXS_B3_UMDF_MD_NODISCARD
1375  {
1378 
1379  return fixedStr<length>(offset);
1380  }
1381 
1382  /// \return size of entry body in bytes
1383  /// for given version of message template.
1388  {
1389  return
1390  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1391  minimalBlockLength(version);
1392  }
1393 
1394  /// \return minimal size of entry body in bytes
1395  /// for given version of message template.
1398  static
1399  BlockLength
1401  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
1403  {
1404  return
1405  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1406  28;
1407  }
1408 
1409  /// Entity class name.
1411  ONIXS_B3_UMDF_MD_NODISCARD
1413  static const Char* className()
1414  {
1415  return "SecurityDefinition_12.UnderlyingsEntry";
1416  }
1417  };
1418 
1419  /// Repeating group containing UnderlyingsEntry entries.
1420  typedef
1423 
1424  /// Instrument legs.
1425  /// Entry of LegsEntry repeating group.
1428  <
1430  >
1431  {
1432  /// Base class type.
1433  typedef
1435  <
1437  >
1439 
1440  /// Initializes instance of given
1441  /// version over given memory block.
1443  const void* data,
1444  EncodedLength length,
1445  SchemaVersion version)
1446  : Base(data, numericCast<Base::BlockLength>(length), version)
1447  {
1448  assert(version >= Schema::MinimalVersion);
1449  assert(length >= minimalBlockLength(version));
1450  }
1451 
1452  /// Leg's security ID.
1453  ONIXS_B3_UMDF_MD_NODISCARD
1456  {
1458 
1459  return ordinary<SecurityID>(offset);
1460  }
1461 
1462  /// Identifies the class of the leg instrument's SecurityID
1463  /// (Exchange Symbol).
1468  {
1469  return SecurityIDSource::EXCHANGE_SYMBOL;
1470  }
1471 
1472  /// Leg's Exchange Code.
1474  ONIXS_B3_UMDF_MD_NODISCARD
1478  {
1479  return constructStrRef("BVMF");
1480  }
1481 
1482  /// Ratio of quantity for this leg relative to the entire
1483  /// security.
1484  ONIXS_B3_UMDF_MD_NODISCARD
1485  bool legRatioQty(RatioQty& value) const
1487  {
1489 
1490  return decimal(value, offset, NullRatioQty());
1491  }
1492 
1493  /// Leg's security type.
1494  ONIXS_B3_UMDF_MD_NODISCARD
1497  {
1499 
1500  return enumeration<SecurityType>(offset);
1501  }
1502 
1503  /// Side of this leg.
1504  ONIXS_B3_UMDF_MD_NODISCARD
1507  {
1509 
1510  return enumeration<Side>(offset);
1511  }
1512 
1513  /// Leg symbol.
1514  ONIXS_B3_UMDF_MD_NODISCARD
1517  {
1520 
1521  return fixedStr<length>(offset);
1522  }
1523 
1524  /// \return size of entry body in bytes
1525  /// for given version of message template.
1530  {
1531  return
1532  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1533  minimalBlockLength(version);
1534  }
1535 
1536  /// \return minimal size of entry body in bytes
1537  /// for given version of message template.
1540  static
1541  BlockLength
1543  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
1545  {
1546  return
1547  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1548  38;
1549  }
1550 
1551  /// Entity class name.
1553  ONIXS_B3_UMDF_MD_NODISCARD
1555  static const Char* className()
1556  {
1557  return "SecurityDefinition_12.LegsEntry";
1558  }
1559  };
1560 
1561  /// Repeating group containing LegsEntry entries.
1562  typedef
1565 
1566  /// Specifies the number of the application ID occurrences
1567  /// (number of channels).
1568  /// Entry of InstrAttribsEntry repeating group.
1571  <
1573  >
1574  {
1575  /// Base class type.
1576  typedef
1578  <
1580  >
1582 
1583  /// Initializes instance of given
1584  /// version over given memory block.
1586  const void* data,
1587  EncodedLength length,
1588  SchemaVersion version)
1589  : Base(data, numericCast<Base::BlockLength>(length), version)
1590  {
1591  assert(version >= Schema::MinimalVersion);
1592  assert(length >= minimalBlockLength(version));
1593  }
1594 
1595  /// Code to represent the type of instrument attributes.
1596  ONIXS_B3_UMDF_MD_NODISCARD
1599  {
1601 
1602  return enumeration<InstrAttribType>(offset);
1603  }
1604 
1605  /// Attribute value appropriate to the InstrAttribType (871)
1606  /// field.
1607  ONIXS_B3_UMDF_MD_NODISCARD
1610  {
1612 
1613  return enumeration<InstrAttribValue>(offset);
1614  }
1615 
1616  /// \return size of entry body in bytes
1617  /// for given version of message template.
1622  {
1623  return
1624  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1625  minimalBlockLength(version);
1626  }
1627 
1628  /// \return minimal size of entry body in bytes
1629  /// for given version of message template.
1632  static
1633  BlockLength
1635  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
1637  {
1638  return
1639  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
1640  2;
1641  }
1642 
1643  /// Entity class name.
1645  ONIXS_B3_UMDF_MD_NODISCARD
1647  static const Char* className()
1648  {
1649  return "SecurityDefinition_12.InstrAttribsEntry";
1650  }
1651  };
1652 
1653  /// Repeating group containing InstrAttribsEntry entries.
1654  typedef
1657 
1658  /// Initializes a blank instance.
1660 
1661  /// Creates an instance over the given memory block.
1663  void* data,
1664  EncodedLength length,
1665  NoInit)
1666  : SbeMessage(data, length)
1667  {
1668  checkCompatibility();
1669  }
1670 
1671  /// Creates an instance over the given SBE message.
1672  explicit
1674  const SbeMessage& message)
1675  : SbeMessage(message)
1676  {
1677  assert(message.valid());
1678 
1679  checkCompatibility();
1680  }
1681 
1682  /// Creates an instance over the given memory block.
1683  /// Performs no checks.
1685  void* data,
1686  EncodedLength length,
1687  NoInit,
1688  NoCheck)
1690  : SbeMessage(data, length, NoCheck())
1691  {
1692  assert(schemaId() == Schema::Id);
1693  assert(version() >= Schema::MinimalVersion);
1694  assert(TemplateId == templateId());
1695  }
1696 
1697  /// FIX Message Type.
1702  {
1703  return MessageType::SecurityDefinition;
1704  }
1705 
1706  /// Specifies the service pack release being applied at
1707  /// message level.
1712  {
1713  return ApplVerID::FIX50SP2;
1714  }
1715 
1716  /// Security ID as defined by B3.
1717  ONIXS_B3_UMDF_MD_NODISCARD
1720  {
1722 
1723  return ordinary<SecurityID>(offset);
1724  }
1725 
1726  /// Exchange Code.
1727  ONIXS_B3_UMDF_MD_NODISCARD
1730  {
1733 
1734  return fixedStr<length>(offset);
1735  }
1736 
1737  /// Identifies the class of the SecurityID.
1738  ONIXS_B3_UMDF_MD_NODISCARD
1741  {
1743 
1744  return enumeration<SecurityIDSource>(offset);
1745  }
1746 
1747  /// Security Group.
1748  ONIXS_B3_UMDF_MD_NODISCARD
1751  {
1754 
1755  return fixedStr<length>(offset);
1756  }
1757 
1758  /// Instrument's ticker symbol.
1759  ONIXS_B3_UMDF_MD_NODISCARD
1760  StrRef symbol() const
1762  {
1765 
1766  return fixedStr<length>(offset);
1767  }
1768 
1769  /// Action used when updating the security.
1770  ONIXS_B3_UMDF_MD_NODISCARD
1774  {
1776 
1777  return enumeration<SecurityUpdateAction>(offset);
1778  }
1779 
1780  /// Instrument's security type.
1781  ONIXS_B3_UMDF_MD_NODISCARD
1784  {
1786 
1787  return enumeration<SecurityType>(offset);
1788  }
1789 
1790  /// Instrument's security sub type. List of values defined at
1791  /// Message Reference document.
1792  ONIXS_B3_UMDF_MD_NODISCARD
1795  {
1797 
1798  return ordinary<UInt16>(offset);
1799  }
1800 
1801  /// Total number of instruments to be returned in the current
1802  /// replay loop.
1803  ONIXS_B3_UMDF_MD_NODISCARD
1806  {
1808 
1809  return ordinary<UInt32>(offset);
1810  }
1811 
1812  /// Number of minimum price increments.
1813  ONIXS_B3_UMDF_MD_NODISCARD
1814  bool minPriceIncrement(Fixed8& value) const
1816  {
1818 
1819  return decimal(value, offset, NullFixed8());
1820  }
1821 
1822  /// Strike price of an option.
1823  ONIXS_B3_UMDF_MD_NODISCARD
1824  bool strikePrice(PriceOptional& value) const
1826  {
1828 
1829  return decimal(value, offset, NullPriceOptional());
1830  }
1831 
1832  /// Specifies the ratio or multiply factor to convert from
1833  /// “nominal” units (e.g. contracts) to total units (e.g.
1834  /// shares) (e.g. 1.0, 100, 1000, 0.00025 etc).
1835  ONIXS_B3_UMDF_MD_NODISCARD
1836  bool contractMultiplier(Fixed8& value) const
1838  {
1840 
1841  return decimal(value, offset, NullFixed8());
1842  }
1843 
1844  /// Value that divides the Price field to produce the actual
1845  /// order price (based on Step of Quotation). (e.g. 1, 100,
1846  /// 1000, etc). Default value is 1. Also used for index
1847  /// instruments to disseminate the index reducer, in this
1848  /// case, there is no default value.
1849  ONIXS_B3_UMDF_MD_NODISCARD
1850  bool priceDivisor(Fixed8& value) const
1852  {
1854 
1855  return decimal(value, offset, NullFixed8());
1856  }
1857 
1858  /// Indicates the UTC timestamp when trading for this security
1859  /// expires, i.e. when it is not eligible to trade anymore.
1860  /// Different from MaturityDate.
1861  ONIXS_B3_UMDF_MD_NODISCARD
1862  bool
1864  UTCTimestampSeconds& value) const
1866  {
1868 
1869  return ordinary(value, offset, NullUTCTimestampSeconds());
1870  }
1871 
1872  /// Share capital.
1873  ONIXS_B3_UMDF_MD_NODISCARD
1874  bool sharesIssued(UInt64NULL& value) const
1876  {
1878 
1879  return ordinary(value, offset, NullUInt64NULL());
1880  }
1881 
1882  /// Clearing House ID.
1883  ONIXS_B3_UMDF_MD_NODISCARD
1886  {
1888 
1889  return ordinary(value, offset, NullClearingHouseID());
1890  }
1891 
1892  /// Minimum quantity for an order.
1893  ONIXS_B3_UMDF_MD_NODISCARD
1894  bool minOrderQty(QuantityOptional& value) const
1896  {
1898 
1899  return ordinary(value, offset, NullQuantityOptional());
1900  }
1901 
1902  /// Maximum quantity for an order.
1903  ONIXS_B3_UMDF_MD_NODISCARD
1904  bool maxOrderQty(QuantityOptional& value) const
1906  {
1908 
1909  return ordinary(value, offset, NullQuantityOptional());
1910  }
1911 
1912  /// Minimum lot size allowed based on lot type specified in
1913  /// LotType(1093). Used for the equities segment.
1914  ONIXS_B3_UMDF_MD_NODISCARD
1915  bool minLotSize(QuantityOptional& value) const
1917  {
1919 
1920  return ordinary(value, offset, NullQuantityOptional());
1921  }
1922 
1923  /// The minimum trading volume for the security.
1924  ONIXS_B3_UMDF_MD_NODISCARD
1925  bool minTradeVol(QuantityOptional& value) const
1927  {
1929 
1930  return ordinary(value, offset, NullQuantityOptional());
1931  }
1932 
1933  /// Corporate Action Event ID.
1934  ONIXS_B3_UMDF_MD_NODISCARD
1937  {
1939 
1940  return ordinary(value, offset, NullUInt32NULL());
1941  }
1942 
1943  /// The date on which the security is issued/activated.
1944  ONIXS_B3_UMDF_MD_NODISCARD
1947  {
1949 
1950  return localMktDateToTimestamp(ordinary<LocalMktDate32>(offset));
1951  }
1952 
1953  /// Date of instrument maturity.
1954  ONIXS_B3_UMDF_MD_NODISCARD
1955  bool maturityDate(Timestamp& value) const
1957  {
1958  typedef LocalMktDate32Optional FieldValue;
1959 
1961 
1962  FieldValue fieldValue;
1963 
1964  if (ordinary(fieldValue, offset, NullLocalMktDate32Optional()))
1965  {
1966  value = localMktDateToTimestamp(fieldValue);
1967  return true;
1968  }
1969  return false;
1970  }
1971 
1972  /// ISO 3166-1 alpha-2 country code.
1973  ONIXS_B3_UMDF_MD_NODISCARD
1974  bool countryOfIssue(StrRef& value) const
1976  {
1979 
1980  return fixedStr<length>(value, offset);
1981  }
1982 
1983  /// Start date of a financing deal, i.e. the date the buyer
1984  /// pays the seller cash and takes control of the collateral.
1985  ONIXS_B3_UMDF_MD_NODISCARD
1986  bool startDate(Timestamp& value) const
1988  {
1989  typedef LocalMktDate32Optional FieldValue;
1990 
1992 
1993  FieldValue fieldValue;
1994 
1995  if (ordinary(fieldValue, offset, NullLocalMktDate32Optional()))
1996  {
1997  value = localMktDateToTimestamp(fieldValue);
1998  return true;
1999  }
2000  return false;
2001  }
2002 
2003  /// End date of a financing deal, i.e. the date the seller
2004  /// reimburses the buyer and takes back control of the
2005  /// collateral.
2006  ONIXS_B3_UMDF_MD_NODISCARD
2007  bool endDate(Timestamp& value) const
2009  {
2010  typedef LocalMktDate32Optional FieldValue;
2011 
2013 
2014  FieldValue fieldValue;
2015 
2016  if (ordinary(fieldValue, offset, NullLocalMktDate32Optional()))
2017  {
2018  value = localMktDateToTimestamp(fieldValue);
2019  return true;
2020  }
2021  return false;
2022  }
2023 
2024  /// Order settlement period in days.
2025  ONIXS_B3_UMDF_MD_NODISCARD
2026  bool settlType(SettlType& value) const
2028  {
2030 
2031  return ordinary(value, offset, NullSettlType());
2032  }
2033 
2034  /// Specific date of trade settlement.
2035  ONIXS_B3_UMDF_MD_NODISCARD
2036  bool settlDate(Timestamp& value) const
2038  {
2039  typedef LocalMktDate32Optional FieldValue;
2040 
2042 
2043  FieldValue fieldValue;
2044 
2045  if (ordinary(fieldValue, offset, NullLocalMktDate32Optional()))
2046  {
2047  value = localMktDateToTimestamp(fieldValue);
2048  return true;
2049  }
2050  return false;
2051  }
2052 
2053  /// The date of the security activation, if different from the
2054  /// IssueDate.
2055  ONIXS_B3_UMDF_MD_NODISCARD
2056  bool datedDate(Timestamp& value) const
2058  {
2059  typedef LocalMktDate32Optional FieldValue;
2060 
2062 
2063  FieldValue fieldValue;
2064 
2065  if (ordinary(fieldValue, offset, NullLocalMktDate32Optional()))
2066  {
2067  value = localMktDateToTimestamp(fieldValue);
2068  return true;
2069  }
2070  return false;
2071  }
2072 
2073  /// ISIN Number.
2074  ONIXS_B3_UMDF_MD_NODISCARD
2075  bool isinNumber(StrRef& value) const
2077  {
2080 
2081  return fixedStr<length>(value, offset);
2082  }
2083 
2084  /// Asset associated to the security.
2085  ONIXS_B3_UMDF_MD_NODISCARD
2086  StrRef asset() const
2088  {
2091 
2092  return fixedStr<length>(offset);
2093  }
2094 
2095  /// Classification of Financial Instruments (CFI code) values,
2096  /// which indicate the type of security using the ISO 10962
2097  /// standard.
2098  ONIXS_B3_UMDF_MD_NODISCARD
2099  StrRef cfiCode() const
2101  {
2104 
2105  return fixedStr<length>(offset);
2106  }
2107 
2108  /// Month and year of the maturity.
2109  ONIXS_B3_UMDF_MD_NODISCARD
2112  {
2114 
2115  return ordinary(value, offset, NullMaturityMonthYear());
2116  }
2117 
2118  /// Specifies when the contract will settle.
2119  ONIXS_B3_UMDF_MD_NODISCARD
2122  {
2124 
2125  return ordinary(value, offset, NullMaturityMonthYear());
2126  }
2127 
2128  /// Currency code.
2129  ONIXS_B3_UMDF_MD_NODISCARD
2132  {
2135 
2136  return fixedStr<length>(offset);
2137  }
2138 
2139  /// Currency of option's strike price.
2140  ONIXS_B3_UMDF_MD_NODISCARD
2141  bool strikeCurrency(StrRef& value) const
2143  {
2146 
2147  return fixedStr<length>(value, offset);
2148  }
2149 
2150  /// Currency used for the settlement.
2151  ONIXS_B3_UMDF_MD_NODISCARD
2152  bool settlCurrency(StrRef& value) const
2154  {
2157 
2158  return fixedStr<length>(value, offset);
2159  }
2160 
2161  /// Strategy type definition.
2162  ONIXS_B3_UMDF_MD_NODISCARD
2163  bool securityStrategyType(StrRef& value) const
2165  {
2168 
2169  return fixedStr<length>(value, offset);
2170  }
2171 
2172  /// Lot type.
2173  ONIXS_B3_UMDF_MD_NODISCARD
2174  bool lotType(LotType::Enum& value) const
2176  {
2178 
2179  return enumeration<LotType>(value, offset, NullUInt8());
2180  }
2181 
2182  /// Number of decimals for pricing the instrument.
2183  ONIXS_B3_UMDF_MD_NODISCARD
2184  bool tickSizeDenominator(UInt8& value) const
2186  {
2188 
2189  return ordinary(value, offset, NullUInt8());
2190  }
2191 
2192  /// Type of product.
2193  ONIXS_B3_UMDF_MD_NODISCARD
2196  {
2198 
2199  return enumeration<Product>(offset);
2200  }
2201 
2202  /// Exercise Style.
2203  ONIXS_B3_UMDF_MD_NODISCARD
2204  bool
2206  ExerciseStyle::Enum& value) const
2208  {
2210 
2211  return enumeration<ExerciseStyle>(value, offset, NullUInt8());
2212  }
2213 
2214  /// Indicates whether an option contract is a put or call.
2215  ONIXS_B3_UMDF_MD_NODISCARD
2216  bool putOrCall(PutOrCall::Enum& value) const
2218  {
2220 
2221  return enumeration<PutOrCall>(value, offset, NullUInt8());
2222  }
2223 
2224  /// Price type of the instrument.
2225  ONIXS_B3_UMDF_MD_NODISCARD
2226  bool priceType(PriceType::Enum& value) const
2228  {
2230 
2231  return enumeration<PriceType>(value, offset, NullUInt8NULL());
2232  }
2233 
2234  /// Market segment.
2235  ONIXS_B3_UMDF_MD_NODISCARD
2238  {
2240 
2241  return ordinary(value, offset, NullMarketSegmentID());
2242  }
2243 
2244  /// Corporative Governance Level Indicator.
2245  ONIXS_B3_UMDF_MD_NODISCARD
2246  bool
2248  GovernanceIndicator::Enum& value) const
2250  {
2252 
2253  return enumeration<GovernanceIndicator>(value, offset, NullUInt8());
2254  }
2255 
2256  /// Type of matching that occurred.
2257  ONIXS_B3_UMDF_MD_NODISCARD
2258  bool
2260  SecurityMatchType::Enum& value) const
2262  {
2264 
2265  return enumeration<SecurityMatchType>(value, offset, NullUInt8());
2266  }
2267 
2268  /// Indicates whether this message is the last in the sequence
2269  /// of messages.
2270  ONIXS_B3_UMDF_MD_NODISCARD
2271  bool lastFragment(Boolean::Enum& value) const
2273  {
2275 
2276  return enumeration<Boolean>(value, offset, NullUInt8());
2277  }
2278 
2279  /// Defines whether the security is pre-defined or user-
2280  /// defined. Used for multileg security only.
2281  ONIXS_B3_UMDF_MD_NODISCARD
2282  bool
2284  MultiLegModel::Enum& value) const
2286  {
2288 
2289  return enumeration<MultiLegModel>(value, offset, NullUInt8());
2290  }
2291 
2292  /// Defines the method used when applying the multileg price
2293  /// to the legs. When this tag is set, it indicates spreads
2294  /// that have leg prices generated by the trading engine.
2295  ONIXS_B3_UMDF_MD_NODISCARD
2296  bool
2298  MultiLegPriceMethod::Enum& value) const
2300  {
2302 
2303  return enumeration<MultiLegPriceMethod>(value, offset, NullUInt8());
2304  }
2305 
2306  /// Minimum quantity of a cross order for the security.
2307  ONIXS_B3_UMDF_MD_NODISCARD
2308  bool minCrossQty(QuantityOptional& value) const
2310  {
2312 
2313  return ordinary(value, offset, NullQuantityOptional());
2314  }
2315 
2316  /// \return instance of Underlyings repeating group.
2317  ONIXS_B3_UMDF_MD_NODISCARD
2320  {
2321  return getGroup<Underlyings>(
2322  UnderlyingsAccess(),
2323  *this);
2324  }
2325 
2326  /// \return instance of Legs repeating group.
2327  ONIXS_B3_UMDF_MD_NODISCARD
2328  Legs legs() const
2330  {
2331  return getGroup<Legs>(LegsAccess(), *this);
2332  }
2333 
2334  /// \return instance of InstrAttribs repeating group.
2335  ONIXS_B3_UMDF_MD_NODISCARD
2338  {
2339  return getGroup<InstrAttribs>(
2340  InstrAttribsAccess(),
2341  *this);
2342  }
2343 
2344  /// Non-normative textual description for the financial instrument.
2345  ONIXS_B3_UMDF_MD_NODISCARD
2348  {
2349  return getVariableLengthField(
2350  securityDescAccess(),
2351  *this);
2352  }
2353 
2354  /// Minimal size of message body in bytes.
2357  static
2358  BlockLength
2360  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
2362  {
2363  return
2364  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
2365  230;
2366  }
2367 
2368  /// Size of message body in bytes.
2373  {
2374  return
2375  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
2376  minimalBlockLength(version);
2377  }
2378 
2379  /// Minimal variable fields size (when variable-length fields are empty).
2381  ONIXS_B3_UMDF_MD_NODISCARD
2383  static
2384  MessageSize
2386  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
2387  {
2388  return
2389  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
2390  static_cast<MessageSize>(TextEncoding::Size) + static_cast<MessageSize>(Underlyings::EmptySize) + static_cast<MessageSize>(Legs::EmptySize) + static_cast<MessageSize>(InstrAttribs::EmptySize);
2391  }
2392 
2393  /// \return class name.
2395  ONIXS_B3_UMDF_MD_NODISCARD
2397  static const Char* className()
2398  {
2399  return "SecurityDefinition_12";
2400  }
2401 
2402  /// FIX message type.
2404  ONIXS_B3_UMDF_MD_NODISCARD
2406  static StrRef fixType()
2408  {
2409  return constructStrRef("SecurityDefinition_12");
2410  }
2411 
2412  /// \return a human-readable presentation.
2413  ONIXS_B3_UMDF_MD_NODISCARD
2414  std::string toString() const;
2415 
2416 private:
2417  void checkLength(
2418  EncodedLength length, SchemaVersion version) const
2419  {
2420  const EncodedLength minimalRequiredLength =
2421  minimalBlockLength(version) +
2422  MessageHeader::Size +
2423  getMinimalVariableFieldsSize(version);
2424 
2425  checkBinaryLength(
2426  *this, length, minimalRequiredLength);
2427  }
2428 
2429  /// Checks variable fields consistency.
2430  void checkVarLenFields() const
2431  {
2432  groups().
2433  tail<Underlyings>().
2434  tail<Legs>().
2435  checkVariableLengthFields<InstrAttribs>().
2436  checkTail<TextEncoding>();
2437  }
2438 
2439  void checkCompatibility() const
2440  {
2441  assert(TemplateId == templateId());
2442 
2443  checkSchema<Schema>(schemaId(), version());
2444  checkLength(bufferSize(), version());
2445  checkVarLenFields();
2446  }
2447 
2448  /// Access helper.
2449  struct UnderlyingsAccess
2450  {
2451  Underlyings
2452  operator()(
2453  const SecurityDefinition_12& obj) const
2455  {
2456  return obj.
2457  groups().
2458  head<Underlyings>();
2459  }
2460  };
2461 
2462  /// Access helper.
2463  struct LegsAccess
2464  {
2465  Legs
2466  operator()(
2467  const SecurityDefinition_12& obj) const
2469  {
2470  return obj.
2471  groups().
2472  tail<Underlyings>().
2473  head<Legs>();
2474  }
2475  };
2476 
2477  /// Access helper.
2478  struct InstrAttribsAccess
2479  {
2480  InstrAttribs
2481  operator()(
2482  const SecurityDefinition_12& obj) const
2484  {
2485  return obj.
2486  groups().
2487  tail<Underlyings>().
2488  tail<Legs>().
2489  head<InstrAttribs>();
2490  }
2491  };
2492 
2493  /// Access helper.
2494  struct securityDescAccess
2495  {
2496  TextEncoding&
2497  operator()(
2498  const SecurityDefinition_12& obj) const
2500  {
2501  return obj.
2502  groups().
2503  tail<Underlyings>().
2504  tail<Legs>().
2505  variableLengthFields<InstrAttribs>().
2506  head<TextEncoding>();
2507  }
2508  };
2509 };
2510 
2511 /// Conveys market information of B3 market surveillance notifications and news produced by agencies..
2513 News_5
2514 : SbeMessage
2515 {
2516  /// Used template schema.
2518 
2519  /// Message template ID from SBE schema.
2520  enum { TemplateId = 5 };
2521 
2522  /// Initializes a blank instance.
2524 
2525  /// Creates an instance over the given memory block.
2527  void* data,
2528  EncodedLength length,
2529  NoInit)
2530  : SbeMessage(data, length)
2531  {
2532  checkCompatibility();
2533  }
2534 
2535  /// Creates an instance over the given SBE message.
2536  explicit
2538  const SbeMessage& message)
2539  : SbeMessage(message)
2540  {
2541  assert(message.valid());
2542 
2543  checkCompatibility();
2544  }
2545 
2546  /// Creates an instance over the given memory block.
2547  /// Performs no checks.
2549  void* data,
2550  EncodedLength length,
2551  NoInit,
2552  NoCheck)
2554  : SbeMessage(data, length, NoCheck())
2555  {
2556  assert(schemaId() == Schema::Id);
2557  assert(version() >= Schema::MinimalVersion);
2558  assert(TemplateId == templateId());
2559  }
2560 
2561  /// FIX Message Type.
2566  {
2567  return MessageType::News;
2568  }
2569 
2570  /// Specifies the service pack release being applied at
2571  /// message level.
2576  {
2577  return ApplVerID::FIX50SP2;
2578  }
2579 
2580  /// Security ID as defined by B3. For the SecurityID list, see
2581  /// the Security Definition message in Market Data feed.
2582  ONIXS_B3_UMDF_MD_NODISCARD
2583  bool
2585  SecurityIDOptional& value) const
2587  {
2589 
2590  return ordinary(value, offset, NullSecurityIDOptional());
2591  }
2592 
2593  /// Identifies the class of the SecurityID (Exchange Symbol).
2598  {
2599  return SecurityIDSource::EXCHANGE_SYMBOL;
2600  }
2601 
2602  /// Market to which the symbol belongs.
2604  ONIXS_B3_UMDF_MD_NODISCARD
2608  {
2609  return constructStrRef("BVMF");
2610  }
2611 
2612  /// Identifies the end of the current event and if it is a
2613  /// retransmission.
2614  ONIXS_B3_UMDF_MD_NODISCARD
2617  {
2619 
2620  return ordinary<MatchEventIndicator>(offset);
2621  }
2622 
2623  /// Source of the News.
2624  ONIXS_B3_UMDF_MD_NODISCARD
2627  {
2629 
2630  return enumeration<NewsSource>(offset);
2631  }
2632 
2633  /// Indicates the language the news is in. If null, it's 'pt'
2634  /// = Portuguese.
2635  ONIXS_B3_UMDF_MD_NODISCARD
2636  bool languageCode(StrRef& value) const
2638  {
2641 
2642  return fixedStr<length>(value, offset);
2643  }
2644 
2645  /// Total number of parts for the text of a News message.
2646  /// Usually 1.
2647  ONIXS_B3_UMDF_MD_NODISCARD
2650  {
2652 
2653  return ordinary<UInt16>(offset);
2654  }
2655 
2656  /// Number of the part for this message. Starts from 1.
2657  ONIXS_B3_UMDF_MD_NODISCARD
2660  {
2662 
2663  return ordinary<UInt16>(offset);
2664  }
2665 
2666  /// Unique identifier for News message. Included in the News
2667  /// messages sent in the Unified News Channel. Not sent for
2668  /// trading engine News messages.
2669  ONIXS_B3_UMDF_MD_NODISCARD
2670  bool newsId(NewsID& value) const
2672  {
2674 
2675  return ordinary(value, offset, NullNewsID());
2676  }
2677 
2678  /// Time of message origination.
2679  ONIXS_B3_UMDF_MD_NODISCARD
2680  bool origTime(UTCTimestampNanos& value) const
2682  {
2684 
2685  return ordinary(value, offset, NullUTCTimestampNanos());
2686  }
2687 
2688  /// Total size, in bytes, for the text of a News message.
2689  ONIXS_B3_UMDF_MD_NODISCARD
2692  {
2694 
2695  return ordinary<UInt32>(offset);
2696  }
2697 
2698  /// The headline of a News message.
2699  ONIXS_B3_UMDF_MD_NODISCARD
2702  {
2703  return getVariableLengthField(headlineAccess(), *this);
2704  }
2705 
2706  /// Free format text string.
2707  ONIXS_B3_UMDF_MD_NODISCARD
2708  StrRef text() const
2710  {
2711  return getVariableLengthField(textAccess(), *this);
2712  }
2713 
2714  /// A URL (Uniform Resource Locator) link to additional information (e.g. http://www.b3.com.br).
2715  ONIXS_B3_UMDF_MD_NODISCARD
2716  StrRef uRLLink() const
2718  {
2719  return getVariableLengthField(uRLLinkAccess(), *this);
2720  }
2721 
2722  /// Minimal size of message body in bytes.
2725  static
2726  BlockLength
2728  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
2730  {
2731  return
2732  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
2733  36;
2734  }
2735 
2736  /// Size of message body in bytes.
2741  {
2742  return
2743  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
2744  minimalBlockLength(version);
2745  }
2746 
2747  /// Minimal variable fields size (when variable-length fields are empty).
2749  ONIXS_B3_UMDF_MD_NODISCARD
2751  static
2752  MessageSize
2754  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
2755  {
2756  return
2757  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
2758  static_cast<MessageSize>(VarString::Size) + static_cast<MessageSize>(VarString::Size) + static_cast<MessageSize>(VarString::Size);
2759  }
2760 
2761  /// \return class name.
2763  ONIXS_B3_UMDF_MD_NODISCARD
2765  static const Char* className()
2766  {
2767  return "News_5";
2768  }
2769 
2770  /// FIX message type.
2772  ONIXS_B3_UMDF_MD_NODISCARD
2774  static StrRef fixType()
2776  {
2777  return constructStrRef("B");
2778  }
2779 
2780  /// \return a human-readable presentation.
2781  ONIXS_B3_UMDF_MD_NODISCARD
2782  std::string toString() const;
2783 
2784 private:
2785  void checkLength(
2786  EncodedLength length, SchemaVersion version) const
2787  {
2788  const EncodedLength minimalRequiredLength =
2789  minimalBlockLength(version) +
2790  MessageHeader::Size +
2791  getMinimalVariableFieldsSize(version);
2792 
2793  checkBinaryLength(
2794  *this, length, minimalRequiredLength);
2795  }
2796 
2797  /// Checks variable fields consistency.
2798  void checkVarLenFields() const
2799  {
2800  variableLengthFields().
2801  checkTail<VarString>().
2802  checkTail<VarString>().
2803  checkTail<VarString>();
2804  }
2805 
2806  void checkCompatibility() const
2807  {
2808  assert(TemplateId == templateId());
2809 
2810  checkSchema<Schema>(schemaId(), version());
2811  checkLength(bufferSize(), version());
2812  checkVarLenFields();
2813  }
2814 
2815  /// Access helper.
2816  struct headlineAccess
2817  {
2818  VarString& operator()(const News_5& obj) const
2820  {
2821  return obj.
2822  variableLengthFields().
2823  head<VarString>();
2824  }
2825  };
2826 
2827  /// Access helper.
2828  struct textAccess
2829  {
2830  VarString& operator()(const News_5& obj) const
2832  {
2833  return obj.
2834  variableLengthFields().
2835  tail<VarString>().
2836  head<VarString>();
2837  }
2838  };
2839 
2840  /// Access helper.
2841  struct uRLLinkAccess
2842  {
2843  VarString& operator()(const News_5& obj) const
2845  {
2846  return obj.
2847  variableLengthFields().
2848  tail<VarString>().
2849  tail<VarString>().
2850  head<VarString>();
2851  }
2852  };
2853 };
2854 
2855 /// Carries the summary information about opening trading session events per market data stream..
2858 : SbeMessage
2859 {
2860  /// Used template schema.
2862 
2863  /// Message template ID from SBE schema.
2864  enum { TemplateId = 15 };
2865 
2866  /// Initializes a blank instance.
2868 
2869  /// Creates an instance over the given memory block.
2871  void* data,
2872  EncodedLength length,
2873  NoInit)
2874  : SbeMessage(data, length)
2875  {
2876  checkCompatibility();
2877  }
2878 
2879  /// Creates an instance over the given SBE message.
2880  explicit
2882  const SbeMessage& message)
2883  : SbeMessage(message)
2884  {
2885  assert(message.valid());
2886 
2887  checkCompatibility();
2888  }
2889 
2890  /// Creates an instance over the given memory block.
2891  /// Performs no checks.
2893  void* data,
2894  EncodedLength length,
2895  NoInit,
2896  NoCheck)
2898  : SbeMessage(data, length, NoCheck())
2899  {
2900  assert(schemaId() == Schema::Id);
2901  assert(version() >= Schema::MinimalVersion);
2902  assert(TemplateId == templateId());
2903  }
2904 
2905  /// FIX Message Type.
2910  {
2911  return MessageType::MarketDataIncrementalRefresh;
2912  }
2913 
2914  /// Specifies the service pack release being applied at
2915  /// message level.
2920  {
2921  return ApplVerID::FIX50SP2;
2922  }
2923 
2924  /// Security ID as defined by B3. For the SecurityID list, see
2925  /// the Security Definition message in Market Data feed.
2926  ONIXS_B3_UMDF_MD_NODISCARD
2929  {
2931 
2932  return ordinary<SecurityID>(offset);
2933  }
2934 
2935  /// Identifies the class of the SecurityID (Exchange Symbol).
2940  {
2941  return SecurityIDSource::EXCHANGE_SYMBOL;
2942  }
2943 
2944  /// Market to which the symbol belongs.
2946  ONIXS_B3_UMDF_MD_NODISCARD
2950  {
2951  return constructStrRef("BVMF");
2952  }
2953 
2954  /// Identifies the end of the current event and if it is a
2955  /// retransmission.
2956  ONIXS_B3_UMDF_MD_NODISCARD
2959  {
2961 
2962  return ordinary<MatchEventIndicator>(offset);
2963  }
2964 
2965  /// Update Action (NEW or DELETE).
2966  ONIXS_B3_UMDF_MD_NODISCARD
2969  {
2971 
2972  return enumeration<UpdateAction>(offset);
2973  }
2974 
2975  /// Entry type: Opening Price.
2980  {
2981  return EntryType::OPENING_PRICE;
2982  }
2983 
2984  /// Identifies if the opening price represents or not a daily
2985  /// opening price.
2986  ONIXS_B3_UMDF_MD_NODISCARD
2989  {
2991 
2992  return enumeration<OpenCloseSettlFlag>(offset);
2993  }
2994 
2995  /// Value of the statistics.
2996  ONIXS_B3_UMDF_MD_NODISCARD
2999  {
3001 
3002  return decimal<Price>(offset);
3003  }
3004 
3005  /// Net change from previous trading day’s closing price vs.
3006  /// last traded price.
3007  ONIXS_B3_UMDF_MD_NODISCARD
3008  bool
3010  PriceOffset8Optional& value) const
3012  {
3014 
3015  return decimal(value, offset, NullPriceOffset8Optional());
3016  }
3017 
3018  /// Used to specify the trading date for which a set of market
3019  /// data applies.
3020  ONIXS_B3_UMDF_MD_NODISCARD
3023  {
3025 
3026  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
3027  }
3028 
3029  /// Date and time of market data entry.
3030  ONIXS_B3_UMDF_MD_NODISCARD
3033  {
3035 
3036  return ordinary(value, offset, NullUTCTimestampNanos());
3037  }
3038 
3039  /// Sequence number per instrument update. Zeroed in snapshot
3040  /// feed.
3041  ONIXS_B3_UMDF_MD_NODISCARD
3042  bool rptSeq(RptSeq& value) const
3044  {
3046 
3047  return ordinary(value, offset, NullRptSeq());
3048  }
3049 
3050  /// Minimal size of message body in bytes.
3053  static
3054  BlockLength
3056  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3058  {
3059  return
3060  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3061  44;
3062  }
3063 
3064  /// Size of message body in bytes.
3067  static
3068  BlockLength
3070  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3072  {
3073  return
3074  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3075  44;
3076  }
3077 
3078  /// Minimal variable fields size (when variable-length fields are empty).
3080  ONIXS_B3_UMDF_MD_NODISCARD
3082  static
3083  MessageSize
3085  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3086  {
3087  return
3088  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3089  0;
3090  }
3091 
3092  /// \return class name.
3094  ONIXS_B3_UMDF_MD_NODISCARD
3096  static const Char* className()
3097  {
3098  return "OpeningPrice_15";
3099  }
3100 
3101  /// FIX message type.
3103  ONIXS_B3_UMDF_MD_NODISCARD
3105  static StrRef fixType()
3107  {
3108  return constructStrRef("OpeningPrice_15");
3109  }
3110 
3111  /// \return a human-readable presentation.
3112  ONIXS_B3_UMDF_MD_NODISCARD
3113  std::string toString() const;
3114 
3115 private:
3116  void checkLength(
3117  EncodedLength length, SchemaVersion version) const
3118  {
3119  const EncodedLength minimalRequiredLength =
3120  minimalBlockLength(version) +
3121  MessageHeader::Size +
3122  getMinimalVariableFieldsSize(version);
3123 
3124  checkBinaryLength(
3125  *this, length, minimalRequiredLength);
3126  }
3127 
3128  void checkCompatibility() const
3129  {
3130  assert(TemplateId == templateId());
3131 
3132  checkSchema<Schema>(schemaId(), version());
3133  checkLength(bufferSize(), version());
3134  }
3135 };
3136 
3137 /// The theoretical opening price is also sent on this block and is calculated and updated based on the orders presented in the book during every auction including the pre-opening / pre-closing auction..
3140 : SbeMessage
3141 {
3142  /// Used template schema.
3144 
3145  /// Message template ID from SBE schema.
3146  enum { TemplateId = 16 };
3147 
3148  /// Initializes a blank instance.
3150 
3151  /// Creates an instance over the given memory block.
3153  void* data,
3154  EncodedLength length,
3155  NoInit)
3156  : SbeMessage(data, length)
3157  {
3158  checkCompatibility();
3159  }
3160 
3161  /// Creates an instance over the given SBE message.
3162  explicit
3164  const SbeMessage& message)
3165  : SbeMessage(message)
3166  {
3167  assert(message.valid());
3168 
3169  checkCompatibility();
3170  }
3171 
3172  /// Creates an instance over the given memory block.
3173  /// Performs no checks.
3175  void* data,
3176  EncodedLength length,
3177  NoInit,
3178  NoCheck)
3180  : SbeMessage(data, length, NoCheck())
3181  {
3182  assert(schemaId() == Schema::Id);
3183  assert(version() >= Schema::MinimalVersion);
3184  assert(TemplateId == templateId());
3185  }
3186 
3187  /// FIX Message Type.
3192  {
3193  return MessageType::MarketDataIncrementalRefresh;
3194  }
3195 
3196  /// Specifies the service pack release being applied at
3197  /// message level.
3202  {
3203  return ApplVerID::FIX50SP2;
3204  }
3205 
3206  /// Security ID as defined by B3. For the SecurityID list, see
3207  /// the Security Definition message in Market Data feed.
3208  ONIXS_B3_UMDF_MD_NODISCARD
3211  {
3213 
3214  return ordinary<SecurityID>(offset);
3215  }
3216 
3217  /// Identifies the class of the SecurityID (Exchange Symbol).
3222  {
3223  return SecurityIDSource::EXCHANGE_SYMBOL;
3224  }
3225 
3226  /// Market to which the symbol belongs.
3228  ONIXS_B3_UMDF_MD_NODISCARD
3232  {
3233  return constructStrRef("BVMF");
3234  }
3235 
3236  /// Identifies the end of the current event and if it is a
3237  /// retransmission.
3238  ONIXS_B3_UMDF_MD_NODISCARD
3241  {
3243 
3244  return ordinary<MatchEventIndicator>(offset);
3245  }
3246 
3247  /// Update Action (NEW or DELETE).
3248  ONIXS_B3_UMDF_MD_NODISCARD
3251  {
3253 
3254  return enumeration<UpdateAction>(offset);
3255  }
3256 
3257  /// Entry type: Opening Price.
3262  {
3263  return EntryType::OPENING_PRICE;
3264  }
3265 
3266  /// Indicates this is a theoretical opening price.
3271  {
3272  return OpenCloseSettlFlag::THEORETICAL_PRICE;
3273  }
3274 
3275  /// Used to specify the trading date for which a set of market
3276  /// data applies.
3277  ONIXS_B3_UMDF_MD_NODISCARD
3280  {
3282 
3283  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
3284  }
3285 
3286  /// Theoretical Opening Price.
3287  ONIXS_B3_UMDF_MD_NODISCARD
3288  bool mDEntryPx(PriceOptional& value) const
3290  {
3292 
3293  return decimal(value, offset, NullPriceOptional());
3294  }
3295 
3296  /// Theoretical Opening Quantity.
3297  ONIXS_B3_UMDF_MD_NODISCARD
3298  bool mDEntrySize(QuantityOptional& value) const
3300  {
3302 
3303  return ordinary(value, offset, NullQuantityOptional());
3304  }
3305 
3306  /// Date and time of market data entry.
3307  ONIXS_B3_UMDF_MD_NODISCARD
3310  {
3312 
3313  return ordinary(value, offset, NullUTCTimestampNanos());
3314  }
3315 
3316  /// Sequence number per instrument update. Zeroed in snapshot
3317  /// feed.
3318  ONIXS_B3_UMDF_MD_NODISCARD
3319  bool rptSeq(RptSeq& value) const
3321  {
3323 
3324  return ordinary(value, offset, NullRptSeq());
3325  }
3326 
3327  /// Minimal size of message body in bytes.
3330  static
3331  BlockLength
3333  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3335  {
3336  return
3337  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3338  40;
3339  }
3340 
3341  /// Size of message body in bytes.
3346  {
3347  return
3348  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3349  minimalBlockLength(version);
3350  }
3351 
3352  /// Minimal variable fields size (when variable-length fields are empty).
3354  ONIXS_B3_UMDF_MD_NODISCARD
3356  static
3357  MessageSize
3359  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3360  {
3361  return
3362  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3363  0;
3364  }
3365 
3366  /// \return class name.
3368  ONIXS_B3_UMDF_MD_NODISCARD
3370  static const Char* className()
3371  {
3372  return "TheoreticalOpeningPrice_16";
3373  }
3374 
3375  /// FIX message type.
3377  ONIXS_B3_UMDF_MD_NODISCARD
3379  static StrRef fixType()
3381  {
3382  return constructStrRef(
3383  "TheoreticalOpeningPrice_16");
3384  }
3385 
3386  /// \return a human-readable presentation.
3387  ONIXS_B3_UMDF_MD_NODISCARD
3388  std::string toString() const;
3389 
3390 private:
3391  void checkLength(
3392  EncodedLength length, SchemaVersion version) const
3393  {
3394  const EncodedLength minimalRequiredLength =
3395  minimalBlockLength(version) +
3396  MessageHeader::Size +
3397  getMinimalVariableFieldsSize(version);
3398 
3399  checkBinaryLength(
3400  *this, length, minimalRequiredLength);
3401  }
3402 
3403  void checkCompatibility() const
3404  {
3405  assert(TemplateId == templateId());
3406 
3407  checkSchema<Schema>(schemaId(), version());
3408  checkLength(bufferSize(), version());
3409  }
3410 };
3411 
3412 /// Summary information about closing trading sessions per market data stream..
3415 : SbeMessage
3416 {
3417  /// Used template schema.
3419 
3420  /// Message template ID from SBE schema.
3421  enum { TemplateId = 17 };
3422 
3423  /// Initializes a blank instance.
3425 
3426  /// Creates an instance over the given memory block.
3428  void* data,
3429  EncodedLength length,
3430  NoInit)
3431  : SbeMessage(data, length)
3432  {
3433  checkCompatibility();
3434  }
3435 
3436  /// Creates an instance over the given SBE message.
3437  explicit
3439  const SbeMessage& message)
3440  : SbeMessage(message)
3441  {
3442  assert(message.valid());
3443 
3444  checkCompatibility();
3445  }
3446 
3447  /// Creates an instance over the given memory block.
3448  /// Performs no checks.
3450  void* data,
3451  EncodedLength length,
3452  NoInit,
3453  NoCheck)
3455  : SbeMessage(data, length, NoCheck())
3456  {
3457  assert(schemaId() == Schema::Id);
3458  assert(version() >= Schema::MinimalVersion);
3459  assert(TemplateId == templateId());
3460  }
3461 
3462  /// FIX Message Type.
3467  {
3468  return MessageType::MarketDataIncrementalRefresh;
3469  }
3470 
3471  /// Specifies the service pack release being applied at
3472  /// message level.
3477  {
3478  return ApplVerID::FIX50SP2;
3479  }
3480 
3481  /// Security ID as defined by B3. For the SecurityID list, see
3482  /// the Security Definition message in Market Data feed.
3483  ONIXS_B3_UMDF_MD_NODISCARD
3486  {
3488 
3489  return ordinary<SecurityID>(offset);
3490  }
3491 
3492  /// Identifies the class of the SecurityID (Exchange Symbol).
3497  {
3498  return SecurityIDSource::EXCHANGE_SYMBOL;
3499  }
3500 
3501  /// Market to which the symbol belongs.
3503  ONIXS_B3_UMDF_MD_NODISCARD
3507  {
3508  return constructStrRef("BVMF");
3509  }
3510 
3511  /// Identifies the end of the current event and if it is a
3512  /// retransmission.
3513  ONIXS_B3_UMDF_MD_NODISCARD
3516  {
3518 
3519  return ordinary<MatchEventIndicator>(offset);
3520  }
3521 
3522  /// Update Action (NEW) - always replace.
3527  {
3528  return UpdateAction::NEW;
3529  }
3530 
3531  /// Entry type: Closing Price.
3536  {
3537  return EntryType::CLOSING_PRICE;
3538  }
3539 
3540  /// Identifies if the closing price represents a daily or
3541  /// entry from previous business day.
3542  ONIXS_B3_UMDF_MD_NODISCARD
3545  {
3547 
3548  return enumeration<OpenCloseSettlFlag>(offset);
3549  }
3550 
3551  /// Closing price. May be adjusted by corporate events.
3552  ONIXS_B3_UMDF_MD_NODISCARD
3555  {
3557 
3558  return decimal<Price8>(offset);
3559  }
3560 
3561  /// Date the instrument last traded.
3562  ONIXS_B3_UMDF_MD_NODISCARD
3563  bool lastTradeDate(Timestamp& value) const
3565  {
3566  typedef LocalMktDateOptional FieldValue;
3567 
3569 
3570  FieldValue fieldValue;
3571 
3572  if (ordinary(fieldValue, offset, NullLocalMktDateOptional()))
3573  {
3574  value = localMktDateToTimestamp(fieldValue);
3575  return true;
3576  }
3577  return false;
3578  }
3579 
3580  /// Used to specify the trading date for which a set of market
3581  /// data applies.
3582  ONIXS_B3_UMDF_MD_NODISCARD
3585  {
3587 
3588  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
3589  }
3590 
3591  /// Date and time of market data entry.
3592  ONIXS_B3_UMDF_MD_NODISCARD
3595  {
3597 
3598  return ordinary(value, offset, NullUTCTimestampNanos());
3599  }
3600 
3601  /// Sequence number per instrument update. Zeroed in snapshot
3602  /// feed.
3603  ONIXS_B3_UMDF_MD_NODISCARD
3604  bool rptSeq(RptSeq& value) const
3606  {
3608 
3609  return ordinary(value, offset, NullRptSeq());
3610  }
3611 
3612  /// Minimal size of message body in bytes.
3615  static
3616  BlockLength
3618  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3620  {
3621  return
3622  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3623  36;
3624  }
3625 
3626  /// Size of message body in bytes.
3629  static
3630  BlockLength
3632  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3634  {
3635  return
3636  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3637  minimalBlockLength(version);
3638  }
3639 
3640  /// Minimal variable fields size (when variable-length fields are empty).
3642  ONIXS_B3_UMDF_MD_NODISCARD
3644  static
3645  MessageSize
3647  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3648  {
3649  return
3650  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3651  0;
3652  }
3653 
3654  /// \return class name.
3656  ONIXS_B3_UMDF_MD_NODISCARD
3658  static const Char* className()
3659  {
3660  return "ClosingPrice_17";
3661  }
3662 
3663  /// FIX message type.
3665  ONIXS_B3_UMDF_MD_NODISCARD
3667  static StrRef fixType()
3669  {
3670  return constructStrRef("ClosingPrice_17");
3671  }
3672 
3673  /// \return a human-readable presentation.
3674  ONIXS_B3_UMDF_MD_NODISCARD
3675  std::string toString() const;
3676 
3677 private:
3678  void checkLength(
3679  EncodedLength length, SchemaVersion version) const
3680  {
3681  const EncodedLength minimalRequiredLength =
3682  minimalBlockLength(version) +
3683  MessageHeader::Size +
3684  getMinimalVariableFieldsSize(version);
3685 
3686  checkBinaryLength(
3687  *this, length, minimalRequiredLength);
3688  }
3689 
3690  void checkCompatibility() const
3691  {
3692  assert(TemplateId == templateId());
3693 
3694  checkSchema<Schema>(schemaId(), version());
3695  checkLength(bufferSize(), version());
3696  }
3697 };
3698 
3699 /// Carries auction imbalance information, indicating the remaining quantity and to which side (buyer or seller) the auction is pending towards..
3702 : SbeMessage
3703 {
3704  /// Used template schema.
3706 
3707  /// Message template ID from SBE schema.
3708  enum { TemplateId = 19 };
3709 
3710  /// Initializes a blank instance.
3712 
3713  /// Creates an instance over the given memory block.
3715  void* data,
3716  EncodedLength length,
3717  NoInit)
3718  : SbeMessage(data, length)
3719  {
3720  checkCompatibility();
3721  }
3722 
3723  /// Creates an instance over the given SBE message.
3724  explicit
3726  const SbeMessage& message)
3727  : SbeMessage(message)
3728  {
3729  assert(message.valid());
3730 
3731  checkCompatibility();
3732  }
3733 
3734  /// Creates an instance over the given memory block.
3735  /// Performs no checks.
3737  void* data,
3738  EncodedLength length,
3739  NoInit,
3740  NoCheck)
3742  : SbeMessage(data, length, NoCheck())
3743  {
3744  assert(schemaId() == Schema::Id);
3745  assert(version() >= Schema::MinimalVersion);
3746  assert(TemplateId == templateId());
3747  }
3748 
3749  /// FIX Message Type.
3754  {
3755  return MessageType::MarketDataIncrementalRefresh;
3756  }
3757 
3758  /// Specifies the service pack release being applied at
3759  /// message level.
3764  {
3765  return ApplVerID::FIX50SP2;
3766  }
3767 
3768  /// Security ID as defined by B3. For the SecurityID list, see
3769  /// the Security Definition message in Market Data feed.
3770  ONIXS_B3_UMDF_MD_NODISCARD
3773  {
3775 
3776  return ordinary<SecurityID>(offset);
3777  }
3778 
3779  /// Identifies the class of the SecurityID (Exchange Symbol).
3784  {
3785  return SecurityIDSource::EXCHANGE_SYMBOL;
3786  }
3787 
3788  /// Market to which the symbol belongs.
3790  ONIXS_B3_UMDF_MD_NODISCARD
3794  {
3795  return constructStrRef("BVMF");
3796  }
3797 
3798  /// Identifies the end of the current event and if it is a
3799  /// retransmission.
3800  ONIXS_B3_UMDF_MD_NODISCARD
3803  {
3805 
3806  return ordinary<MatchEventIndicator>(offset);
3807  }
3808 
3809  /// Update Action (NEW or DELETE).
3810  ONIXS_B3_UMDF_MD_NODISCARD
3813  {
3815 
3816  return enumeration<UpdateAction>(offset);
3817  }
3818 
3819  /// Entry type: Imbalance.
3824  {
3825  return EntryType::IMBALANCE;
3826  }
3827 
3828  /// IMBALANCE_MORE_BUYERS, IMBALANCE_MORE_SELLERS, All bits
3829  /// off => BALANCED.
3830  ONIXS_B3_UMDF_MD_NODISCARD
3833  {
3835 
3836  return ordinary<ImbalanceCondition>(offset);
3837  }
3838 
3839  /// Remaining auction quantity.
3840  ONIXS_B3_UMDF_MD_NODISCARD
3841  bool mDEntrySize(QuantityOptional& value) const
3843  {
3845 
3846  return ordinary(value, offset, NullQuantityOptional());
3847  }
3848 
3849  /// Date and time of market data entry.
3850  ONIXS_B3_UMDF_MD_NODISCARD
3853  {
3855 
3856  return ordinary(value, offset, NullUTCTimestampNanos());
3857  }
3858 
3859  /// Sequence number per instrument update. Zeroed in snapshot
3860  /// feed.
3861  ONIXS_B3_UMDF_MD_NODISCARD
3862  bool rptSeq(RptSeq& value) const
3864  {
3866 
3867  return ordinary(value, offset, NullRptSeq());
3868  }
3869 
3870  /// Minimal size of message body in bytes.
3873  static
3874  BlockLength
3876  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3878  {
3879  return
3880  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3881  32;
3882  }
3883 
3884  /// Size of message body in bytes.
3889  {
3890  return
3891  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3892  minimalBlockLength(version);
3893  }
3894 
3895  /// Minimal variable fields size (when variable-length fields are empty).
3897  ONIXS_B3_UMDF_MD_NODISCARD
3899  static
3900  MessageSize
3902  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
3903  {
3904  return
3905  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
3906  0;
3907  }
3908 
3909  /// \return class name.
3911  ONIXS_B3_UMDF_MD_NODISCARD
3913  static const Char* className()
3914  {
3915  return "AuctionImbalance_19";
3916  }
3917 
3918  /// FIX message type.
3920  ONIXS_B3_UMDF_MD_NODISCARD
3922  static StrRef fixType()
3924  {
3925  return constructStrRef("AuctionImbalance_19");
3926  }
3927 
3928  /// \return a human-readable presentation.
3929  ONIXS_B3_UMDF_MD_NODISCARD
3930  std::string toString() const;
3931 
3932 private:
3933  void checkLength(
3934  EncodedLength length, SchemaVersion version) const
3935  {
3936  const EncodedLength minimalRequiredLength =
3937  minimalBlockLength(version) +
3938  MessageHeader::Size +
3939  getMinimalVariableFieldsSize(version);
3940 
3941  checkBinaryLength(
3942  *this, length, minimalRequiredLength);
3943  }
3944 
3945  void checkCompatibility() const
3946  {
3947  assert(TemplateId == templateId());
3948 
3949  checkSchema<Schema>(schemaId(), version());
3950  checkLength(bufferSize(), version());
3951  }
3952 };
3953 
3954 /// Price Banding (tunnel)..
3957 : SbeMessage
3958 {
3959  /// Used template schema.
3961 
3962  /// Message template ID from SBE schema.
3963  enum { TemplateId = 20 };
3964 
3965  /// Initializes a blank instance.
3967 
3968  /// Creates an instance over the given memory block.
3970  void* data,
3971  EncodedLength length,
3972  NoInit)
3973  : SbeMessage(data, length)
3974  {
3975  checkCompatibility();
3976  }
3977 
3978  /// Creates an instance over the given SBE message.
3979  explicit
3981  const SbeMessage& message)
3982  : SbeMessage(message)
3983  {
3984  assert(message.valid());
3985 
3986  checkCompatibility();
3987  }
3988 
3989  /// Creates an instance over the given memory block.
3990  /// Performs no checks.
3992  void* data,
3993  EncodedLength length,
3994  NoInit,
3995  NoCheck)
3997  : SbeMessage(data, length, NoCheck())
3998  {
3999  assert(schemaId() == Schema::Id);
4000  assert(version() >= Schema::MinimalVersion);
4001  assert(TemplateId == templateId());
4002  }
4003 
4004  /// FIX Message Type.
4009  {
4010  return MessageType::MarketDataIncrementalRefresh;
4011  }
4012 
4013  /// Specifies the service pack release being applied at
4014  /// message level.
4019  {
4020  return ApplVerID::FIX50SP2;
4021  }
4022 
4023  /// Security ID as defined by B3. For the SecurityID list, see
4024  /// the Security Definition message in Market Data feed.
4025  ONIXS_B3_UMDF_MD_NODISCARD
4028  {
4030 
4031  return ordinary<SecurityID>(offset);
4032  }
4033 
4034  /// Identifies the class of the SecurityID (Exchange Symbol).
4039  {
4040  return SecurityIDSource::EXCHANGE_SYMBOL;
4041  }
4042 
4043  /// Market to which the symbol belongs.
4045  ONIXS_B3_UMDF_MD_NODISCARD
4049  {
4050  return constructStrRef("BVMF");
4051  }
4052 
4053  /// Identifies the end of the current event and if it is a
4054  /// retransmission.
4055  ONIXS_B3_UMDF_MD_NODISCARD
4058  {
4060 
4061  return ordinary<MatchEventIndicator>(offset);
4062  }
4063 
4064  /// Update Action (NEW) - always replace.
4069  {
4070  return UpdateAction::NEW;
4071  }
4072 
4073  /// Entry type: Price Band.
4078  {
4079  return EntryType::PRICE_BAND;
4080  }
4081 
4082  /// Indicates the type of price banding (tunnel).
4083  ONIXS_B3_UMDF_MD_NODISCARD
4084  bool
4086  PriceBandType::Enum& value) const
4088  {
4090 
4091  return enumeration<PriceBandType>(value, offset, NullUInt8());
4092  }
4093 
4094  /// Describes how the price limits are expressed.
4095  ONIXS_B3_UMDF_MD_NODISCARD
4096  bool
4098  PriceLimitType::Enum& value) const
4100  {
4102 
4103  return enumeration<PriceLimitType>(value, offset, NullUInt8());
4104  }
4105 
4106  /// Band Midpoint Type, used with Auction Price Banding. Only
4107  /// sent for Rejection and Auction Bands when PriceLimitType
4108  /// (1306) equals to 2 (Percentage).
4109  ONIXS_B3_UMDF_MD_NODISCARD
4110  bool
4112  PriceBandMidpointPriceType::Enum& value) const
4114  {
4116 
4117  return enumeration<PriceBandMidpointPriceType>(value, offset, NullUInt8());
4118  }
4119 
4120  /// Allowable low limit price for the trading day. A key
4121  /// parameter in validating order price. Used as the lower
4122  /// band for validating order prices. Orders submitted with
4123  /// prices below the lower limit will be rejected.
4124  ONIXS_B3_UMDF_MD_NODISCARD
4125  bool lowLimitPrice(PriceOptional& value) const
4127  {
4129 
4130  return decimal(value, offset, NullPriceOptional());
4131  }
4132 
4133  /// Allowable high limit price for the trading day. A key
4134  /// parameter in validating order price. Used as the upper
4135  /// band for validating order prices. Orders submitted with
4136  /// prices above the upper limit will be rejected.
4137  ONIXS_B3_UMDF_MD_NODISCARD
4138  bool highLimitPrice(PriceOptional& value) const
4140  {
4142 
4143  return decimal(value, offset, NullPriceOptional());
4144  }
4145 
4146  /// Reference price for the current trading price range. The
4147  /// value may be the reference price, settlement price or
4148  /// closing price of the prior trading day. Sent only for
4149  /// Economic Indicators.
4150  ONIXS_B3_UMDF_MD_NODISCARD
4153  {
4155 
4156  return decimal(value, offset, NullPriceOptional());
4157  }
4158 
4159  /// Date and time of market data entry.
4160  ONIXS_B3_UMDF_MD_NODISCARD
4163  {
4165 
4166  return ordinary(value, offset, NullUTCTimestampNanos());
4167  }
4168 
4169  /// Sequence number per instrument update. Zeroed in snapshot
4170  /// feed.
4171  ONIXS_B3_UMDF_MD_NODISCARD
4172  bool rptSeq(RptSeq& value) const
4174  {
4176 
4177  return ordinary(value, offset, NullRptSeq());
4178  }
4179 
4180  /// Minimal size of message body in bytes.
4183  static
4184  BlockLength
4186  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
4188  {
4189  return
4190  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4191  48;
4192  }
4193 
4194  /// Size of message body in bytes.
4199  {
4200  return
4201  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4202  minimalBlockLength(version);
4203  }
4204 
4205  /// Minimal variable fields size (when variable-length fields are empty).
4207  ONIXS_B3_UMDF_MD_NODISCARD
4209  static
4210  MessageSize
4212  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
4213  {
4214  return
4215  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4216  0;
4217  }
4218 
4219  /// \return class name.
4221  ONIXS_B3_UMDF_MD_NODISCARD
4223  static const Char* className()
4224  {
4225  return "PriceBand_20";
4226  }
4227 
4228  /// FIX message type.
4230  ONIXS_B3_UMDF_MD_NODISCARD
4232  static StrRef fixType()
4234  {
4235  return constructStrRef("PriceBand_20");
4236  }
4237 
4238  /// \return a human-readable presentation.
4239  ONIXS_B3_UMDF_MD_NODISCARD
4240  std::string toString() const;
4241 
4242 private:
4243  void checkLength(
4244  EncodedLength length, SchemaVersion version) const
4245  {
4246  const EncodedLength minimalRequiredLength =
4247  minimalBlockLength(version) +
4248  MessageHeader::Size +
4249  getMinimalVariableFieldsSize(version);
4250 
4251  checkBinaryLength(
4252  *this, length, minimalRequiredLength);
4253  }
4254 
4255  void checkCompatibility() const
4256  {
4257  assert(TemplateId == templateId());
4258 
4259  checkSchema<Schema>(schemaId(), version());
4260  checkLength(bufferSize(), version());
4261  }
4262 };
4263 
4264 /// Quantity Band..
4267 : SbeMessage
4268 {
4269  /// Used template schema.
4271 
4272  /// Message template ID from SBE schema.
4273  enum { TemplateId = 21 };
4274 
4275  /// Initializes a blank instance.
4277 
4278  /// Creates an instance over the given memory block.
4280  void* data,
4281  EncodedLength length,
4282  NoInit)
4283  : SbeMessage(data, length)
4284  {
4285  checkCompatibility();
4286  }
4287 
4288  /// Creates an instance over the given SBE message.
4289  explicit
4291  const SbeMessage& message)
4292  : SbeMessage(message)
4293  {
4294  assert(message.valid());
4295 
4296  checkCompatibility();
4297  }
4298 
4299  /// Creates an instance over the given memory block.
4300  /// Performs no checks.
4302  void* data,
4303  EncodedLength length,
4304  NoInit,
4305  NoCheck)
4307  : SbeMessage(data, length, NoCheck())
4308  {
4309  assert(schemaId() == Schema::Id);
4310  assert(version() >= Schema::MinimalVersion);
4311  assert(TemplateId == templateId());
4312  }
4313 
4314  /// FIX Message Type.
4319  {
4320  return MessageType::MarketDataIncrementalRefresh;
4321  }
4322 
4323  /// Specifies the service pack release being applied at
4324  /// message level.
4329  {
4330  return ApplVerID::FIX50SP2;
4331  }
4332 
4333  /// Security ID as defined by B3. For the SecurityID list, see
4334  /// the Security Definition message in Market Data feed.
4335  ONIXS_B3_UMDF_MD_NODISCARD
4338  {
4340 
4341  return ordinary<SecurityID>(offset);
4342  }
4343 
4344  /// Identifies the class of the SecurityID (Exchange Symbol).
4349  {
4350  return SecurityIDSource::EXCHANGE_SYMBOL;
4351  }
4352 
4353  /// Market to which the symbol belongs.
4355  ONIXS_B3_UMDF_MD_NODISCARD
4359  {
4360  return constructStrRef("BVMF");
4361  }
4362 
4363  /// Identifies the end of the current event and if it is a
4364  /// retransmission.
4365  ONIXS_B3_UMDF_MD_NODISCARD
4368  {
4370 
4371  return ordinary<MatchEventIndicator>(offset);
4372  }
4373 
4374  /// Update Action (NEW) - always replace.
4379  {
4380  return UpdateAction::NEW;
4381  }
4382 
4383  /// Entry type: Quantity Band.
4388  {
4389  return EntryType::QUANTITY_BAND;
4390  }
4391 
4392  /// Daily average shares traded within 30 days – equity market
4393  /// only. Previously known as DailyAvgShares30D. Always 0 for
4394  /// Derivatives.
4395  ONIXS_B3_UMDF_MD_NODISCARD
4396  bool
4398  QuantityVolumeOptional& value) const
4400  {
4402 
4403  return ordinary(value, offset, NullQuantityVolumeOptional());
4404  }
4405 
4406  /// The maximum order quantity that can be submitted for a
4407  /// security. The value is the minimum between % of shares
4408  /// issued and % of average traded quantity within 30 days.
4409  ONIXS_B3_UMDF_MD_NODISCARD
4410  bool
4412  QuantityVolumeOptional& value) const
4414  {
4416 
4417  return ordinary(value, offset, NullQuantityVolumeOptional());
4418  }
4419 
4420  /// Date and time of market data entry.
4421  ONIXS_B3_UMDF_MD_NODISCARD
4424  {
4426 
4427  return ordinary(value, offset, NullUTCTimestampNanos());
4428  }
4429 
4430  /// Sequence number per instrument update. Zeroed in snapshot
4431  /// feed.
4432  ONIXS_B3_UMDF_MD_NODISCARD
4433  bool rptSeq(RptSeq& value) const
4435  {
4437 
4438  return ordinary(value, offset, NullRptSeq());
4439  }
4440 
4441  /// Minimal size of message body in bytes.
4444  static
4445  BlockLength
4447  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
4449  {
4450  return
4451  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4452  40;
4453  }
4454 
4455  /// Size of message body in bytes.
4458  static
4459  BlockLength
4461  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
4463  {
4464  return
4465  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4466  minimalBlockLength(version);
4467  }
4468 
4469  /// Minimal variable fields size (when variable-length fields are empty).
4471  ONIXS_B3_UMDF_MD_NODISCARD
4473  static
4474  MessageSize
4476  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
4477  {
4478  return
4479  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4480  0;
4481  }
4482 
4483  /// \return class name.
4485  ONIXS_B3_UMDF_MD_NODISCARD
4487  static const Char* className()
4488  {
4489  return "QuantityBand_21";
4490  }
4491 
4492  /// FIX message type.
4494  ONIXS_B3_UMDF_MD_NODISCARD
4496  static StrRef fixType()
4498  {
4499  return constructStrRef("QuantityBand_21");
4500  }
4501 
4502  /// \return a human-readable presentation.
4503  ONIXS_B3_UMDF_MD_NODISCARD
4504  std::string toString() const;
4505 
4506 private:
4507  void checkLength(
4508  EncodedLength length, SchemaVersion version) const
4509  {
4510  const EncodedLength minimalRequiredLength =
4511  minimalBlockLength(version) +
4512  MessageHeader::Size +
4513  getMinimalVariableFieldsSize(version);
4514 
4515  checkBinaryLength(
4516  *this, length, minimalRequiredLength);
4517  }
4518 
4519  void checkCompatibility() const
4520  {
4521  assert(TemplateId == templateId());
4522 
4523  checkSchema<Schema>(schemaId(), version());
4524  checkLength(bufferSize(), version());
4525  }
4526 };
4527 
4528 /// Price Banding (tunnel)..
4531 : SbeMessage
4532 {
4533  /// Used template schema.
4535 
4536  /// Message template ID from SBE schema.
4537  enum { TemplateId = 22 };
4538 
4539  /// Initializes a blank instance.
4541 
4542  /// Creates an instance over the given memory block.
4544  void* data,
4545  EncodedLength length,
4546  NoInit)
4547  : SbeMessage(data, length)
4548  {
4549  checkCompatibility();
4550  }
4551 
4552  /// Creates an instance over the given SBE message.
4553  explicit
4555  const SbeMessage& message)
4556  : SbeMessage(message)
4557  {
4558  assert(message.valid());
4559 
4560  checkCompatibility();
4561  }
4562 
4563  /// Creates an instance over the given memory block.
4564  /// Performs no checks.
4566  void* data,
4567  EncodedLength length,
4568  NoInit,
4569  NoCheck)
4571  : SbeMessage(data, length, NoCheck())
4572  {
4573  assert(schemaId() == Schema::Id);
4574  assert(version() >= Schema::MinimalVersion);
4575  assert(TemplateId == templateId());
4576  }
4577 
4578  /// FIX Message Type.
4583  {
4584  return MessageType::MarketDataIncrementalRefresh;
4585  }
4586 
4587  /// Specifies the service pack release being applied at
4588  /// message level.
4593  {
4594  return ApplVerID::FIX50SP2;
4595  }
4596 
4597  /// Security ID as defined by B3. For the SecurityID list, see
4598  /// the Security Definition message in Market Data feed.
4599  ONIXS_B3_UMDF_MD_NODISCARD
4602  {
4604 
4605  return ordinary<SecurityID>(offset);
4606  }
4607 
4608  /// Identifies the class of the SecurityID (Exchange Symbol).
4613  {
4614  return SecurityIDSource::EXCHANGE_SYMBOL;
4615  }
4616 
4617  /// Market to which the symbol belongs.
4619  ONIXS_B3_UMDF_MD_NODISCARD
4623  {
4624  return constructStrRef("BVMF");
4625  }
4626 
4627  /// Identifies the end of the current event and if it is a
4628  /// retransmission.
4629  ONIXS_B3_UMDF_MD_NODISCARD
4632  {
4634 
4635  return ordinary<MatchEventIndicator>(offset);
4636  }
4637 
4638  /// Update Action (NEW) - always replace.
4643  {
4644  return UpdateAction::NEW;
4645  }
4646 
4647  /// Entry type: Price Band.
4652  {
4653  return EntryType::PRICE_BAND;
4654  }
4655 
4656  /// Indicates the type of price banding (tunnel).
4657  ONIXS_B3_UMDF_MD_NODISCARD
4658  bool
4660  PriceBandType::Enum& value) const
4662  {
4664 
4665  return enumeration<PriceBandType>(value, offset, NullUInt8());
4666  }
4667 
4668  /// Describes how the price limits are expressed.
4669  ONIXS_B3_UMDF_MD_NODISCARD
4670  bool
4672  PriceLimitType::Enum& value) const
4674  {
4676 
4677  return enumeration<PriceLimitType>(value, offset, NullUInt8());
4678  }
4679 
4680  /// Band Midpoint Type, used with Auction Price Banding. Only
4681  /// sent for Rejection and Auction Bands when PriceLimitType
4682  /// (1306) equals to 2 (Percentage).
4683  ONIXS_B3_UMDF_MD_NODISCARD
4684  bool
4686  PriceBandMidpointPriceType::Enum& value) const
4688  {
4690 
4691  return enumeration<PriceBandMidpointPriceType>(value, offset, NullUInt8());
4692  }
4693 
4694  /// Allowable low limit price for the trading day. A key
4695  /// parameter in validating order price. Used as the lower
4696  /// band for validating order prices. Orders submitted with
4697  /// prices below the lower limit will be rejected.
4698  ONIXS_B3_UMDF_MD_NODISCARD
4699  bool lowLimitPrice(PriceOptional& value) const
4701  {
4703 
4704  return decimal(value, offset, NullPriceOptional());
4705  }
4706 
4707  /// Allowable high limit price for the trading day. A key
4708  /// parameter in validating order price. Used as the upper
4709  /// band for validating order prices. Orders submitted with
4710  /// prices above the upper limit will be rejected.
4711  ONIXS_B3_UMDF_MD_NODISCARD
4712  bool highLimitPrice(PriceOptional& value) const
4714  {
4716 
4717  return decimal(value, offset, NullPriceOptional());
4718  }
4719 
4720  /// Reference price for the current trading price range. The
4721  /// value may be the reference price, settlement price or
4722  /// closing price of the prior trading day. Sent only for
4723  /// Economic Indicators.
4724  ONIXS_B3_UMDF_MD_NODISCARD
4725  bool tradingReferencePrice(Fixed8& value) const
4727  {
4729 
4730  return decimal(value, offset, NullFixed8());
4731  }
4732 
4733  /// Date and time of market data entry.
4734  ONIXS_B3_UMDF_MD_NODISCARD
4737  {
4739 
4740  return ordinary(value, offset, NullUTCTimestampNanos());
4741  }
4742 
4743  /// Sequence number per instrument update. Zeroed in snapshot
4744  /// feed.
4745  ONIXS_B3_UMDF_MD_NODISCARD
4746  bool rptSeq(RptSeq& value) const
4748  {
4750 
4751  return ordinary(value, offset, NullRptSeq());
4752  }
4753 
4754  /// Minimal size of message body in bytes.
4757  static
4758  BlockLength
4760  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
4762  {
4763  return
4764  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4765  48;
4766  }
4767 
4768  /// Size of message body in bytes.
4773  {
4774  return
4775  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4776  minimalBlockLength(version);
4777  }
4778 
4779  /// Minimal variable fields size (when variable-length fields are empty).
4781  ONIXS_B3_UMDF_MD_NODISCARD
4783  static
4784  MessageSize
4786  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
4787  {
4788  return
4789  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
4790  0;
4791  }
4792 
4793  /// \return class name.
4795  ONIXS_B3_UMDF_MD_NODISCARD
4797  static const Char* className()
4798  {
4799  return "PriceBand_22";
4800  }
4801 
4802  /// FIX message type.
4804  ONIXS_B3_UMDF_MD_NODISCARD
4806  static StrRef fixType()
4808  {
4809  return constructStrRef("PriceBand_22");
4810  }
4811 
4812  /// \return a human-readable presentation.
4813  ONIXS_B3_UMDF_MD_NODISCARD
4814  std::string toString() const;
4815 
4816 private:
4817  void checkLength(
4818  EncodedLength length, SchemaVersion version) const
4819  {
4820  const EncodedLength minimalRequiredLength =
4821  minimalBlockLength(version) +
4822  MessageHeader::Size +
4823  getMinimalVariableFieldsSize(version);
4824 
4825  checkBinaryLength(
4826  *this, length, minimalRequiredLength);
4827  }
4828 
4829  void checkCompatibility() const
4830  {
4831  assert(TemplateId == templateId());
4832 
4833  checkSchema<Schema>(schemaId(), version());
4834  checkLength(bufferSize(), version());
4835  }
4836 };
4837 
4838 /// The highest price traded for the security in the trading session..
4841 : SbeMessage
4842 {
4843  /// Used template schema.
4845 
4846  /// Message template ID from SBE schema.
4847  enum { TemplateId = 24 };
4848 
4849  /// Initializes a blank instance.
4851 
4852  /// Creates an instance over the given memory block.
4854  void* data,
4855  EncodedLength length,
4856  NoInit)
4857  : SbeMessage(data, length)
4858  {
4859  checkCompatibility();
4860  }
4861 
4862  /// Creates an instance over the given SBE message.
4863  explicit
4865  const SbeMessage& message)
4866  : SbeMessage(message)
4867  {
4868  assert(message.valid());
4869 
4870  checkCompatibility();
4871  }
4872 
4873  /// Creates an instance over the given memory block.
4874  /// Performs no checks.
4876  void* data,
4877  EncodedLength length,
4878  NoInit,
4879  NoCheck)
4881  : SbeMessage(data, length, NoCheck())
4882  {
4883  assert(schemaId() == Schema::Id);
4884  assert(version() >= Schema::MinimalVersion);
4885  assert(TemplateId == templateId());
4886  }
4887 
4888  /// FIX Message Type.
4893  {
4894  return MessageType::MarketDataIncrementalRefresh;
4895  }
4896 
4897  /// Specifies the service pack release being applied at
4898  /// message level.
4903  {
4904  return ApplVerID::FIX50SP2;
4905  }
4906 
4907  /// Security ID as defined by B3. For the SecurityID list, see
4908  /// the Security Definition message in Market Data feed.
4909  ONIXS_B3_UMDF_MD_NODISCARD
4912  {
4914 
4915  return ordinary<SecurityID>(offset);
4916  }
4917 
4918  /// Identifies the class of the SecurityID (Exchange Symbol).
4923  {
4924  return SecurityIDSource::EXCHANGE_SYMBOL;
4925  }
4926 
4927  /// Market to which the symbol belongs.
4929  ONIXS_B3_UMDF_MD_NODISCARD
4933  {
4934  return constructStrRef("BVMF");
4935  }
4936 
4937  /// Identifies the end of the current event and if it is a
4938  /// retransmission.
4939  ONIXS_B3_UMDF_MD_NODISCARD
4942  {
4944 
4945  return ordinary<MatchEventIndicator>(offset);
4946  }
4947 
4948  /// Update Action (NEW or DELETE).
4949  ONIXS_B3_UMDF_MD_NODISCARD
4952  {
4954 
4955  return enumeration<UpdateAction>(offset);
4956  }
4957 
4958  /// Entry type: Trading Session High Price.
4963  {
4964  return EntryType::SESSION_HIGH_PRICE;
4965  }
4966 
4967  /// Used to specify the trading date for which a set of market
4968  /// data applies.
4969  ONIXS_B3_UMDF_MD_NODISCARD
4972  {
4974 
4975  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
4976  }
4977 
4978  /// Trading Session High Price.
4979  ONIXS_B3_UMDF_MD_NODISCARD
4982  {
4984 
4985  return decimal<Price>(offset);
4986  }
4987 
4988  /// Date and time of market data entry.
4989  ONIXS_B3_UMDF_MD_NODISCARD
4992  {
4994 
4995  return ordinary(value, offset, NullUTCTimestampNanos());
4996  }
4997 
4998  /// Sequence number per instrument update. Zeroed in snapshot
4999  /// feed.
5000  ONIXS_B3_UMDF_MD_NODISCARD
5001  bool rptSeq(RptSeq& value) const
5003  {
5005 
5006  return ordinary(value, offset, NullRptSeq());
5007  }
5008 
5009  /// Minimal size of message body in bytes.
5012  static
5013  BlockLength
5015  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5017  {
5018  return
5019  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5020  32;
5021  }
5022 
5023  /// Size of message body in bytes.
5028  {
5029  return
5030  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5031  minimalBlockLength(version);
5032  }
5033 
5034  /// Minimal variable fields size (when variable-length fields are empty).
5036  ONIXS_B3_UMDF_MD_NODISCARD
5038  static
5039  MessageSize
5041  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5042  {
5043  return
5044  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5045  0;
5046  }
5047 
5048  /// \return class name.
5050  ONIXS_B3_UMDF_MD_NODISCARD
5052  static const Char* className()
5053  {
5054  return "HighPrice_24";
5055  }
5056 
5057  /// FIX message type.
5059  ONIXS_B3_UMDF_MD_NODISCARD
5061  static StrRef fixType()
5063  {
5064  return constructStrRef("HighPrice_24");
5065  }
5066 
5067  /// \return a human-readable presentation.
5068  ONIXS_B3_UMDF_MD_NODISCARD
5069  std::string toString() const;
5070 
5071 private:
5072  void checkLength(
5073  EncodedLength length, SchemaVersion version) const
5074  {
5075  const EncodedLength minimalRequiredLength =
5076  minimalBlockLength(version) +
5077  MessageHeader::Size +
5078  getMinimalVariableFieldsSize(version);
5079 
5080  checkBinaryLength(
5081  *this, length, minimalRequiredLength);
5082  }
5083 
5084  void checkCompatibility() const
5085  {
5086  assert(TemplateId == templateId());
5087 
5088  checkSchema<Schema>(schemaId(), version());
5089  checkLength(bufferSize(), version());
5090  }
5091 };
5092 
5093 /// The lowest price traded for the security in the trading session..
5096 : SbeMessage
5097 {
5098  /// Used template schema.
5100 
5101  /// Message template ID from SBE schema.
5102  enum { TemplateId = 25 };
5103 
5104  /// Initializes a blank instance.
5106 
5107  /// Creates an instance over the given memory block.
5109  void* data,
5110  EncodedLength length,
5111  NoInit)
5112  : SbeMessage(data, length)
5113  {
5114  checkCompatibility();
5115  }
5116 
5117  /// Creates an instance over the given SBE message.
5118  explicit
5120  const SbeMessage& message)
5121  : SbeMessage(message)
5122  {
5123  assert(message.valid());
5124 
5125  checkCompatibility();
5126  }
5127 
5128  /// Creates an instance over the given memory block.
5129  /// Performs no checks.
5131  void* data,
5132  EncodedLength length,
5133  NoInit,
5134  NoCheck)
5136  : SbeMessage(data, length, NoCheck())
5137  {
5138  assert(schemaId() == Schema::Id);
5139  assert(version() >= Schema::MinimalVersion);
5140  assert(TemplateId == templateId());
5141  }
5142 
5143  /// FIX Message Type.
5148  {
5149  return MessageType::MarketDataIncrementalRefresh;
5150  }
5151 
5152  /// Specifies the service pack release being applied at
5153  /// message level.
5158  {
5159  return ApplVerID::FIX50SP2;
5160  }
5161 
5162  /// Security ID as defined by B3. For the SecurityID list, see
5163  /// the Security Definition message in Market Data feed.
5164  ONIXS_B3_UMDF_MD_NODISCARD
5167  {
5169 
5170  return ordinary<SecurityID>(offset);
5171  }
5172 
5173  /// Identifies the class of the SecurityID (Exchange Symbol).
5178  {
5179  return SecurityIDSource::EXCHANGE_SYMBOL;
5180  }
5181 
5182  /// Market to which the symbol belongs.
5184  ONIXS_B3_UMDF_MD_NODISCARD
5188  {
5189  return constructStrRef("BVMF");
5190  }
5191 
5192  /// Identifies the end of the current event and if it is a
5193  /// retransmission.
5194  ONIXS_B3_UMDF_MD_NODISCARD
5197  {
5199 
5200  return ordinary<MatchEventIndicator>(offset);
5201  }
5202 
5203  /// Update Action (NEW or DELETE).
5204  ONIXS_B3_UMDF_MD_NODISCARD
5207  {
5209 
5210  return enumeration<UpdateAction>(offset);
5211  }
5212 
5213  /// Entry type: Trading Session Low Price.
5218  {
5219  return EntryType::SESSION_LOW_PRICE;
5220  }
5221 
5222  /// Used to specify the trading date for which a set of market
5223  /// data applies.
5224  ONIXS_B3_UMDF_MD_NODISCARD
5227  {
5229 
5230  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
5231  }
5232 
5233  /// Trading Session Low Price.
5234  ONIXS_B3_UMDF_MD_NODISCARD
5237  {
5239 
5240  return decimal<Price>(offset);
5241  }
5242 
5243  /// Date and time of market data entry.
5244  ONIXS_B3_UMDF_MD_NODISCARD
5247  {
5249 
5250  return ordinary(value, offset, NullUTCTimestampNanos());
5251  }
5252 
5253  /// Sequence number per instrument update. Zeroed in snapshot
5254  /// feed.
5255  ONIXS_B3_UMDF_MD_NODISCARD
5256  bool rptSeq(RptSeq& value) const
5258  {
5260 
5261  return ordinary(value, offset, NullRptSeq());
5262  }
5263 
5264  /// Minimal size of message body in bytes.
5267  static
5268  BlockLength
5270  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5272  {
5273  return
5274  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5275  32;
5276  }
5277 
5278  /// Size of message body in bytes.
5283  {
5284  return
5285  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5286  minimalBlockLength(version);
5287  }
5288 
5289  /// Minimal variable fields size (when variable-length fields are empty).
5291  ONIXS_B3_UMDF_MD_NODISCARD
5293  static
5294  MessageSize
5296  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5297  {
5298  return
5299  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5300  0;
5301  }
5302 
5303  /// \return class name.
5305  ONIXS_B3_UMDF_MD_NODISCARD
5307  static const Char* className()
5308  {
5309  return "LowPrice_25";
5310  }
5311 
5312  /// FIX message type.
5314  ONIXS_B3_UMDF_MD_NODISCARD
5316  static StrRef fixType()
5318  {
5319  return constructStrRef("LowPrice_25");
5320  }
5321 
5322  /// \return a human-readable presentation.
5323  ONIXS_B3_UMDF_MD_NODISCARD
5324  std::string toString() const;
5325 
5326 private:
5327  void checkLength(
5328  EncodedLength length, SchemaVersion version) const
5329  {
5330  const EncodedLength minimalRequiredLength =
5331  minimalBlockLength(version) +
5332  MessageHeader::Size +
5333  getMinimalVariableFieldsSize(version);
5334 
5335  checkBinaryLength(
5336  *this, length, minimalRequiredLength);
5337  }
5338 
5339  void checkCompatibility() const
5340  {
5341  assert(TemplateId == templateId());
5342 
5343  checkSchema<Schema>(schemaId(), version());
5344  checkLength(bufferSize(), version());
5345  }
5346 };
5347 
5348 /// The latest price traded for the security in the trading session..
5351 : SbeMessage
5352 {
5353  /// Used template schema.
5355 
5356  /// Message template ID from SBE schema.
5357  enum { TemplateId = 27 };
5358 
5359  /// Initializes a blank instance.
5361 
5362  /// Creates an instance over the given memory block.
5364  void* data,
5365  EncodedLength length,
5366  NoInit)
5367  : SbeMessage(data, length)
5368  {
5369  checkCompatibility();
5370  }
5371 
5372  /// Creates an instance over the given SBE message.
5373  explicit
5375  const SbeMessage& message)
5376  : SbeMessage(message)
5377  {
5378  assert(message.valid());
5379 
5380  checkCompatibility();
5381  }
5382 
5383  /// Creates an instance over the given memory block.
5384  /// Performs no checks.
5386  void* data,
5387  EncodedLength length,
5388  NoInit,
5389  NoCheck)
5391  : SbeMessage(data, length, NoCheck())
5392  {
5393  assert(schemaId() == Schema::Id);
5394  assert(version() >= Schema::MinimalVersion);
5395  assert(TemplateId == templateId());
5396  }
5397 
5398  /// FIX Message Type.
5403  {
5404  return MessageType::MarketDataIncrementalRefresh;
5405  }
5406 
5407  /// Specifies the service pack release being applied at
5408  /// message level.
5413  {
5414  return ApplVerID::FIX50SP2;
5415  }
5416 
5417  /// Security ID as defined by B3. For the SecurityID list, see
5418  /// the Security Definition message in Market Data feed.
5419  ONIXS_B3_UMDF_MD_NODISCARD
5422  {
5424 
5425  return ordinary<SecurityID>(offset);
5426  }
5427 
5428  /// Identifies the class of the SecurityID (Exchange Symbol).
5433  {
5434  return SecurityIDSource::EXCHANGE_SYMBOL;
5435  }
5436 
5437  /// Market to which the symbol belongs.
5439  ONIXS_B3_UMDF_MD_NODISCARD
5443  {
5444  return constructStrRef("BVMF");
5445  }
5446 
5447  /// Identifies the end of the current event and if it is a
5448  /// retransmission.
5449  ONIXS_B3_UMDF_MD_NODISCARD
5452  {
5454 
5455  return ordinary<MatchEventIndicator>(offset);
5456  }
5457 
5458  /// Update Action (NEW) - always replace.
5463  {
5464  return UpdateAction::NEW;
5465  }
5466 
5467  /// Entry type: Last Trade Price.
5472  {
5473  return EntryType::TRADE;
5474  }
5475 
5476  /// Identifier for trading session.
5477  ONIXS_B3_UMDF_MD_NODISCARD
5480  {
5482 
5483  return enumeration<TradingSessionID>(offset);
5484  }
5485 
5486  /// Set of conditions describing a trade.
5487  ONIXS_B3_UMDF_MD_NODISCARD
5490  {
5492 
5493  return ordinary<TradeCondition>(offset);
5494  }
5495 
5496  /// Last Trade Price.
5497  ONIXS_B3_UMDF_MD_NODISCARD
5500  {
5502 
5503  return decimal<Price>(offset);
5504  }
5505 
5506  /// Quantity or volume represented by the Market Data Entry.
5507  ONIXS_B3_UMDF_MD_NODISCARD
5510  {
5512 
5513  return ordinary<Quantity>(offset);
5514  }
5515 
5516  /// Contains the unique identifier for this trade per
5517  /// instrument + trading date, as assigned by the exchange.
5518  /// Required if reporting a Trade.
5519  ONIXS_B3_UMDF_MD_NODISCARD
5522  {
5524 
5525  return ordinary<TradeID>(offset);
5526  }
5527 
5528  /// For reporting trades (buying party).
5529  ONIXS_B3_UMDF_MD_NODISCARD
5530  bool mDEntryBuyer(FirmOptional& value) const
5532  {
5534 
5535  return ordinary(value, offset, NullFirmOptional());
5536  }
5537 
5538  /// For reporting trades (selling party).
5539  ONIXS_B3_UMDF_MD_NODISCARD
5540  bool mDEntrySeller(FirmOptional& value) const
5542  {
5544 
5545  return ordinary(value, offset, NullFirmOptional());
5546  }
5547 
5548  /// Used to specify the trading date for which a set of market
5549  /// data applies.
5550  ONIXS_B3_UMDF_MD_NODISCARD
5553  {
5555 
5556  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
5557  }
5558 
5559  /// Date and time of market data entry.
5560  ONIXS_B3_UMDF_MD_NODISCARD
5563  {
5565 
5566  return ordinary(value, offset, NullUTCTimestampNanos());
5567  }
5568 
5569  /// Sequence number per instrument update. Zeroed in snapshot
5570  /// feed.
5571  ONIXS_B3_UMDF_MD_NODISCARD
5572  bool rptSeq(RptSeq& value) const
5574  {
5576 
5577  return ordinary(value, offset, NullRptSeq());
5578  }
5579 
5580  /// Specifies the number of days that may elapse before
5581  /// delivery of the security. Only used for trades in forward
5582  /// market.
5583  ONIXS_B3_UMDF_MD_NODISCARD
5584  bool sellerDays(UInt16NULL& value) const
5586  {
5588 
5589  return ordinary(value, offset, NullUInt16NULL());
5590  }
5591 
5592  /// Interest Rate of the Termo Trade. Expressed in decimal
5593  /// form. For example, 1% points is expressed and sent as
5594  /// 0.01. One basis point is represented as 0.0001.
5595  ONIXS_B3_UMDF_MD_NODISCARD
5596  bool mDEntryInterestRate(Percentage& value) const
5598  {
5600 
5601  return decimal(value, offset, NullPercentage());
5602  }
5603 
5604  /// Sub type of trade assigned to a trade.
5605  ONIXS_B3_UMDF_MD_NODISCARD
5606  bool trdSubType(TrdSubType::Enum& value) const
5608  {
5610 
5611  return enumeration<TrdSubType>(value, offset, NullUInt8NULL());
5612  }
5613 
5614  /// Minimal size of message body in bytes.
5617  static
5618  BlockLength
5620  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5622  {
5623  return
5624  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5625  68;
5626  }
5627 
5628  /// Size of message body in bytes.
5631  static
5632  BlockLength
5634  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5636  {
5637  return
5638  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5639  68;
5640  }
5641 
5642  /// Minimal variable fields size (when variable-length fields are empty).
5644  ONIXS_B3_UMDF_MD_NODISCARD
5646  static
5647  MessageSize
5649  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5650  {
5651  return
5652  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
5653  0;
5654  }
5655 
5656  /// \return class name.
5658  ONIXS_B3_UMDF_MD_NODISCARD
5660  static const Char* className()
5661  {
5662  return "LastTradePrice_27";
5663  }
5664 
5665  /// FIX message type.
5667  ONIXS_B3_UMDF_MD_NODISCARD
5669  static StrRef fixType()
5671  {
5672  return constructStrRef("LastTradePrice_27");
5673  }
5674 
5675  /// \return a human-readable presentation.
5676  ONIXS_B3_UMDF_MD_NODISCARD
5677  std::string toString() const;
5678 
5679 private:
5680  void checkLength(
5681  EncodedLength length, SchemaVersion version) const
5682  {
5683  const EncodedLength minimalRequiredLength =
5684  minimalBlockLength(version) +
5685  MessageHeader::Size +
5686  getMinimalVariableFieldsSize(version);
5687 
5688  checkBinaryLength(
5689  *this, length, minimalRequiredLength);
5690  }
5691 
5692  void checkCompatibility() const
5693  {
5694  assert(TemplateId == templateId());
5695 
5696  checkSchema<Schema>(schemaId(), version());
5697  checkLength(bufferSize(), version());
5698  }
5699 };
5700 
5701 /// Settlement price or the previous day’s adjusted closing price..
5704 : SbeMessage
5705 {
5706  /// Used template schema.
5708 
5709  /// Message template ID from SBE schema.
5710  enum { TemplateId = 28 };
5711 
5712  /// Available since version.
5713  enum { SinceVersion = 9 };
5714 
5715  /// Initializes a blank instance.
5717 
5718  /// Creates an instance over the given memory block.
5720  void* data,
5721  EncodedLength length,
5722  NoInit)
5723  : SbeMessage(data, length)
5724  {
5725  assert(this->version() >= SinceVersion);
5726  checkCompatibility();
5727  }
5728 
5729  /// Creates an instance over the given SBE message.
5730  explicit
5732  const SbeMessage& message)
5733  : SbeMessage(message)
5734  {
5735  assert(message.valid());
5736  assert(this->version() >= SinceVersion);
5737 
5738  checkCompatibility();
5739  }
5740 
5741  /// Creates an instance over the given memory block.
5742  /// Performs no checks.
5744  void* data,
5745  EncodedLength length,
5746  NoInit,
5747  NoCheck)
5749  : SbeMessage(data, length, NoCheck())
5750  {
5751  assert(schemaId() == Schema::Id);
5752  assert(version() >= SinceVersion);
5753  assert(TemplateId == templateId());
5754  }
5755 
5756  /// FIX Message Type.
5761  {
5762  return MessageType::MarketDataIncrementalRefresh;
5763  }
5764 
5765  /// Specifies the service pack release being applied at
5766  /// message level.
5771  {
5772  return ApplVerID::FIX50SP2;
5773  }
5774 
5775  /// Security ID as defined by B3. For the SecurityID list, see
5776  /// the Security Definition message in Market Data feed.
5777  ONIXS_B3_UMDF_MD_NODISCARD
5780  {
5782 
5783  return ordinary<SecurityID>(offset);
5784  }
5785 
5786  /// Identifies the class of the SecurityID (Exchange Symbol).
5791  {
5792  return SecurityIDSource::EXCHANGE_SYMBOL;
5793  }
5794 
5795  /// Market to which the symbol belongs.
5797  ONIXS_B3_UMDF_MD_NODISCARD
5801  {
5802  return constructStrRef("BVMF");
5803  }
5804 
5805  /// Identifies the end of the current event and if it is a
5806  /// retransmission.
5807  ONIXS_B3_UMDF_MD_NODISCARD
5810  {
5812 
5813  return ordinary<MatchEventIndicator>(offset);
5814  }
5815 
5816  /// Update Action (NEW) - always replace.
5821  {
5822  return UpdateAction::NEW;
5823  }
5824 
5825  /// Entry type: Settlement Price.
5830  {
5831  return EntryType::SETTLEMENT_PRICE;
5832  }
5833 
5834  /// Used to specify the trading date for which a set of market
5835  /// data applies.
5836  ONIXS_B3_UMDF_MD_NODISCARD
5839  {
5841 
5842  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
5843  }
5844 
5845  /// Settlement Price.
5846  ONIXS_B3_UMDF_MD_NODISCARD
5849  {
5851 
5852  return decimal<Price>(offset);
5853  }
5854 
5855  /// Date and time of market data entry.
5856  ONIXS_B3_UMDF_MD_NODISCARD
5859  {
5861 
5862  return ordinary(value, offset, NullUTCTimestampNanos());
5863  }
5864 
5865  /// Identifies if the settlement price represents a daily,
5866  /// preliminary or an entry from previous business day.
5867  ONIXS_B3_UMDF_MD_NODISCARD
5870  {
5872 
5873  return enumeration<OpenCloseSettlFlag>(offset);
5874  }
5875 
5876  /// Code to represent the price type.
5877  ONIXS_B3_UMDF_MD_NODISCARD
5878  bool priceType(PriceType::Enum& value) const
5880  {
5882 
5883  return enumeration<PriceType>(value, offset, NullUInt8NULL());
5884  }
5885 
5886  /// Type of settlement price: FINAL, THEORETICAL or UPDATED.
5887  ONIXS_B3_UMDF_MD_NODISCARD
5890  {
5892 
5893  return enumeration<SettlPriceType>(offset);
5894  }
5895 
5896  /// Sequence number per instrument update. Zeroed in snapshot
5897  /// feed.
5898  ONIXS_B3_UMDF_MD_NODISCARD
5899  bool rptSeq(RptSeq& value) const
5901  {
5903 
5904  return ordinary(value, offset, NullRptSeq());
5905  }
5906 
5907  /// Minimal size of message body in bytes.
5910  static
5911  BlockLength
5913  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5915  {
5916  return
5917  ONIXS_B3_UMDF_MD_ASSERT(version >= SinceVersion),
5918  36;
5919  }
5920 
5921  /// Size of message body in bytes.
5924  static
5925  BlockLength
5927  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5929  {
5930  return
5931  ONIXS_B3_UMDF_MD_ASSERT(version >= SinceVersion),
5932  36;
5933  }
5934 
5935  /// Minimal variable fields size (when variable-length fields are empty).
5937  ONIXS_B3_UMDF_MD_NODISCARD
5939  static
5940  MessageSize
5942  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
5943  {
5944  return
5945  ONIXS_B3_UMDF_MD_ASSERT(version >= SinceVersion),
5946  0;
5947  }
5948 
5949  /// \return class name.
5951  ONIXS_B3_UMDF_MD_NODISCARD
5953  static const Char* className()
5954  {
5955  return "SettlementPrice_28";
5956  }
5957 
5958  /// FIX message type.
5960  ONIXS_B3_UMDF_MD_NODISCARD
5962  static StrRef fixType()
5964  {
5965  return constructStrRef("SettlementPrice_28");
5966  }
5967 
5968  /// \return a human-readable presentation.
5969  ONIXS_B3_UMDF_MD_NODISCARD
5970  std::string toString() const;
5971 
5972 private:
5973  void checkLength(
5974  EncodedLength length, SchemaVersion version) const
5975  {
5976  const EncodedLength minimalRequiredLength =
5977  minimalBlockLength(version) +
5978  MessageHeader::Size +
5979  getMinimalVariableFieldsSize(version);
5980 
5981  checkBinaryLength(
5982  *this, length, minimalRequiredLength);
5983  }
5984 
5985  void checkCompatibility() const
5986  {
5987  assert(TemplateId == templateId());
5988 
5989  checkSchema<Schema>(schemaId(), version());
5990  checkLength(bufferSize(), version());
5991  }
5992 };
5993 
5994 /// Total number of contracts in a commodity or options market that are still open..
5997 : SbeMessage
5998 {
5999  /// Used template schema.
6001 
6002  /// Message template ID from SBE schema.
6003  enum { TemplateId = 29 };
6004 
6005  /// Available since version.
6006  enum { SinceVersion = 9 };
6007 
6008  /// Initializes a blank instance.
6010 
6011  /// Creates an instance over the given memory block.
6013  void* data,
6014  EncodedLength length,
6015  NoInit)
6016  : SbeMessage(data, length)
6017  {
6018  assert(this->version() >= SinceVersion);
6019  checkCompatibility();
6020  }
6021 
6022  /// Creates an instance over the given SBE message.
6023  explicit
6025  const SbeMessage& message)
6026  : SbeMessage(message)
6027  {
6028  assert(message.valid());
6029  assert(this->version() >= SinceVersion);
6030 
6031  checkCompatibility();
6032  }
6033 
6034  /// Creates an instance over the given memory block.
6035  /// Performs no checks.
6037  void* data,
6038  EncodedLength length,
6039  NoInit,
6040  NoCheck)
6042  : SbeMessage(data, length, NoCheck())
6043  {
6044  assert(schemaId() == Schema::Id);
6045  assert(version() >= SinceVersion);
6046  assert(TemplateId == templateId());
6047  }
6048 
6049  /// FIX Message Type.
6054  {
6055  return MessageType::MarketDataIncrementalRefresh;
6056  }
6057 
6058  /// Specifies the service pack release being applied at
6059  /// message level.
6064  {
6065  return ApplVerID::FIX50SP2;
6066  }
6067 
6068  /// Security ID as defined by B3. For the SecurityID list, see
6069  /// the Security Definition message in Market Data feed.
6070  ONIXS_B3_UMDF_MD_NODISCARD
6073  {
6075 
6076  return ordinary<SecurityID>(offset);
6077  }
6078 
6079  /// Identifies the class of the SecurityID (Exchange Symbol).
6084  {
6085  return SecurityIDSource::EXCHANGE_SYMBOL;
6086  }
6087 
6088  /// Market to which the symbol belongs.
6090  ONIXS_B3_UMDF_MD_NODISCARD
6094  {
6095  return constructStrRef("BVMF");
6096  }
6097 
6098  /// Identifies the end of the current event and if it is a
6099  /// retransmission.
6100  ONIXS_B3_UMDF_MD_NODISCARD
6103  {
6105 
6106  return ordinary<MatchEventIndicator>(offset);
6107  }
6108 
6109  /// Update Action (NEW) - always replace.
6114  {
6115  return UpdateAction::NEW;
6116  }
6117 
6118  /// Entry type: Open Interest.
6123  {
6124  return EntryType::OPEN_INTEREST;
6125  }
6126 
6127  /// Used to specify the trading date for which a set of market
6128  /// data applies.
6129  ONIXS_B3_UMDF_MD_NODISCARD
6132  {
6134 
6135  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
6136  }
6137 
6138  /// Indicates volume of contracts currently open.
6139  ONIXS_B3_UMDF_MD_NODISCARD
6142  {
6144 
6145  return ordinary<Quantity>(offset);
6146  }
6147 
6148  /// Date and time of market data entry.
6149  ONIXS_B3_UMDF_MD_NODISCARD
6152  {
6154 
6155  return ordinary(value, offset, NullUTCTimestampNanos());
6156  }
6157 
6158  /// Sequence number per instrument update. Zeroed in snapshot
6159  /// feed.
6160  ONIXS_B3_UMDF_MD_NODISCARD
6161  bool rptSeq(RptSeq& value) const
6163  {
6165 
6166  return ordinary(value, offset, NullRptSeq());
6167  }
6168 
6169  /// Minimal size of message body in bytes.
6172  static
6173  BlockLength
6175  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6177  {
6178  return
6179  ONIXS_B3_UMDF_MD_ASSERT(version >= SinceVersion),
6180  32;
6181  }
6182 
6183  /// Size of message body in bytes.
6186  static
6187  BlockLength
6189  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6191  {
6192  return
6193  ONIXS_B3_UMDF_MD_ASSERT(version >= SinceVersion),
6194  32;
6195  }
6196 
6197  /// Minimal variable fields size (when variable-length fields are empty).
6199  ONIXS_B3_UMDF_MD_NODISCARD
6201  static
6202  MessageSize
6204  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6205  {
6206  return
6207  ONIXS_B3_UMDF_MD_ASSERT(version >= SinceVersion),
6208  0;
6209  }
6210 
6211  /// \return class name.
6213  ONIXS_B3_UMDF_MD_NODISCARD
6215  static const Char* className()
6216  {
6217  return "OpenInterest_29";
6218  }
6219 
6220  /// FIX message type.
6222  ONIXS_B3_UMDF_MD_NODISCARD
6224  static StrRef fixType()
6226  {
6227  return constructStrRef("OpenInterest_29");
6228  }
6229 
6230  /// \return a human-readable presentation.
6231  ONIXS_B3_UMDF_MD_NODISCARD
6232  std::string toString() const;
6233 
6234 private:
6235  void checkLength(
6236  EncodedLength length, SchemaVersion version) const
6237  {
6238  const EncodedLength minimalRequiredLength =
6239  minimalBlockLength(version) +
6240  MessageHeader::Size +
6241  getMinimalVariableFieldsSize(version);
6242 
6243  checkBinaryLength(
6244  *this, length, minimalRequiredLength);
6245  }
6246 
6247  void checkCompatibility() const
6248  {
6249  assert(TemplateId == templateId());
6250 
6251  checkSchema<Schema>(schemaId(), version());
6252  checkLength(bufferSize(), version());
6253  }
6254 };
6255 
6256 /// Header for the snapshot of a single instrument.
6259 : SbeMessage
6260 {
6261  /// Used template schema.
6263 
6264  /// Message template ID from SBE schema.
6265  enum { TemplateId = 30 };
6266 
6267  /// Initializes a blank instance.
6269 
6270  /// Creates an instance over the given memory block.
6272  void* data,
6273  EncodedLength length,
6274  NoInit)
6275  : SbeMessage(data, length)
6276  {
6277  checkCompatibility();
6278  }
6279 
6280  /// Creates an instance over the given SBE message.
6281  explicit
6283  const SbeMessage& message)
6284  : SbeMessage(message)
6285  {
6286  assert(message.valid());
6287 
6288  checkCompatibility();
6289  }
6290 
6291  /// Creates an instance over the given memory block.
6292  /// Performs no checks.
6294  void* data,
6295  EncodedLength length,
6296  NoInit,
6297  NoCheck)
6299  : SbeMessage(data, length, NoCheck())
6300  {
6301  assert(schemaId() == Schema::Id);
6302  assert(version() >= Schema::MinimalVersion);
6303  assert(TemplateId == templateId());
6304  }
6305 
6306  /// FIX Message Type.
6311  {
6312  return MessageType::MarketDataSnapshotFullRefresh;
6313  }
6314 
6315  /// Specifies the service pack release being applied at
6316  /// message level.
6321  {
6322  return ApplVerID::FIX50SP2;
6323  }
6324 
6325  /// Security ID as defined by B3. For the SecurityID list, see
6326  /// the Security Definition message in Market Data feed.
6327  ONIXS_B3_UMDF_MD_NODISCARD
6330  {
6332 
6333  return ordinary<SecurityID>(offset);
6334  }
6335 
6336  /// Identifies the class of the SecurityID (Exchange Symbol).
6341  {
6342  return SecurityIDSource::EXCHANGE_SYMBOL;
6343  }
6344 
6345  /// Market to which the symbol belongs.
6347  ONIXS_B3_UMDF_MD_NODISCARD
6351  {
6352  return constructStrRef("BVMF");
6353  }
6354 
6355  /// The last processed packet sequence number of the
6356  /// incremental channel as of the time the snapshot was
6357  /// generated. This value is used to synchronize the snapshot
6358  /// with the incremental feed.
6359  ONIXS_B3_UMDF_MD_NODISCARD
6362  {
6364 
6365  return ordinary<SeqNum>(offset);
6366  }
6367 
6368  /// Total number of snapshots to be returned in the current
6369  /// replay loop.
6370  ONIXS_B3_UMDF_MD_NODISCARD
6373  {
6375 
6376  return ordinary<UInt32>(offset);
6377  }
6378 
6379  /// Total number of bid orders that constitute this snapshot.
6380  ONIXS_B3_UMDF_MD_NODISCARD
6383  {
6385 
6386  return ordinary<UInt32>(offset);
6387  }
6388 
6389  /// Total number of ask orders that constitute this snapshot.
6390  ONIXS_B3_UMDF_MD_NODISCARD
6393  {
6395 
6396  return ordinary<UInt32>(offset);
6397  }
6398 
6399  /// Total number of statistics (incremental and security
6400  /// status messages) that constitute this snapshot.
6401  ONIXS_B3_UMDF_MD_NODISCARD
6404  {
6406 
6407  return ordinary<UInt16>(offset);
6408  }
6409 
6410  /// Last processed RptSeq (sequence number per instrument
6411  /// update) for this instrument. Can be used to synchronize
6412  /// the snapshot with the incremental feed if the client is
6413  /// only interested in a subset of the channel's instruments.
6414  ONIXS_B3_UMDF_MD_NODISCARD
6415  bool lastRptSeq(RptSeq& value) const
6417  {
6419 
6420  return ordinary(value, offset, NullRptSeq());
6421  }
6422 
6423  /// Minimal size of message body in bytes.
6426  static
6427  BlockLength
6429  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6431  {
6432  return
6433  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
6434  32;
6435  }
6436 
6437  /// Size of message body in bytes.
6440  static
6441  BlockLength
6443  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6445  {
6446  return
6447  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
6448  minimalBlockLength(version);
6449  }
6450 
6451  /// Minimal variable fields size (when variable-length fields are empty).
6453  ONIXS_B3_UMDF_MD_NODISCARD
6455  static
6456  MessageSize
6458  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6459  {
6460  return
6461  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
6462  0;
6463  }
6464 
6465  /// \return class name.
6467  ONIXS_B3_UMDF_MD_NODISCARD
6469  static const Char* className()
6470  {
6471  return "SnapshotFullRefresh_Header_30";
6472  }
6473 
6474  /// FIX message type.
6476  ONIXS_B3_UMDF_MD_NODISCARD
6478  static StrRef fixType()
6480  {
6481  return constructStrRef(
6482  "SnapshotFullRefresh_Header_30");
6483  }
6484 
6485  /// \return a human-readable presentation.
6486  ONIXS_B3_UMDF_MD_NODISCARD
6487  std::string toString() const;
6488 
6489 private:
6490  void checkLength(
6491  EncodedLength length, SchemaVersion version) const
6492  {
6493  const EncodedLength minimalRequiredLength =
6494  minimalBlockLength(version) +
6495  MessageHeader::Size +
6496  getMinimalVariableFieldsSize(version);
6497 
6498  checkBinaryLength(
6499  *this, length, minimalRequiredLength);
6500  }
6501 
6502  void checkCompatibility() const
6503  {
6504  assert(TemplateId == templateId());
6505 
6506  checkSchema<Schema>(schemaId(), version());
6507  checkLength(bufferSize(), version());
6508  }
6509 };
6510 
6511 /// Disseminates the creation or modification of a new order..
6514 : SbeMessage
6515 {
6516  /// Used template schema.
6518 
6519  /// Message template ID from SBE schema.
6520  enum { TemplateId = 50 };
6521 
6522  /// Initializes a blank instance.
6524 
6525  /// Creates an instance over the given memory block.
6527  void* data,
6528  EncodedLength length,
6529  NoInit)
6530  : SbeMessage(data, length)
6531  {
6532  checkCompatibility();
6533  }
6534 
6535  /// Creates an instance over the given SBE message.
6536  explicit
6538  const SbeMessage& message)
6539  : SbeMessage(message)
6540  {
6541  assert(message.valid());
6542 
6543  checkCompatibility();
6544  }
6545 
6546  /// Creates an instance over the given memory block.
6547  /// Performs no checks.
6549  void* data,
6550  EncodedLength length,
6551  NoInit,
6552  NoCheck)
6554  : SbeMessage(data, length, NoCheck())
6555  {
6556  assert(schemaId() == Schema::Id);
6557  assert(version() >= Schema::MinimalVersion);
6558  assert(TemplateId == templateId());
6559  }
6560 
6561  /// FIX Message Type.
6566  {
6567  return MessageType::MarketDataIncrementalRefresh;
6568  }
6569 
6570  /// Specifies the service pack release being applied at
6571  /// message level.
6576  {
6577  return ApplVerID::FIX50SP2;
6578  }
6579 
6580  /// Security ID as defined by B3. For the SecurityID list, see
6581  /// the Security Definition message in Market Data feed.
6582  ONIXS_B3_UMDF_MD_NODISCARD
6585  {
6587 
6588  return ordinary<SecurityID>(offset);
6589  }
6590 
6591  /// Identifies the class of the SecurityID (Exchange Symbol).
6596  {
6597  return SecurityIDSource::EXCHANGE_SYMBOL;
6598  }
6599 
6600  /// Market to which the symbol belongs.
6602  ONIXS_B3_UMDF_MD_NODISCARD
6606  {
6607  return constructStrRef("BVMF");
6608  }
6609 
6610  /// Identifies if it is a retransmission.
6611  ONIXS_B3_UMDF_MD_NODISCARD
6614  {
6616 
6617  return ordinary<MatchEventIndicator>(offset);
6618  }
6619 
6620  /// Update Action (NEW, CHANGE).
6621  ONIXS_B3_UMDF_MD_NODISCARD
6624  {
6626 
6627  return enumeration<UpdateAction>(offset);
6628  }
6629 
6630  /// Entry Type (BID or OFFER).
6631  ONIXS_B3_UMDF_MD_NODISCARD
6634  {
6636 
6637  return enumeration<EntryType>(offset);
6638  }
6639 
6640  /// Price per share or contract. Conditionally required if the
6641  /// order type requires a price (not market orders).
6642  ONIXS_B3_UMDF_MD_NODISCARD
6643  bool mDEntryPx(PriceOptional& value) const
6645  {
6647 
6648  return decimal(value, offset, NullPriceOptional());
6649  }
6650 
6651  /// Displayed quantity or volume represented by the Market
6652  /// Data Entry.
6653  ONIXS_B3_UMDF_MD_NODISCARD
6656  {
6658 
6659  return ordinary<Quantity>(offset);
6660  }
6661 
6662  /// Display position of a bid or offer, numbered from most
6663  /// competitive to least competitive, per market side,
6664  /// beginning with 1.
6665  ONIXS_B3_UMDF_MD_NODISCARD
6668  {
6670 
6671  return ordinary<EntryPositionNo>(offset);
6672  }
6673 
6674  /// Identifies the broker firm.
6675  ONIXS_B3_UMDF_MD_NODISCARD
6676  bool enteringFirm(FirmOptional& value) const
6678  {
6680 
6681  return ordinary(value, offset, NullFirmOptional());
6682  }
6683 
6684  /// The date and time when the order was inserted or re-
6685  /// inserted into the order book or manually altered by
6686  /// MktOps.
6687  ONIXS_B3_UMDF_MD_NODISCARD
6690  {
6692 
6693  return ordinary(value, offset, NullUTCTimestampNanos());
6694  }
6695 
6696  /// Exchange-generated order identifier that changes for each
6697  /// order modification event, or quantity replenishment in
6698  /// disclosed orders.
6699  ONIXS_B3_UMDF_MD_NODISCARD
6702  {
6704 
6705  return ordinary<OrderID>(offset);
6706  }
6707 
6708  /// Sequence number per instrument update. Zeroed in snapshot
6709  /// feed.
6710  ONIXS_B3_UMDF_MD_NODISCARD
6711  bool rptSeq(RptSeq& value) const
6713  {
6715 
6716  return ordinary(value, offset, NullRptSeq());
6717  }
6718 
6719  /// Date and time of market data entry.
6720  ONIXS_B3_UMDF_MD_NODISCARD
6723  {
6725 
6726  return ordinary(value, offset, NullUTCTimestampNanos());
6727  }
6728 
6729  /// Minimal size of message body in bytes.
6732  static
6733  BlockLength
6735  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6737  {
6738  return
6739  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
6740  64;
6741  }
6742 
6743  /// Size of message body in bytes.
6746  static
6747  BlockLength
6749  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6751  {
6752  return
6753  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
6754  minimalBlockLength(version);
6755  }
6756 
6757  /// Minimal variable fields size (when variable-length fields are empty).
6759  ONIXS_B3_UMDF_MD_NODISCARD
6761  static
6762  MessageSize
6764  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
6765  {
6766  return
6767  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
6768  0;
6769  }
6770 
6771  /// \return class name.
6773  ONIXS_B3_UMDF_MD_NODISCARD
6775  static const Char* className()
6776  {
6777  return "Order_MBO_50";
6778  }
6779 
6780  /// FIX message type.
6782  ONIXS_B3_UMDF_MD_NODISCARD
6784  static StrRef fixType()
6786  {
6787  return constructStrRef("Order_MBO_50");
6788  }
6789 
6790  /// \return a human-readable presentation.
6791  ONIXS_B3_UMDF_MD_NODISCARD
6792  std::string toString() const;
6793 
6794 private:
6795  void checkLength(
6796  EncodedLength length, SchemaVersion version) const
6797  {
6798  const EncodedLength minimalRequiredLength =
6799  minimalBlockLength(version) +
6800  MessageHeader::Size +
6801  getMinimalVariableFieldsSize(version);
6802 
6803  checkBinaryLength(
6804  *this, length, minimalRequiredLength);
6805  }
6806 
6807  void checkCompatibility() const
6808  {
6809  assert(TemplateId == templateId());
6810 
6811  checkSchema<Schema>(schemaId(), version());
6812  checkLength(bufferSize(), version());
6813  }
6814 };
6815 
6816 /// Disseminates the deletion of a new order..
6819 : SbeMessage
6820 {
6821  /// Used template schema.
6823 
6824  /// Message template ID from SBE schema.
6825  enum { TemplateId = 51 };
6826 
6827  /// Initializes a blank instance.
6829 
6830  /// Creates an instance over the given memory block.
6832  void* data,
6833  EncodedLength length,
6834  NoInit)
6835  : SbeMessage(data, length)
6836  {
6837  checkCompatibility();
6838  }
6839 
6840  /// Creates an instance over the given SBE message.
6841  explicit
6843  const SbeMessage& message)
6844  : SbeMessage(message)
6845  {
6846  assert(message.valid());
6847 
6848  checkCompatibility();
6849  }
6850 
6851  /// Creates an instance over the given memory block.
6852  /// Performs no checks.
6854  void* data,
6855  EncodedLength length,
6856  NoInit,
6857  NoCheck)
6859  : SbeMessage(data, length, NoCheck())
6860  {
6861  assert(schemaId() == Schema::Id);
6862  assert(version() >= Schema::MinimalVersion);
6863  assert(TemplateId == templateId());
6864  }
6865 
6866  /// FIX Message Type.
6871  {
6872  return MessageType::MarketDataIncrementalRefresh;
6873  }
6874 
6875  /// Specifies the service pack release being applied at
6876  /// message level.
6881  {
6882  return ApplVerID::FIX50SP2;
6883  }
6884 
6885  /// Security ID as defined by B3. For the SecurityID list, see
6886  /// the Security Definition message in Market Data feed.
6887  ONIXS_B3_UMDF_MD_NODISCARD
6890  {
6892 
6893  return ordinary<SecurityID>(offset);
6894  }
6895 
6896  /// Identifies the class of the SecurityID (Exchange Symbol).
6901  {
6902  return SecurityIDSource::EXCHANGE_SYMBOL;
6903  }
6904 
6905  /// Market to which the symbol belongs.
6907  ONIXS_B3_UMDF_MD_NODISCARD
6911  {
6912  return constructStrRef("BVMF");
6913  }
6914 
6915  /// Identifies if it is a retransmission.
6916  ONIXS_B3_UMDF_MD_NODISCARD
6919  {
6921 
6922  return ordinary<MatchEventIndicator>(offset);
6923  }
6924 
6925  /// Update Action (DELETE).
6930  {
6931  return UpdateAction::DELETE;
6932  }
6933 
6934  /// Entry Type (BID or OFFER).
6935  ONIXS_B3_UMDF_MD_NODISCARD
6938  {
6940 
6941  return enumeration<EntryType>(offset);
6942  }
6943 
6944  /// Display position of a bid or offer, numbered from most
6945  /// competitive to least competitive, per market side,
6946  /// beginning with 1.
6947  ONIXS_B3_UMDF_MD_NODISCARD
6950  {
6952 
6953  return ordinary<EntryPositionNo>(offset);
6954  }
6955 
6956  /// Quantity of the deleted order.
6957  ONIXS_B3_UMDF_MD_NODISCARD
6958  bool mDEntrySize(QuantityOptional& value) const
6960  {
6962 
6963  return ordinary(value, offset, NullQuantityOptional());
6964  }
6965 
6966  /// Exchange-generated order identifier that changes for each
6967  /// order modification event, or quantity replenishment in
6968  /// disclosed orders.
6969  ONIXS_B3_UMDF_MD_NODISCARD
6972  {
6974 
6975  return ordinary<OrderID>(offset);
6976  }
6977 
6978  /// Date and time of market data entry.
6979  ONIXS_B3_UMDF_MD_NODISCARD
6982  {
6984 
6985  return ordinary(value, offset, NullUTCTimestampNanos());
6986  }
6987 
6988  /// Sequence number per instrument update. Zeroed in snapshot
6989  /// feed.
6990  ONIXS_B3_UMDF_MD_NODISCARD
6991  bool rptSeq(RptSeq& value) const
6993  {
6995 
6996  return ordinary(value, offset, NullRptSeq());
6997  }
6998 
6999  /// Minimal size of message body in bytes.
7002  static
7003  BlockLength
7005  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7007  {
7008  return
7009  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7010  44;
7011  }
7012 
7013  /// Size of message body in bytes.
7016  static
7017  BlockLength
7019  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7021  {
7022  return
7023  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7024  minimalBlockLength(version);
7025  }
7026 
7027  /// Minimal variable fields size (when variable-length fields are empty).
7029  ONIXS_B3_UMDF_MD_NODISCARD
7031  static
7032  MessageSize
7034  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7035  {
7036  return
7037  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7038  0;
7039  }
7040 
7041  /// \return class name.
7043  ONIXS_B3_UMDF_MD_NODISCARD
7045  static const Char* className()
7046  {
7047  return "DeleteOrder_MBO_51";
7048  }
7049 
7050  /// FIX message type.
7052  ONIXS_B3_UMDF_MD_NODISCARD
7054  static StrRef fixType()
7056  {
7057  return constructStrRef("DeleteOrder_MBO_51");
7058  }
7059 
7060  /// \return a human-readable presentation.
7061  ONIXS_B3_UMDF_MD_NODISCARD
7062  std::string toString() const;
7063 
7064 private:
7065  void checkLength(
7066  EncodedLength length, SchemaVersion version) const
7067  {
7068  const EncodedLength minimalRequiredLength =
7069  minimalBlockLength(version) +
7070  MessageHeader::Size +
7071  getMinimalVariableFieldsSize(version);
7072 
7073  checkBinaryLength(
7074  *this, length, minimalRequiredLength);
7075  }
7076 
7077  void checkCompatibility() const
7078  {
7079  assert(TemplateId == templateId());
7080 
7081  checkSchema<Schema>(schemaId(), version());
7082  checkLength(bufferSize(), version());
7083  }
7084 };
7085 
7086 /// Disseminates mass deletion of orders..
7089 : SbeMessage
7090 {
7091  /// Used template schema.
7093 
7094  /// Message template ID from SBE schema.
7095  enum { TemplateId = 52 };
7096 
7097  /// Initializes a blank instance.
7099 
7100  /// Creates an instance over the given memory block.
7102  void* data,
7103  EncodedLength length,
7104  NoInit)
7105  : SbeMessage(data, length)
7106  {
7107  checkCompatibility();
7108  }
7109 
7110  /// Creates an instance over the given SBE message.
7111  explicit
7113  const SbeMessage& message)
7114  : SbeMessage(message)
7115  {
7116  assert(message.valid());
7117 
7118  checkCompatibility();
7119  }
7120 
7121  /// Creates an instance over the given memory block.
7122  /// Performs no checks.
7124  void* data,
7125  EncodedLength length,
7126  NoInit,
7127  NoCheck)
7129  : SbeMessage(data, length, NoCheck())
7130  {
7131  assert(schemaId() == Schema::Id);
7132  assert(version() >= Schema::MinimalVersion);
7133  assert(TemplateId == templateId());
7134  }
7135 
7136  /// FIX Message Type.
7141  {
7142  return MessageType::MarketDataIncrementalRefresh;
7143  }
7144 
7145  /// Specifies the service pack release being applied at
7146  /// message level.
7151  {
7152  return ApplVerID::FIX50SP2;
7153  }
7154 
7155  /// Security ID as defined by B3. For the SecurityID list, see
7156  /// the Security Definition message in Market Data feed.
7157  ONIXS_B3_UMDF_MD_NODISCARD
7160  {
7162 
7163  return ordinary<SecurityID>(offset);
7164  }
7165 
7166  /// Identifies the class of the SecurityID (Exchange Symbol).
7171  {
7172  return SecurityIDSource::EXCHANGE_SYMBOL;
7173  }
7174 
7175  /// Market to which the symbol belongs.
7177  ONIXS_B3_UMDF_MD_NODISCARD
7181  {
7182  return constructStrRef("BVMF");
7183  }
7184 
7185  /// Identifies if it is a retransmission.
7186  ONIXS_B3_UMDF_MD_NODISCARD
7189  {
7191 
7192  return ordinary<MatchEventIndicator>(offset);
7193  }
7194 
7195  /// Update Action (DELETE_FROM, DELETE_THRU).
7196  ONIXS_B3_UMDF_MD_NODISCARD
7199  {
7201 
7202  return enumeration<UpdateAction>(offset);
7203  }
7204 
7205  /// Entry Type (BID or OFFER).
7206  ONIXS_B3_UMDF_MD_NODISCARD
7209  {
7211 
7212  return enumeration<EntryType>(offset);
7213  }
7214 
7215  /// Display position of a bid or offer where orders will be
7216  /// deleted (up or down from this position).
7217  ONIXS_B3_UMDF_MD_NODISCARD
7220  {
7222 
7223  return ordinary<EntryPositionNo>(offset);
7224  }
7225 
7226  /// Date and time of market data entry.
7227  ONIXS_B3_UMDF_MD_NODISCARD
7230  {
7232 
7233  return ordinary(value, offset, NullUTCTimestampNanos());
7234  }
7235 
7236  /// Sequence number per instrument update. Zeroed in snapshot
7237  /// feed.
7238  ONIXS_B3_UMDF_MD_NODISCARD
7239  bool rptSeq(RptSeq& value) const
7241  {
7243 
7244  return ordinary(value, offset, NullRptSeq());
7245  }
7246 
7247  /// Minimal size of message body in bytes.
7250  static
7251  BlockLength
7253  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7255  {
7256  return
7257  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7258  28;
7259  }
7260 
7261  /// Size of message body in bytes.
7264  static
7265  BlockLength
7267  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7269  {
7270  return
7271  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7272  minimalBlockLength(version);
7273  }
7274 
7275  /// Minimal variable fields size (when variable-length fields are empty).
7277  ONIXS_B3_UMDF_MD_NODISCARD
7279  static
7280  MessageSize
7282  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7283  {
7284  return
7285  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7286  0;
7287  }
7288 
7289  /// \return class name.
7291  ONIXS_B3_UMDF_MD_NODISCARD
7293  static const Char* className()
7294  {
7295  return "MassDeleteOrders_MBO_52";
7296  }
7297 
7298  /// FIX message type.
7300  ONIXS_B3_UMDF_MD_NODISCARD
7302  static StrRef fixType()
7304  {
7305  return constructStrRef(
7306  "MassDeleteOrders_MBO_52");
7307  }
7308 
7309  /// \return a human-readable presentation.
7310  ONIXS_B3_UMDF_MD_NODISCARD
7311  std::string toString() const;
7312 
7313 private:
7314  void checkLength(
7315  EncodedLength length, SchemaVersion version) const
7316  {
7317  const EncodedLength minimalRequiredLength =
7318  minimalBlockLength(version) +
7319  MessageHeader::Size +
7320  getMinimalVariableFieldsSize(version);
7321 
7322  checkBinaryLength(
7323  *this, length, minimalRequiredLength);
7324  }
7325 
7326  void checkCompatibility() const
7327  {
7328  assert(TemplateId == templateId());
7329 
7330  checkSchema<Schema>(schemaId(), version());
7331  checkLength(bufferSize(), version());
7332  }
7333 };
7334 
7335 /// Relays trade information on one instrument..
7337 Trade_53
7338 : SbeMessage
7339 {
7340  /// Used template schema.
7342 
7343  /// Message template ID from SBE schema.
7344  enum { TemplateId = 53 };
7345 
7346  /// Initializes a blank instance.
7348 
7349  /// Creates an instance over the given memory block.
7351  void* data,
7352  EncodedLength length,
7353  NoInit)
7354  : SbeMessage(data, length)
7355  {
7356  checkCompatibility();
7357  }
7358 
7359  /// Creates an instance over the given SBE message.
7360  explicit
7362  const SbeMessage& message)
7363  : SbeMessage(message)
7364  {
7365  assert(message.valid());
7366 
7367  checkCompatibility();
7368  }
7369 
7370  /// Creates an instance over the given memory block.
7371  /// Performs no checks.
7373  void* data,
7374  EncodedLength length,
7375  NoInit,
7376  NoCheck)
7378  : SbeMessage(data, length, NoCheck())
7379  {
7380  assert(schemaId() == Schema::Id);
7381  assert(version() >= Schema::MinimalVersion);
7382  assert(TemplateId == templateId());
7383  }
7384 
7385  /// FIX Message Type.
7390  {
7391  return MessageType::MarketDataIncrementalRefresh;
7392  }
7393 
7394  /// Specifies the service pack release being applied at
7395  /// message level.
7400  {
7401  return ApplVerID::FIX50SP2;
7402  }
7403 
7404  /// Security ID as defined by B3. For the SecurityID list, see
7405  /// the Security Definition message in Market Data feed.
7406  ONIXS_B3_UMDF_MD_NODISCARD
7409  {
7411 
7412  return ordinary<SecurityID>(offset);
7413  }
7414 
7415  /// Identifies the class of the SecurityID (Exchange Symbol).
7420  {
7421  return SecurityIDSource::EXCHANGE_SYMBOL;
7422  }
7423 
7424  /// Market to which the symbol belongs.
7426  ONIXS_B3_UMDF_MD_NODISCARD
7430  {
7431  return constructStrRef("BVMF");
7432  }
7433 
7434  /// Identifies the end of the current event.
7435  ONIXS_B3_UMDF_MD_NODISCARD
7438  {
7440 
7441  return ordinary<MatchEventIndicator>(offset);
7442  }
7443 
7444  /// Update Action (NEW).
7449  {
7450  return UpdateAction::NEW;
7451  }
7452 
7453  /// Entry type: Trade.
7458  {
7459  return EntryType::TRADE;
7460  }
7461 
7462  /// Identifier for trading session.
7463  ONIXS_B3_UMDF_MD_NODISCARD
7466  {
7468 
7469  return enumeration<TradingSessionID>(offset);
7470  }
7471 
7472  /// Set of conditions describing a trade.
7473  ONIXS_B3_UMDF_MD_NODISCARD
7476  {
7478 
7479  return ordinary<TradeCondition>(offset);
7480  }
7481 
7482  /// Price of the Market Data Entry.
7483  ONIXS_B3_UMDF_MD_NODISCARD
7486  {
7488 
7489  return decimal<Price>(offset);
7490  }
7491 
7492  /// Quantity or volume represented by the Market Data Entry.
7493  ONIXS_B3_UMDF_MD_NODISCARD
7496  {
7498 
7499  return ordinary<Quantity>(offset);
7500  }
7501 
7502  /// Contains the unique identifier for this trade per
7503  /// instrument + trading date, as assigned by the exchange.
7504  /// Required if reporting a Trade.
7505  ONIXS_B3_UMDF_MD_NODISCARD
7508  {
7510 
7511  return ordinary<TradeID>(offset);
7512  }
7513 
7514  /// For reporting trades (buying party).
7515  ONIXS_B3_UMDF_MD_NODISCARD
7516  bool mDEntryBuyer(FirmOptional& value) const
7518  {
7520 
7521  return ordinary(value, offset, NullFirmOptional());
7522  }
7523 
7524  /// For reporting trades (selling party).
7525  ONIXS_B3_UMDF_MD_NODISCARD
7526  bool mDEntrySeller(FirmOptional& value) const
7528  {
7530 
7531  return ordinary(value, offset, NullFirmOptional());
7532  }
7533 
7534  /// Used to specify the trading date for which a set of market
7535  /// data applies.
7536  ONIXS_B3_UMDF_MD_NODISCARD
7539  {
7541 
7542  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
7543  }
7544 
7545  /// Sub type of trade assigned to a trade.
7546  ONIXS_B3_UMDF_MD_NODISCARD
7547  bool trdSubType(TrdSubType::Enum& value) const
7549  {
7551 
7552  return enumeration<TrdSubType>(value, offset, NullUInt8NULL());
7553  }
7554 
7555  /// Date and time of market data entry.
7556  ONIXS_B3_UMDF_MD_NODISCARD
7559  {
7561 
7562  return ordinary(value, offset, NullUTCTimestampNanos());
7563  }
7564 
7565  /// Sequence number per instrument update. Zeroed in snapshot
7566  /// feed.
7567  ONIXS_B3_UMDF_MD_NODISCARD
7568  bool rptSeq(RptSeq& value) const
7570  {
7572 
7573  return ordinary(value, offset, NullRptSeq());
7574  }
7575 
7576  /// Minimal size of message body in bytes.
7579  static
7580  BlockLength
7582  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7584  {
7585  return
7586  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7587  56;
7588  }
7589 
7590  /// Size of message body in bytes.
7593  static
7594  BlockLength
7596  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7598  {
7599  return
7600  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7601  minimalBlockLength(version);
7602  }
7603 
7604  /// Minimal variable fields size (when variable-length fields are empty).
7606  ONIXS_B3_UMDF_MD_NODISCARD
7608  static
7609  MessageSize
7611  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7612  {
7613  return
7614  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7615  0;
7616  }
7617 
7618  /// \return class name.
7620  ONIXS_B3_UMDF_MD_NODISCARD
7622  static const Char* className()
7623  {
7624  return "Trade_53";
7625  }
7626 
7627  /// FIX message type.
7629  ONIXS_B3_UMDF_MD_NODISCARD
7631  static StrRef fixType()
7633  {
7634  return constructStrRef("Trade_53");
7635  }
7636 
7637  /// \return a human-readable presentation.
7638  ONIXS_B3_UMDF_MD_NODISCARD
7639  std::string toString() const;
7640 
7641 private:
7642  void checkLength(
7643  EncodedLength length, SchemaVersion version) const
7644  {
7645  const EncodedLength minimalRequiredLength =
7646  minimalBlockLength(version) +
7647  MessageHeader::Size +
7648  getMinimalVariableFieldsSize(version);
7649 
7650  checkBinaryLength(
7651  *this, length, minimalRequiredLength);
7652  }
7653 
7654  void checkCompatibility() const
7655  {
7656  assert(TemplateId == templateId());
7657 
7658  checkSchema<Schema>(schemaId(), version());
7659  checkLength(bufferSize(), version());
7660  }
7661 };
7662 
7663 /// Relays trade information on one Forward instrument.
7666 : SbeMessage
7667 {
7668  /// Used template schema.
7670 
7671  /// Message template ID from SBE schema.
7672  enum { TemplateId = 54 };
7673 
7674  /// Initializes a blank instance.
7676 
7677  /// Creates an instance over the given memory block.
7679  void* data,
7680  EncodedLength length,
7681  NoInit)
7682  : SbeMessage(data, length)
7683  {
7684  checkCompatibility();
7685  }
7686 
7687  /// Creates an instance over the given SBE message.
7688  explicit
7690  const SbeMessage& message)
7691  : SbeMessage(message)
7692  {
7693  assert(message.valid());
7694 
7695  checkCompatibility();
7696  }
7697 
7698  /// Creates an instance over the given memory block.
7699  /// Performs no checks.
7701  void* data,
7702  EncodedLength length,
7703  NoInit,
7704  NoCheck)
7706  : SbeMessage(data, length, NoCheck())
7707  {
7708  assert(schemaId() == Schema::Id);
7709  assert(version() >= Schema::MinimalVersion);
7710  assert(TemplateId == templateId());
7711  }
7712 
7713  /// FIX Message Type.
7718  {
7719  return MessageType::MarketDataIncrementalRefresh;
7720  }
7721 
7722  /// Specifies the service pack release being applied at
7723  /// message level.
7728  {
7729  return ApplVerID::FIX50SP2;
7730  }
7731 
7732  /// Security ID as defined by B3. For the SecurityID list, see
7733  /// the Security Definition message in Market Data feed.
7734  ONIXS_B3_UMDF_MD_NODISCARD
7737  {
7739 
7740  return ordinary<SecurityID>(offset);
7741  }
7742 
7743  /// Identifies the class of the SecurityID (Exchange Symbol).
7748  {
7749  return SecurityIDSource::EXCHANGE_SYMBOL;
7750  }
7751 
7752  /// Market to which the symbol belongs.
7754  ONIXS_B3_UMDF_MD_NODISCARD
7758  {
7759  return constructStrRef("BVMF");
7760  }
7761 
7762  /// Identifies the end of the current event.
7763  ONIXS_B3_UMDF_MD_NODISCARD
7766  {
7768 
7769  return ordinary<MatchEventIndicator>(offset);
7770  }
7771 
7772  /// Update Action (NEW).
7777  {
7778  return UpdateAction::NEW;
7779  }
7780 
7781  /// Entry type: Trade.
7786  {
7787  return EntryType::TRADE;
7788  }
7789 
7790  /// Identifier for trading session.
7791  ONIXS_B3_UMDF_MD_NODISCARD
7794  {
7796 
7797  return enumeration<TradingSessionID>(offset);
7798  }
7799 
7800  /// Set of conditions describing a trade.
7801  ONIXS_B3_UMDF_MD_NODISCARD
7804  {
7806 
7807  return ordinary<TradeCondition>(offset);
7808  }
7809 
7810  /// Price of the Market Data Entry.
7811  ONIXS_B3_UMDF_MD_NODISCARD
7814  {
7816 
7817  return decimal<Price>(offset);
7818  }
7819 
7820  /// Quantity or volume represented by the Market Data Entry.
7821  ONIXS_B3_UMDF_MD_NODISCARD
7824  {
7826 
7827  return ordinary<Quantity>(offset);
7828  }
7829 
7830  /// Contains the unique identifier for this trade per
7831  /// instrument + trading date, as assigned by the exchange.
7832  /// Required if reporting a Trade.
7833  ONIXS_B3_UMDF_MD_NODISCARD
7836  {
7838 
7839  return ordinary<TradeID>(offset);
7840  }
7841 
7842  /// For reporting trades (buying party).
7843  ONIXS_B3_UMDF_MD_NODISCARD
7844  bool mDEntryBuyer(FirmOptional& value) const
7846  {
7848 
7849  return ordinary(value, offset, NullFirmOptional());
7850  }
7851 
7852  /// For reporting trades (selling party).
7853  ONIXS_B3_UMDF_MD_NODISCARD
7854  bool mDEntrySeller(FirmOptional& value) const
7856  {
7858 
7859  return ordinary(value, offset, NullFirmOptional());
7860  }
7861 
7862  /// Used to specify the trading date for which a set of market
7863  /// data applies.
7864  ONIXS_B3_UMDF_MD_NODISCARD
7867  {
7869 
7870  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
7871  }
7872 
7873  /// Date and time of market data entry.
7874  ONIXS_B3_UMDF_MD_NODISCARD
7877  {
7879 
7880  return ordinary(value, offset, NullUTCTimestampNanos());
7881  }
7882 
7883  /// Sequence number per instrument update. Zeroed in snapshot
7884  /// feed.
7885  ONIXS_B3_UMDF_MD_NODISCARD
7886  bool rptSeq(RptSeq& value) const
7888  {
7890 
7891  return ordinary(value, offset, NullRptSeq());
7892  }
7893 
7894  /// Specifies the number of days that may elapse before
7895  /// delivery of the security. Only used for trades in forward
7896  /// market.
7897  ONIXS_B3_UMDF_MD_NODISCARD
7898  bool sellerDays(UInt16NULL& value) const
7900  {
7902 
7903  return ordinary(value, offset, NullUInt16NULL());
7904  }
7905 
7906  /// Interest Rate of the Termo Trade. Expressed in decimal
7907  /// form. For example, 1% points is expressed and sent as
7908  /// 0.01. One basis point is represented as 0.0001.
7909  ONIXS_B3_UMDF_MD_NODISCARD
7910  bool mDEntryInterestRate(Percentage& value) const
7912  {
7914 
7915  return decimal(value, offset, NullPercentage());
7916  }
7917 
7918  /// Sub type of trade assigned to a trade.
7919  ONIXS_B3_UMDF_MD_NODISCARD
7920  bool trdSubType(TrdSubType::Enum& value) const
7922  {
7924 
7925  return enumeration<TrdSubType>(value, offset, NullUInt8NULL());
7926  }
7927 
7928  /// Minimal size of message body in bytes.
7931  static
7932  BlockLength
7934  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7936  {
7937  return
7938  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7939  68;
7940  }
7941 
7942  /// Size of message body in bytes.
7945  static
7946  BlockLength
7948  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7950  {
7951  return
7952  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7953  68;
7954  }
7955 
7956  /// Minimal variable fields size (when variable-length fields are empty).
7958  ONIXS_B3_UMDF_MD_NODISCARD
7960  static
7961  MessageSize
7963  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
7964  {
7965  return
7966  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
7967  0;
7968  }
7969 
7970  /// \return class name.
7972  ONIXS_B3_UMDF_MD_NODISCARD
7974  static const Char* className()
7975  {
7976  return "ForwardTrade_54";
7977  }
7978 
7979  /// FIX message type.
7981  ONIXS_B3_UMDF_MD_NODISCARD
7983  static StrRef fixType()
7985  {
7986  return constructStrRef("ForwardTrade_54");
7987  }
7988 
7989  /// \return a human-readable presentation.
7990  ONIXS_B3_UMDF_MD_NODISCARD
7991  std::string toString() const;
7992 
7993 private:
7994  void checkLength(
7995  EncodedLength length, SchemaVersion version) const
7996  {
7997  const EncodedLength minimalRequiredLength =
7998  minimalBlockLength(version) +
7999  MessageHeader::Size +
8000  getMinimalVariableFieldsSize(version);
8001 
8002  checkBinaryLength(
8003  *this, length, minimalRequiredLength);
8004  }
8005 
8006  void checkCompatibility() const
8007  {
8008  assert(TemplateId == templateId());
8009 
8010  checkSchema<Schema>(schemaId(), version());
8011  checkLength(bufferSize(), version());
8012  }
8013 };
8014 
8015 /// Relays execution summary information on one instrument..
8018 : SbeMessage
8019 {
8020  /// Used template schema.
8022 
8023  /// Message template ID from SBE schema.
8024  enum { TemplateId = 55 };
8025 
8026  /// Initializes a blank instance.
8028 
8029  /// Creates an instance over the given memory block.
8031  void* data,
8032  EncodedLength length,
8033  NoInit)
8034  : SbeMessage(data, length)
8035  {
8036  checkCompatibility();
8037  }
8038 
8039  /// Creates an instance over the given SBE message.
8040  explicit
8042  const SbeMessage& message)
8043  : SbeMessage(message)
8044  {
8045  assert(message.valid());
8046 
8047  checkCompatibility();
8048  }
8049 
8050  /// Creates an instance over the given memory block.
8051  /// Performs no checks.
8053  void* data,
8054  EncodedLength length,
8055  NoInit,
8056  NoCheck)
8058  : SbeMessage(data, length, NoCheck())
8059  {
8060  assert(schemaId() == Schema::Id);
8061  assert(version() >= Schema::MinimalVersion);
8062  assert(TemplateId == templateId());
8063  }
8064 
8065  /// FIX Message Type.
8070  {
8071  return MessageType::MarketDataIncrementalRefresh;
8072  }
8073 
8074  /// Specifies the service pack release being applied at
8075  /// message level.
8080  {
8081  return ApplVerID::FIX50SP2;
8082  }
8083 
8084  /// Security ID as defined by B3. For the SecurityID list, see
8085  /// the Security Definition message in Market Data feed.
8086  ONIXS_B3_UMDF_MD_NODISCARD
8089  {
8091 
8092  return ordinary<SecurityID>(offset);
8093  }
8094 
8095  /// Identifies the class of the SecurityID (Exchange Symbol).
8100  {
8101  return SecurityIDSource::EXCHANGE_SYMBOL;
8102  }
8103 
8104  /// Market to which the symbol belongs.
8106  ONIXS_B3_UMDF_MD_NODISCARD
8110  {
8111  return constructStrRef("BVMF");
8112  }
8113 
8114  /// Update Action (NEW) - always replace.
8119  {
8120  return UpdateAction::NEW;
8121  }
8122 
8123  /// Entry type: Execution Summary.
8128  {
8129  return EntryType::EXECUTION_SUMMARY;
8130  }
8131 
8132  /// Which side is aggressor of all fills.
8133  ONIXS_B3_UMDF_MD_NODISCARD
8136  {
8138 
8139  return enumeration<AggressorSide>(offset);
8140  }
8141 
8142  /// Price of the last fill (i.e. worst price of this match).
8143  ONIXS_B3_UMDF_MD_NODISCARD
8144  Price lastPx() const
8146  {
8148 
8149  return decimal<Price>(offset);
8150  }
8151 
8152  /// Quantity of all fills.
8153  ONIXS_B3_UMDF_MD_NODISCARD
8156  {
8158 
8159  return ordinary<Quantity>(offset);
8160  }
8161 
8162  /// Total quantity of matched passive orders that is not
8163  /// displayed to the market.
8164  ONIXS_B3_UMDF_MD_NODISCARD
8167  {
8169 
8170  return ordinary(value, offset, NullQuantityOptional());
8171  }
8172 
8173  /// Total quantity canceled during matching process (e.g. due
8174  /// to self trade).
8175  ONIXS_B3_UMDF_MD_NODISCARD
8176  bool cxlQty(QuantityOptional& value) const
8178  {
8180 
8181  return ordinary(value, offset, NullQuantityOptional());
8182  }
8183 
8184  /// Timestamp of aggressive order resulting in match event.
8185  ONIXS_B3_UMDF_MD_NODISCARD
8188  {
8190 
8191  return ordinary(value, offset, NullUTCTimestampNanos());
8192  }
8193 
8194  /// Sequence number per instrument update. Zeroed in snapshot
8195  /// feed.
8196  ONIXS_B3_UMDF_MD_NODISCARD
8197  bool rptSeq(RptSeq& value) const
8199  {
8201 
8202  return ordinary(value, offset, NullRptSeq());
8203  }
8204 
8205  /// Date and time of market data entry.
8206  ONIXS_B3_UMDF_MD_NODISCARD
8209  {
8211 
8212  return ordinary(value, offset, NullUTCTimestampNanos());
8213  }
8214 
8215  /// Minimal size of message body in bytes.
8218  static
8219  BlockLength
8221  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8223  {
8224  return
8225  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8226  64;
8227  }
8228 
8229  /// Size of message body in bytes.
8232  static
8233  BlockLength
8235  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8237  {
8238  return
8239  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8240  minimalBlockLength(version);
8241  }
8242 
8243  /// Minimal variable fields size (when variable-length fields are empty).
8245  ONIXS_B3_UMDF_MD_NODISCARD
8247  static
8248  MessageSize
8250  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8251  {
8252  return
8253  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8254  0;
8255  }
8256 
8257  /// \return class name.
8259  ONIXS_B3_UMDF_MD_NODISCARD
8261  static const Char* className()
8262  {
8263  return "ExecutionSummary_55";
8264  }
8265 
8266  /// FIX message type.
8268  ONIXS_B3_UMDF_MD_NODISCARD
8270  static StrRef fixType()
8272  {
8273  return constructStrRef("ExecutionSummary_55");
8274  }
8275 
8276  /// \return a human-readable presentation.
8277  ONIXS_B3_UMDF_MD_NODISCARD
8278  std::string toString() const;
8279 
8280 private:
8281  void checkLength(
8282  EncodedLength length, SchemaVersion version) const
8283  {
8284  const EncodedLength minimalRequiredLength =
8285  minimalBlockLength(version) +
8286  MessageHeader::Size +
8287  getMinimalVariableFieldsSize(version);
8288 
8289  checkBinaryLength(
8290  *this, length, minimalRequiredLength);
8291  }
8292 
8293  void checkCompatibility() const
8294  {
8295  assert(TemplateId == templateId());
8296 
8297  checkSchema<Schema>(schemaId(), version());
8298  checkLength(bufferSize(), version());
8299  }
8300 };
8301 
8302 /// Relays execution summary statistics information on one instrument..
8305 : SbeMessage
8306 {
8307  /// Used template schema.
8309 
8310  /// Message template ID from SBE schema.
8311  enum { TemplateId = 56 };
8312 
8313  /// Initializes a blank instance.
8315 
8316  /// Creates an instance over the given memory block.
8318  void* data,
8319  EncodedLength length,
8320  NoInit)
8321  : SbeMessage(data, length)
8322  {
8323  checkCompatibility();
8324  }
8325 
8326  /// Creates an instance over the given SBE message.
8327  explicit
8329  const SbeMessage& message)
8330  : SbeMessage(message)
8331  {
8332  assert(message.valid());
8333 
8334  checkCompatibility();
8335  }
8336 
8337  /// Creates an instance over the given memory block.
8338  /// Performs no checks.
8340  void* data,
8341  EncodedLength length,
8342  NoInit,
8343  NoCheck)
8345  : SbeMessage(data, length, NoCheck())
8346  {
8347  assert(schemaId() == Schema::Id);
8348  assert(version() >= Schema::MinimalVersion);
8349  assert(TemplateId == templateId());
8350  }
8351 
8352  /// FIX Message Type.
8357  {
8358  return MessageType::MarketDataIncrementalRefresh;
8359  }
8360 
8361  /// Specifies the service pack release being applied at
8362  /// message level.
8367  {
8368  return ApplVerID::FIX50SP2;
8369  }
8370 
8371  /// Security ID as defined by B3. For the SecurityID list, see
8372  /// the Security Definition message in Market Data feed.
8373  ONIXS_B3_UMDF_MD_NODISCARD
8376  {
8378 
8379  return ordinary<SecurityID>(offset);
8380  }
8381 
8382  /// Identifies the class of the SecurityID (Exchange Symbol).
8387  {
8388  return SecurityIDSource::EXCHANGE_SYMBOL;
8389  }
8390 
8391  /// Market to which the symbol belongs.
8393  ONIXS_B3_UMDF_MD_NODISCARD
8397  {
8398  return constructStrRef("BVMF");
8399  }
8400 
8401  /// Identifies the end of the current event.
8402  ONIXS_B3_UMDF_MD_NODISCARD
8405  {
8407 
8408  return ordinary<MatchEventIndicator>(offset);
8409  }
8410 
8411  /// Update Action (NEW) - always replace.
8416  {
8417  return UpdateAction::NEW;
8418  }
8419 
8420  /// Entry type: Execution Statistics.
8425  {
8426  return EntryType::EXECUTION_STATISTICS;
8427  }
8428 
8429  /// Identifier for trading session.
8430  ONIXS_B3_UMDF_MD_NODISCARD
8433  {
8435 
8436  return enumeration<TradingSessionID>(offset);
8437  }
8438 
8439  /// Used to specify the trading date for which a set of market
8440  /// data applies.
8441  ONIXS_B3_UMDF_MD_NODISCARD
8444  {
8446 
8447  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
8448  }
8449 
8450  /// Total traded volume for the session.
8451  ONIXS_B3_UMDF_MD_NODISCARD
8454  {
8456 
8457  return ordinary<QuantityVolume>(offset);
8458  }
8459 
8460  /// Volume-weighted average price.
8461  ONIXS_B3_UMDF_MD_NODISCARD
8462  bool vwapPx(PriceOptional& value) const
8464  {
8466 
8467  return decimal(value, offset, NullPriceOptional());
8468  }
8469 
8470  /// Net change from previous trading day’s closing price vs.
8471  /// last traded price.
8472  ONIXS_B3_UMDF_MD_NODISCARD
8473  bool
8475  PriceOffset8Optional& value) const
8477  {
8479 
8480  return decimal(value, offset, NullPriceOffset8Optional());
8481  }
8482 
8483  /// Number of trades executed in the session.
8484  ONIXS_B3_UMDF_MD_NODISCARD
8487  {
8489 
8490  return ordinary<NumberOfTrades>(offset);
8491  }
8492 
8493  /// Date and time of market data entry.
8494  ONIXS_B3_UMDF_MD_NODISCARD
8497  {
8499 
8500  return ordinary(value, offset, NullUTCTimestampNanos());
8501  }
8502 
8503  /// Sequence number per instrument update. Zeroed in snapshot
8504  /// feed.
8505  ONIXS_B3_UMDF_MD_NODISCARD
8506  bool rptSeq(RptSeq& value) const
8508  {
8510 
8511  return ordinary(value, offset, NullRptSeq());
8512  }
8513 
8514  /// Minimal size of message body in bytes.
8517  static
8518  BlockLength
8520  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8522  {
8523  return
8524  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8525  52;
8526  }
8527 
8528  /// Size of message body in bytes.
8533  {
8534  return
8535  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8536  minimalBlockLength(version);
8537  }
8538 
8539  /// Minimal variable fields size (when variable-length fields are empty).
8541  ONIXS_B3_UMDF_MD_NODISCARD
8543  static
8544  MessageSize
8546  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8547  {
8548  return
8549  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8550  0;
8551  }
8552 
8553  /// \return class name.
8555  ONIXS_B3_UMDF_MD_NODISCARD
8557  static const Char* className()
8558  {
8559  return "ExecutionStatistics_56";
8560  }
8561 
8562  /// FIX message type.
8564  ONIXS_B3_UMDF_MD_NODISCARD
8566  static StrRef fixType()
8568  {
8569  return constructStrRef("ExecutionStatistics_56");
8570  }
8571 
8572  /// \return a human-readable presentation.
8573  ONIXS_B3_UMDF_MD_NODISCARD
8574  std::string toString() const;
8575 
8576 private:
8577  void checkLength(
8578  EncodedLength length, SchemaVersion version) const
8579  {
8580  const EncodedLength minimalRequiredLength =
8581  minimalBlockLength(version) +
8582  MessageHeader::Size +
8583  getMinimalVariableFieldsSize(version);
8584 
8585  checkBinaryLength(
8586  *this, length, minimalRequiredLength);
8587  }
8588 
8589  void checkCompatibility() const
8590  {
8591  assert(TemplateId == templateId());
8592 
8593  checkSchema<Schema>(schemaId(), version());
8594  checkLength(bufferSize(), version());
8595  }
8596 };
8597 
8598 /// Relays trade bust (trade reversal) information on one instrument..
8601 : SbeMessage
8602 {
8603  /// Used template schema.
8605 
8606  /// Message template ID from SBE schema.
8607  enum { TemplateId = 57 };
8608 
8609  /// Initializes a blank instance.
8611 
8612  /// Creates an instance over the given memory block.
8614  void* data,
8615  EncodedLength length,
8616  NoInit)
8617  : SbeMessage(data, length)
8618  {
8619  checkCompatibility();
8620  }
8621 
8622  /// Creates an instance over the given SBE message.
8623  explicit
8625  const SbeMessage& message)
8626  : SbeMessage(message)
8627  {
8628  assert(message.valid());
8629 
8630  checkCompatibility();
8631  }
8632 
8633  /// Creates an instance over the given memory block.
8634  /// Performs no checks.
8636  void* data,
8637  EncodedLength length,
8638  NoInit,
8639  NoCheck)
8641  : SbeMessage(data, length, NoCheck())
8642  {
8643  assert(schemaId() == Schema::Id);
8644  assert(version() >= Schema::MinimalVersion);
8645  assert(TemplateId == templateId());
8646  }
8647 
8648  /// FIX Message Type.
8653  {
8654  return MessageType::MarketDataIncrementalRefresh;
8655  }
8656 
8657  /// Specifies the service pack release being applied at
8658  /// message level.
8663  {
8664  return ApplVerID::FIX50SP2;
8665  }
8666 
8667  /// Security ID as defined by B3. For the SecurityID list, see
8668  /// the Security Definition message in Market Data feed.
8669  ONIXS_B3_UMDF_MD_NODISCARD
8672  {
8674 
8675  return ordinary<SecurityID>(offset);
8676  }
8677 
8678  /// Identifies the class of the SecurityID (Exchange Symbol).
8683  {
8684  return SecurityIDSource::EXCHANGE_SYMBOL;
8685  }
8686 
8687  /// Market to which the symbol belongs.
8689  ONIXS_B3_UMDF_MD_NODISCARD
8693  {
8694  return constructStrRef("BVMF");
8695  }
8696 
8697  /// Identifies the end of the current event.
8698  ONIXS_B3_UMDF_MD_NODISCARD
8701  {
8703 
8704  return ordinary<MatchEventIndicator>(offset);
8705  }
8706 
8707  /// Update Action (DELETE) = always delete.
8712  {
8713  return UpdateAction::DELETE;
8714  }
8715 
8716  /// Entry type: Trade Bust.
8721  {
8722  return EntryType::TRADE_BUST;
8723  }
8724 
8725  /// Identifier for trading session.
8726  ONIXS_B3_UMDF_MD_NODISCARD
8729  {
8731 
8732  return enumeration<TradingSessionID>(offset);
8733  }
8734 
8735  /// Price of the Market Data Entry.
8736  ONIXS_B3_UMDF_MD_NODISCARD
8739  {
8741 
8742  return decimal<Price>(offset);
8743  }
8744 
8745  /// Quantity or volume represented by the Market Data Entry.
8746  ONIXS_B3_UMDF_MD_NODISCARD
8749  {
8751 
8752  return ordinary<Quantity>(offset);
8753  }
8754 
8755  /// Contains the unique identifier for this trade per
8756  /// instrument + trading date, as assigned by the exchange.
8757  /// Required if reporting a Trade.
8758  ONIXS_B3_UMDF_MD_NODISCARD
8761  {
8763 
8764  return ordinary<TradeID>(offset);
8765  }
8766 
8767  /// Used to specify the trading date for which a set of market
8768  /// data applies.
8769  ONIXS_B3_UMDF_MD_NODISCARD
8772  {
8774 
8775  return localMktDateToTimestamp(ordinary<LocalMktDate>(offset));
8776  }
8777 
8778  /// Date and time of market data entry.
8779  ONIXS_B3_UMDF_MD_NODISCARD
8782  {
8784 
8785  return ordinary(value, offset, NullUTCTimestampNanos());
8786  }
8787 
8788  /// Sequence number per instrument update. Zeroed in snapshot
8789  /// feed.
8790  ONIXS_B3_UMDF_MD_NODISCARD
8791  bool rptSeq(RptSeq& value) const
8793  {
8795 
8796  return ordinary(value, offset, NullRptSeq());
8797  }
8798 
8799  /// Minimal size of message body in bytes.
8802  static
8803  BlockLength
8805  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8807  {
8808  return
8809  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8810  48;
8811  }
8812 
8813  /// Size of message body in bytes.
8816  static
8817  BlockLength
8819  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8821  {
8822  return
8823  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8824  minimalBlockLength(version);
8825  }
8826 
8827  /// Minimal variable fields size (when variable-length fields are empty).
8829  ONIXS_B3_UMDF_MD_NODISCARD
8831  static
8832  MessageSize
8834  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
8835  {
8836  return
8837  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
8838  0;
8839  }
8840 
8841  /// \return class name.
8843  ONIXS_B3_UMDF_MD_NODISCARD
8845  static const Char* className()
8846  {
8847  return "TradeBust_57";
8848  }
8849 
8850  /// FIX message type.
8852  ONIXS_B3_UMDF_MD_NODISCARD
8854  static StrRef fixType()
8856  {
8857  return constructStrRef("TradeBust_57");
8858  }
8859 
8860  /// \return a human-readable presentation.
8861  ONIXS_B3_UMDF_MD_NODISCARD
8862  std::string toString() const;
8863 
8864 private:
8865  void checkLength(
8866  EncodedLength length, SchemaVersion version) const
8867  {
8868  const EncodedLength minimalRequiredLength =
8869  minimalBlockLength(version) +
8870  MessageHeader::Size +
8871  getMinimalVariableFieldsSize(version);
8872 
8873  checkBinaryLength(
8874  *this, length, minimalRequiredLength);
8875  }
8876 
8877  void checkCompatibility() const
8878  {
8879  assert(TemplateId == templateId());
8880 
8881  checkSchema<Schema>(schemaId(), version());
8882  checkLength(bufferSize(), version());
8883  }
8884 };
8885 
8886 /// Partial list of orders for the snapshot of a single instrument..
8889 : SbeMessage
8890 {
8891  /// Used template schema.
8893 
8894  /// Message template ID from SBE schema.
8895  enum { TemplateId = 71 };
8896 
8897  /// Partial list of orders.
8898  /// Entry of Entry repeating group.
8901  <
8903  >
8904  {
8905  /// Base class type.
8906  typedef
8908  <
8910  >
8912 
8913  /// Initializes instance of given
8914  /// version over given memory block.
8916  const void* data,
8917  EncodedLength length,
8918  SchemaVersion version)
8919  : Base(data, numericCast<Base::BlockLength>(length), version)
8920  {
8921  assert(version >= Schema::MinimalVersion);
8922  assert(length >= minimalBlockLength(version));
8923  }
8924 
8925  /// Price per share or contract. Conditionally required if the
8926  /// order type requires a price (not market orders).
8927  ONIXS_B3_UMDF_MD_NODISCARD
8928  bool mDEntryPx(PriceOptional& value) const
8930  {
8932 
8933  return decimal(value, offset, NullPriceOptional());
8934  }
8935 
8936  /// Displayed quantity or volume represented by the Market
8937  /// Data Entry.
8938  ONIXS_B3_UMDF_MD_NODISCARD
8941  {
8943 
8944  return ordinary<Quantity>(offset);
8945  }
8946 
8947  /// Display position of a bid or offer, numbered from most
8948  /// competitive to least competitive, per market side,
8949  /// beginning with 1.
8950  ONIXS_B3_UMDF_MD_NODISCARD
8953  {
8955 
8956  return ordinary<EntryPositionNo>(offset);
8957  }
8958 
8959  /// Identifies the broker firm.
8960  ONIXS_B3_UMDF_MD_NODISCARD
8961  bool enteringFirm(FirmOptional& value) const
8963  {
8965 
8966  return ordinary(value, offset, NullFirmOptional());
8967  }
8968 
8969  /// The date and time when the order was inserted or re-
8970  /// inserted into the order book or manually altered by
8971  /// MktOps.
8972  ONIXS_B3_UMDF_MD_NODISCARD
8975  {
8977 
8978  return ordinary(value, offset, NullUTCTimestampNanos());
8979  }
8980 
8981  /// Exchange-generated order identifier that changes for each
8982  /// order modification event, or quantity replenishment in
8983  /// disclosed orders.
8984  ONIXS_B3_UMDF_MD_NODISCARD
8987  {
8989 
8990  return ordinary<OrderID>(offset);
8991  }
8992 
8993  /// Entry Type (BID or OFFER).
8994  ONIXS_B3_UMDF_MD_NODISCARD
8997  {
8999 
9000  return enumeration<EntryType>(offset);
9001  }
9002 
9003  /// \return size of entry body in bytes
9004  /// for given version of message template.
9009  {
9010  return
9011  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
9012  minimalBlockLength(version);
9013  }
9014 
9015  /// \return minimal size of entry body in bytes
9016  /// for given version of message template.
9019  static
9020  BlockLength
9022  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
9024  {
9025  return
9026  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
9027  41;
9028  }
9029 
9030  /// Entity class name.
9032  ONIXS_B3_UMDF_MD_NODISCARD
9034  static const Char* className()
9035  {
9036  return "SnapshotFullRefresh_Orders_MBO_71.Entry";
9037  }
9038  };
9039 
9040  /// Repeating group containing Entry entries.
9041  typedef
9044 
9045  /// Initializes a blank instance.
9047 
9048  /// Creates an instance over the given memory block.
9050  void* data,
9051  EncodedLength length,
9052  NoInit)
9053  : SbeMessage(data, length)
9054  {
9055  checkCompatibility();
9056  }
9057 
9058  /// Creates an instance over the given SBE message.
9059  explicit
9061  const SbeMessage& message)
9062  : SbeMessage(message)
9063  {
9064  assert(message.valid());
9065 
9066  checkCompatibility();
9067  }
9068 
9069  /// Creates an instance over the given memory block.
9070  /// Performs no checks.
9072  void* data,
9073  EncodedLength length,
9074  NoInit,
9075  NoCheck)
9077  : SbeMessage(data, length, NoCheck())
9078  {
9079  assert(schemaId() == Schema::Id);
9080  assert(version() >= Schema::MinimalVersion);
9081  assert(TemplateId == templateId());
9082  }
9083 
9084  /// FIX Message Type.
9089  {
9090  return MessageType::MarketDataSnapshotFullRefresh;
9091  }
9092 
9093  /// Specifies the service pack release being applied at
9094  /// message level.
9099  {
9100  return ApplVerID::FIX50SP2;
9101  }
9102 
9103  /// Security ID as defined by B3. For the SecurityID list, see
9104  /// the Security Definition message in Market Data feed.
9105  ONIXS_B3_UMDF_MD_NODISCARD
9108  {
9110 
9111  return ordinary<SecurityID>(offset);
9112  }
9113 
9114  /// Identifies the class of the SecurityID (Exchange Symbol).
9119  {
9120  return SecurityIDSource::EXCHANGE_SYMBOL;
9121  }
9122 
9123  /// Market to which the symbol belongs.
9125  ONIXS_B3_UMDF_MD_NODISCARD
9129  {
9130  return constructStrRef("BVMF");
9131  }
9132 
9133  /// \return instance of Entries repeating group.
9134  ONIXS_B3_UMDF_MD_NODISCARD
9137  {
9138  return getGroup<Entries>(EntriesAccess(), *this);
9139  }
9140 
9141  /// Minimal size of message body in bytes.
9144  static
9145  BlockLength
9147  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
9149  {
9150  return
9151  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
9152  8;
9153  }
9154 
9155  /// Size of message body in bytes.
9160  {
9161  return
9162  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
9163  minimalBlockLength(version);
9164  }
9165 
9166  /// Minimal variable fields size (when variable-length fields are empty).
9168  ONIXS_B3_UMDF_MD_NODISCARD
9170  static
9171  MessageSize
9173  ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
9174  {
9175  return
9176  ONIXS_B3_UMDF_MD_ASSERT(version >= Schema::MinimalVersion),
9177  static_cast<MessageSize>(Entries::EmptySize);
9178  }
9179 
9180  /// \return class name.
9182  ONIXS_B3_UMDF_MD_NODISCARD
9184  static const Char* className()
9185  {
9186  return "SnapshotFullRefresh_Orders_MBO_71";
9187  }
9188 
9189  /// FIX message type.
9191  ONIXS_B3_UMDF_MD_NODISCARD
9193  static StrRef fixType()
9195  {
9196  return constructStrRef(
9197  "SnapshotFullRefresh_Orders_MBO_71");
9198  }
9199 
9200  /// \return a human-readable presentation.
9201  ONIXS_B3_UMDF_MD_NODISCARD
9202  std::string toString() const;
9203 
9204 private:
9205  void checkLength(
9206  EncodedLength length, SchemaVersion version) const
9207  {
9208  const EncodedLength minimalRequiredLength =
9209  minimalBlockLength(version) +
9210  MessageHeader::Size +
9211  getMinimalVariableFieldsSize(version);
9212 
9213  checkBinaryLength(
9214  *this, length, minimalRequiredLength);
9215  }
9216 
9217  /// Checks variable fields consistency.
9218  void checkVarLenFields() const
9219  {
9220  groups().
9221  checkTail<Entries>();
9222  }
9223 
9224  void checkCompatibility() const
9225  {
9226  assert(TemplateId == templateId());
9227 
9228  checkSchema<Schema>(schemaId(), version());
9229  checkLength(bufferSize(), version());
9230  checkVarLenFields();
9231  }
9232 
9233  /// Access helper.
9234  struct EntriesAccess
9235  {
9236  Entries
9237  operator()(
9238  const SnapshotFullRefresh_Orders_MBO_71& obj) const
9240  {
9241  return obj.
9242  groups().
9243  head<Entries>();
9244  }
9245  };
9246 };
9247 
9248 
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryBuyer(FirmOptional &value) const
For reporting trades (buying party).
Definition: Messages.h:5530
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Entity class name.
Definition: Messages.h:1647
ChannelReset_11(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:610
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:248
OpenInterest_29(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:6036
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:5962
ONIXS_B3_UMDF_MD_NODISCARD ImbalanceCondition imbalanceCondition() const
IMBALANCE_MORE_BUYERS, IMBALANCE_MORE_SELLERS, All bits off => BALANCED.
Definition: Messages.h:3831
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef legSecurityExchange()
Leg&#39;s Exchange Code.
Definition: Messages.h:1476
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:2615
ONIXS_B3_UMDF_MD_NODISCARD UInt16 partCount() const
Total number of parts for the text of a News message.
Definition: Messages.h:2648
SchemaTraits Schema
Used template schema.
Definition: Messages.h:3960
ONIXS_B3_UMDF_MD_NODISCARD bool contractSettlMonth(MaturityMonthYear &value) const
Specifies when the contract will settle.
Definition: Messages.h:2120
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:5789
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:7568
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntrySeller(FirmOptional &value) const
For reporting trades (selling party).
Definition: Messages.h:7854
ONIXS_B3_UMDF_MD_NODISCARD bool enteringFirm(FirmOptional &value) const
Identifies the broker firm.
Definition: Messages.h:8961
Enum
Describes how the price limits are expressed.
Definition: Fields.h:909
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:128
ONIXS_B3_UMDF_MD_NODISCARD bool transactTime(UTCTimestampNanos &value) const
Timestamp when the business transaction represented by the message occurred.
Definition: Messages.h:951
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:8845
SchemaTraits Schema
Used template schema.
Definition: Messages.h:6517
GroupSizeEncoding::BlockLength BlockLength
Type to present the length of binary data of the repeating group entry.
Definition: SbeMessage.h:300
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:8661
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:8098
ClosingPrice_17(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:3449
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Open Interest.
Definition: Messages.h:6121
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:470
ONIXS_B3_UMDF_MD_NODISCARD bool priceType(PriceType::Enum &value) const
Code to represent the price type.
Definition: Messages.h:5878
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:5295
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionID::Enum tradingSessionId() const
Identifier for trading session.
Definition: Messages.h:8431
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Closing Price.
Definition: Messages.h:3534
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:2359
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:5799
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:8854
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:7033
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:5269
ONIXS_B3_UMDF_MD_NODISCARD bool priceLimitType(PriceLimitType::Enum &value) const
Describes how the price limits are expressed.
Definition: Messages.h:4097
#define ONIXS_B3_UMDF_MD_DEFAULT
Definition: Compiler.h:122
ONIXS_B3_UMDF_MD_NODISCARD bool multiLegModel(MultiLegModel::Enum &value) const
Defines whether the security is pre-defined or user- defined.
Definition: Messages.h:2283
ONIXS_B3_UMDF_MD_NODISCARD NewsSource::Enum newsSource() const
Source of the News.
Definition: Messages.h:2625
Sequence_2(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:232
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:2739
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:6092
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:6711
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:6349
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Opening Price.
Definition: Messages.h:2978
The theoretical opening price is also sent on this block and is calculated and updated based on the o...
Definition: Messages.h:3138
ONIXS_B3_UMDF_MD_NODISCARD UpdateAction::Enum mDUpdateAction() const
Update Action (DELETE_FROM, DELETE_THRU).
Definition: Messages.h:7197
ONIXS_B3_UMDF_MD_NODISCARD bool endDate(Timestamp &value) const
End date of a financing deal, i.e.
Definition: Messages.h:2007
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Definition: Messages.h:1400
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Trade.
Definition: Messages.h:7784
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:8234
SecurityDefinition_12(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:1684
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:6224
ONIXS_B3_UMDF_MD_NODISCARD bool maturityMonthYear(MaturityMonthYear &value) const
Month and year of the maturity.
Definition: Messages.h:2110
Int64 QuantityVolumeOptional
Volume Quantity.
Definition: Fields.h:130
DeleteOrder_MBO_51(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:6842
Null values definition for optional MaturityMonthYear field.
Definition: Composites.h:1125
Used to reset the incremental stream or indicate the loop on instrument definition or snapshot recove...
Definition: Messages.h:34
ONIXS_B3_UMDF_MD_NODISCARD TradeID tradeId() const
Contains the unique identifier for this trade per instrument + trading date, as assigned by the excha...
Definition: Messages.h:7834
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:8355
Conveys market information of B3 market surveillance notifications and news produced by agencies...
Definition: Messages.h:2512
ONIXS_B3_UMDF_MD_NODISCARD bool trdSubType(TrdSubType::Enum &value) const
Sub type of trade assigned to a trade.
Definition: Messages.h:5606
ONIXS_B3_UMDF_MD_NODISCARD UInt16 totNumStats() const
Total number of statistics (incremental and security status messages) that constitute this snapshot...
Definition: Messages.h:6402
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:1718
Carries auction imbalance information, indicating the remaining quantity and to which side (buyer or ...
Definition: Messages.h:3700
Carries the summary information about opening trading session events per market data stream...
Definition: Messages.h:2856
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:3230
#define ONIXS_B3_UMDF_MD_NOTHROW
Definition: Compiler.h:114
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:306
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:4446
ONIXS_B3_UMDF_MD_NODISCARD OrderID secondaryOrderId() const
Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.
Definition: Messages.h:8985
static ONIXS_B3_UMDF_MD_API OpenCloseSettlFlag::Enum openCloseSettlFlag()
Indicates this is a theoretical opening price.
Definition: Messages.h:3269
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryPx(PriceOptional &value) const
Price per share or contract.
Definition: Messages.h:6643
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:1004
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:851
IntegralConstant< UInt32, 1 > SeqNum1
Sequence Number, fixed to 1.
Definition: Fields.h:162
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:6339
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:2765
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:8691
ONIXS_B3_UMDF_MD_NODISCARD bool securityValidityTimestamp(UTCTimestampSeconds &value) const
Indicates the UTC timestamp when trading for this security expires, i.e.
Definition: Messages.h:1863
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:7983
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:7228
Summary information about closing trading sessions per market data stream..
Definition: Messages.h:3413
ONIXS_B3_UMDF_MD_NODISCARD StrRef securityGroup() const
Security Group.
Definition: Messages.h:1749
ONIXS_B3_UMDF_MD_NODISCARD OpenCloseSettlFlag::Enum openCloseSettlFlag() const
Identifies if the opening price represents or not a daily opening price.
Definition: Messages.h:2987
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:4047
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:8385
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Type of the Market Data Entry.
Definition: Messages.h:665
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:327
ONIXS_B3_UMDF_MD_NODISCARD Product::Enum product() const
Type of product.
Definition: Messages.h:2194
#define ONIXS_B3_UMDF_MD_CONSTEXPR
Definition: Compiler.h:120
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Price Band.
Definition: Messages.h:4650
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:552
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:6991
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:3495
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event.
Definition: Messages.h:7436
ONIXS_B3_UMDF_MD_NODISCARD bool sellerDays(UInt16NULL &value) const
Specifies the number of days that may elapse before delivery of the security.
Definition: Messages.h:5584
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:3801
UInt32 EntryPositionNo
Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1.
Definition: Fields.h:240
ONIXS_B3_UMDF_MD_NODISCARD bool vwapPx(PriceOptional &value) const
Volume-weighted average price.
Definition: Messages.h:8462
Total number of contracts in a commodity or options market that are still open..
Definition: Messages.h:5995
ONIXS_B3_UMDF_MD_NODISCARD bool putOrCall(PutOrCall::Enum &value) const
Indicates whether an option contract is a put or call.
Definition: Messages.h:2216
ONIXS_B3_UMDF_MD_NODISCARD Quantity mDEntrySize() const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:5508
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Type of the Market Data Entry.
Definition: Messages.h:440
TradeBust_57(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:8635
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:684
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Execution Statistics.
Definition: Messages.h:8423
ONIXS_B3_UMDF_MD_NODISCARD OpenCloseSettlFlag::Enum openCloseSettlFlag() const
Identifies if the settlement price represents a daily, preliminary or an entry from previous business...
Definition: Messages.h:5868
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Entity class name.
Definition: Messages.h:9034
QuantityBand_21(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:4301
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:8804
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:9087
MassDeleteOrders_MBO_52(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:7112
ONIXS_B3_UMDF_MD_NODISCARD AggressorSide::Enum aggressorSide() const
Which side is aggressor of all fills.
Definition: Messages.h:8134
HighPrice_24()
Initializes a blank instance.
Definition: Messages.h:4850
UInt16 SettlType
Indicates order settlement period in days. (e.g. 0, D1, D2, D3, D60, D120 etc.) If present...
Definition: Fields.h:208
ONIXS_B3_UMDF_MD_NODISCARD bool tradingReferencePrice(PriceOptional &value) const
Reference price for the current trading price range.
Definition: Messages.h:4151
MessageSize EncodedLength
Length of the message binary data.
Definition: SbeMessage.h:1117
ExecutionSummary_55(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:8052
ONIXS_B3_UMDF_MD_NODISCARD bool lowLimitPrice(PriceOptional &value) const
Allowable low limit price for the trading day.
Definition: Messages.h:4125
ONIXS_B3_UMDF_MD_NODISCARD TradeCondition tradeCondition() const
Set of conditions describing a trade.
Definition: Messages.h:5488
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntrySeller(FirmOptional &value) const
For reporting trades (selling party).
Definition: Messages.h:5540
ONIXS_B3_UMDF_MD_NODISCARD bool countryOfIssue(StrRef &value) const
ISO 3166-1 alpha-2 country code.
Definition: Messages.h:1974
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:3096
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:516
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:3209
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Execution Summary.
Definition: Messages.h:8126
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:3332
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:8117
ONIXS_B3_UMDF_MD_NODISCARD StrRef text() const
Free format text string.
Definition: Messages.h:2708
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:3583
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:6442
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:4891
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:6564
PriceBand_22(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:4554
Disseminates the creation or modification of a new order..
Definition: Messages.h:6512
ONIXS_B3_UMDF_MD_NODISCARD UInt32 totNoRelatedSym() const
Total number of instruments to be returned in the current replay loop.
Definition: Messages.h:1804
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:6721
Trade_53()
Initializes a blank instance.
Definition: Messages.h:7347
UInt16 UInt16
2-byte unsigned integer, from 0 to 65535..
Definition: Fields.h:54
SchemaTraits Schema
Used template schema.
Definition: Messages.h:2861
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:6174
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:412
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:7726
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:7293
ONIXS_B3_UMDF_MD_NODISCARD bool datedDate(Timestamp &value) const
The date of the security activation, if different from the IssueDate.
Definition: Messages.h:2056
The lowest price traded for the security in the trading session..
Definition: Messages.h:5094
Int32 LocalMktDate32Optional
Optional local date (as opposed to UTC).
Definition: Fields.h:234
ForwardTrade_54(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:7700
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:4475
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:9172
ONIXS_B3_UMDF_MD_NODISCARD UInt32 totNumReports() const
Total number of snapshots to be returned in the current replay loop.
Definition: Messages.h:6371
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:4759
ONIXS_B3_UMDF_MD_NODISCARD bool settlCurrency(StrRef &value) const
Currency used for the settlement.
Definition: Messages.h:2152
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:7716
Header for the snapshot of a single instrument.
Definition: Messages.h:6257
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:2774
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:9097
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:3200
Enum
Action used when updating the security.
Definition: Fields.h:376
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Settlement Price.
Definition: Messages.h:5847
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:3239
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:154
News_5()
Initializes a blank instance.
Definition: Messages.h:2523
Set of indicators for the end of updates for a given event. It also indicates if this message is a re...
Definition: Fields.h:1629
#define ONIXS_B3_UMDF_MD_ASSERT(CHECK)
Definition: Compiler.h:156
Set of conditions describing an imbalance..
Definition: Fields.h:1423
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:5061
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:8670
The highest price traded for the security in the trading session..
Definition: Messages.h:4839
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Entity class name.
Definition: Messages.h:1413
Market Data Incremental Refresh - Empty Book.
Definition: Messages.h:360
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntrySeller(FirmOptional &value) const
For reporting trades (selling party).
Definition: Messages.h:7526
ONIXS_B3_UMDF_MD_NODISCARD OpenCloseSettlFlag::Enum openCloseSettlFlag() const
Identifies if the closing price represents a daily or entry from previous business day...
Definition: Messages.h:3543
Enum
Describes the lot type for the instruments. Used for the Equities segment.
Definition: Fields.h:404
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:872
ONIXS_B3_UMDF_MD_NODISCARD UInt32 totNumOffers() const
Total number of ask orders that constitute this snapshot.
Definition: Messages.h:6391
ONIXS_B3_UMDF_MD_NODISCARD EntryType::Enum mDEntryType() const
Entry Type (BID or OFFER).
Definition: Messages.h:6936
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:6052
ONIXS_B3_UMDF_MD_NODISCARD bool startDate(Timestamp &value) const
Start date of a financing deal, i.e.
Definition: Messages.h:1986
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Definition: Messages.h:1634
SnapshotFullRefresh_Orders_MBO_71(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:9071
TradeBust_57(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:8624
ONIXS_B3_UMDF_MD_NODISCARD TradeCondition tradeCondition() const
Set of conditions describing a trade.
Definition: Messages.h:7474
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:4581
IntegralConstant< UInt16, 0 > NullLocalMktDateOptional
Null value for an optional LocalMktDateOptional field.
Definition: Fields.h:1967
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:9184
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:5759
ONIXS_B3_UMDF_MD_NODISCARD bool multiLegPriceMethod(MultiLegPriceMethod::Enum &value) const
Defines the method used when applying the multileg price to the legs.
Definition: Messages.h:2297
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:8395
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:2957
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:4970
Entry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:8915
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:2385
SecurityStatus_3(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:805
Operations over a repeating group instance.
Definition: SbeMessage.h:296
Represents time point without time-zone information.
Definition: Time.h:482
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Trade.
Definition: Messages.h:7456
UInt64 SecurityIDOptional
Security ID as defined by B3&#39;s Trading System.
Definition: Fields.h:174
SbeGroup< UnderlyingsEntry, GroupSizeEncoding, MessageSize > Underlyings
Repeating group containing UnderlyingsEntry entries.
Definition: Messages.h:1422
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:7595
Enum
Indicates the type of price banding (tunnel).
Definition: Fields.h:844
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:3851
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:2908
SchemaTraits Schema
Used template schema.
Definition: Messages.h:3418
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:7428
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:9193
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Opening Price.
Definition: Messages.h:3260
Order_MBO_50(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:6548
ONIXS_B3_UMDF_MD_NODISCARD SecurityID legSecurityId() const
Leg&#39;s security ID.
Definition: Messages.h:1454
SecurityGroupPhase_10(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:1094
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:5014
UInt64 UInt64NULL
8-byte unsigned integer, from 1 to 18446744073709551615 (2^64-1), NULL (optional) value = 0...
Definition: Fields.h:98
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:9117
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:4232
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:3379
#define ONIXS_B3_UMDF_MD_CONST_OR_CONSTEXPR
Definition: Compiler.h:117
ONIXS_B3_UMDF_MD_NODISCARD StrRef legSymbol() const
Leg symbol.
Definition: Messages.h:1515
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:2574
UTC timestamp with nanosecond precision (Unix Epoch).
Definition: Composites.h:714
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies if it is a retransmission.
Definition: Messages.h:6612
SnapshotFullRefresh_Header_30(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:6282
ONIXS_B3_UMDF_MD_NODISCARD bool avgDailyTradedQty(QuantityVolumeOptional &value) const
Daily average shares traded within 30 days – equity market only.
Definition: Messages.h:4397
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:4067
ONIXS_B3_UMDF_MD_NODISCARD bool tickSizeDenominator(UInt8 &value) const
Number of decimals for pricing the instrument.
Definition: Messages.h:2184
ExecutionStatistics_56(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:8328
ONIXS_B3_UMDF_MD_NODISCARD UInt16 partNumber() const
Number of the part for this message. Starts from 1.
Definition: Messages.h:2658
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryBuyer(FirmOptional &value) const
For reporting trades (buying party).
Definition: Messages.h:7844
IntegralConstant< Int32, 0 > NullLocalMktDate32Optional
Null value for an optional LocalMktDate32Optional field.
Definition: Fields.h:1979
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:1110
ONIXS_B3_UMDF_MD_NODISCARD OrderID secondaryOrderId() const
Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.
Definition: Messages.h:6970
ONIXS_B3_UMDF_MD_NODISCARD bool tradSesOpenTime(UTCTimestampNanos &value) const
Estimated end of the current auction.
Definition: Messages.h:1196
IntegralConstant< UInt16, 0 > NullUInt16NULL
Null value for an optional UInt16NULL field.
Definition: Fields.h:1847
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:4931
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:4621
Enum
Type of exercise of a derivatives security.
Definition: Fields.h:545
ClosingPrice_17()
Initializes a blank instance.
Definition: Messages.h:3424
SecurityGroupPhase_10(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:1083
SchemaTraits Schema
Used template schema.
Definition: Messages.h:4534
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:7139
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:7252
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:6583
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Entity class name.
Definition: Messages.h:1555
QuantityBand_21()
Initializes a blank instance.
Definition: Messages.h:4276
TheoreticalOpeningPrice_16(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:3174
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:6734
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:5857
ONIXS_B3_UMDF_MD_NODISCARD TradeID tradeId() const
Contains the unique identifier for this trade per instrument + trading date, as assigned by the excha...
Definition: Messages.h:5520
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:8207
ONIXS_B3_UMDF_MD_NODISCARD SecurityUpdateAction::Enum securityUpdateAction() const
Action used when updating the security.
Definition: Messages.h:1772
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:2406
ONIXS_B3_UMDF_MD_NODISCARD StrRef headline() const
The headline of a News message.
Definition: Messages.h:2700
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:4017
UnderlyingsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1331
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:7004
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:3484
SchemaTraits Schema
Used template schema.
Definition: Messages.h:201
Enum
Type of the Market Data Entry.
Definition: Fields.h:1055
ONIXS_B3_UMDF_MD_NODISCARD bool cxlQty(QuantityOptional &value) const
Total quantity canceled during matching process (e.g.
Definition: Messages.h:8176
ONIXS_B3_UMDF_MD_NODISCARD bool languageCode(StrRef &value) const
Indicates the language the news is in.
Definition: Messages.h:2636
SchemaTraits Schema
Used template schema.
Definition: Messages.h:365
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:975
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:5401
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:1016
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantityVolumeOptional
Null value for an optional QuantityVolumeOptional field.
Definition: Fields.h:1889
UTC timestamp with second precision (Unix Epoch).
Definition: Composites.h:846
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Definition: Messages.h:9021
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:4347
PriceBand_22(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:4565
Null values definition for optional PriceOptional field.
Definition: Composites.h:195
ONIXS_B3_UMDF_MD_NODISCARD bool tradingReferencePrice(Fixed8 &value) const
Reference price for the current trading price range.
Definition: Messages.h:4725
SchemaTraits Schema
Used template schema.
Definition: Messages.h:5099
PriceBand_20(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:3991
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:5307
TheoreticalOpeningPrice_16(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:3163
ONIXS_B3_UMDF_MD_NODISCARD SecurityType::Enum legSecurityType() const
Leg&#39;s security type.
Definition: Messages.h:1495
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:6428
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:7418
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:531
UInt32 UInt32NULL
4-byte unsigned integer, from 1 to 4294967295 (2^32-1), NULL (optional) value = 0..
Definition: Fields.h:94
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:4366
SettlementPrice_28()
Initializes a blank instance.
Definition: Messages.h:5716
ONIXS_B3_UMDF_MD_NODISCARD EntryPositionNo mDEntryPositionNo() const
Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1.
Definition: Messages.h:8951
Enum
Indicates whether an option contract is a put or call.
Definition: Fields.h:568
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:8442
ONIXS_B3_UMDF_MD_NODISCARD bool marketSegmentId(MarketSegmentID &value) const
Market segment.
Definition: Messages.h:2236
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:5245
LowPrice_25()
Initializes a blank instance.
Definition: Messages.h:5105
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:3922
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:4460
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:4641
ONIXS_B3_UMDF_MD_NODISCARD TradeID tradeId() const
Contains the unique identifier for this trade per instrument + trading date, as assigned by the excha...
Definition: Messages.h:7506
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:543
ONIXS_B3_UMDF_MD_NODISCARD Side::Enum legSide() const
Side of this leg.
Definition: Messages.h:1505
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Trading Session Low Price.
Definition: Messages.h:5235
Set of conditions describing a trade..
Definition: Fields.h:1506
ONIXS_B3_UMDF_MD_NODISCARD EntryPositionNo mDEntryPositionNo() const
Display position of a bid or offer where orders will be deleted (up or down from this position)...
Definition: Messages.h:7218
ONIXS_B3_UMDF_MD_NODISCARD bool maturityDate(Timestamp &value) const
Date of instrument maturity.
Definition: Messages.h:1955
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:7865
ONIXS_B3_UMDF_MD_NODISCARD StrRef cfiCode() const
Classification of Financial Instruments (CFI code) values, which indicate the type of security using ...
Definition: Messages.h:2099
SchemaTraits Schema
Used template schema.
Definition: Messages.h:8604
LastTradePrice_27(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:5374
Enum
Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs...
Definition: Fields.h:621
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:7018
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionSubID::Enum tradingSessionSubId() const
Phase related to a given SecurityGroup.
Definition: Messages.h:1161
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:8833
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:1710
TradeBust_57()
Initializes a blank instance.
Definition: Messages.h:8610
ONIXS_B3_UMDF_MD_NODISCARD bool sharesIssued(UInt64NULL &value) const
Share capital.
Definition: Messages.h:1874
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:6909
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:3752
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:280
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Value of the statistics.
Definition: Messages.h:2997
ONIXS_B3_UMDF_MD_NODISCARD bool lastTradeDate(Timestamp &value) const
Date the instrument last traded.
Definition: Messages.h:3563
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:6478
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:3084
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Price of the Market Data Entry.
Definition: Messages.h:7812
The latest price traded for the security in the trading session..
Definition: Messages.h:5349
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:5461
ONIXS_B3_UMDF_MD_NODISCARD InstrAttribType::Enum instrAttribType() const
Code to represent the type of instrument attributes.
Definition: Messages.h:1597
SbeGroupEntry< GroupSizeEncoding::BlockLength > Base
Base class type.
Definition: Messages.h:1327
ONIXS_B3_UMDF_MD_NODISCARD UInt32 totNumBids() const
Total number of bid orders that constitute this snapshot.
Definition: Messages.h:6381
ONIXS_B3_UMDF_MD_NODISCARD UInt16 securitySubType() const
Instrument&#39;s security sub type.
Definition: Messages.h:1793
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:116
ONIXS_B3_UMDF_MD_NODISCARD bool securityId(SecurityIDOptional &value) const
Security ID as defined by B3.
Definition: Messages.h:2584
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryInterestRate(Percentage &value) const
Interest Rate of the Termo Trade.
Definition: Messages.h:5596
ONIXS_B3_UMDF_MD_NODISCARD StrRef securityDesc() const
Non-normative textual description for the financial instrument.
Definition: Messages.h:2346
ExecutionSummary_55(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:8041
HighPrice_24(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:4864
SequenceReset_1()
Initializes a blank instance.
Definition: Messages.h:45
ONIXS_B3_UMDF_MD_NODISCARD Timestamp issueDate() const
The date on which the security is issued/activated.
Definition: Messages.h:1945
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:8270
Channel Reset (remove all instruments, empty all books and statistics).
Definition: Messages.h:585
char Char
Character type alias.
Definition: String.h:30
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:647
OpenInterest_29(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:6024
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:8545
ONIXS_B3_UMDF_MD_NODISCARD bool exerciseStyle(ExerciseStyle::Enum &value) const
Exercise Style.
Definition: Messages.h:2205
UInt8 UInt8
1-byte unsigned integer, from 0 to 255..
Definition: Fields.h:50
Enum
Sub type of trade assigned to a trade.
Definition: Fields.h:1384
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:8681
ONIXS_B3_UMDF_MD_NODISCARD UpdateAction::Enum mDUpdateAction() const
Update Action (NEW or DELETE).
Definition: Messages.h:3249
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:5619
ONIXS_B3_UMDF_MD_NODISCARD QuantityVolume tradeVolume() const
Total traded volume for the session.
Definition: Messages.h:8452
OpeningPrice_15(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:2881
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:962
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:7933
Order_MBO_50()
Initializes a blank instance.
Definition: Messages.h:6523
ONIXS_B3_UMDF_MD_NODISCARD SecurityIDSource::Enum securityIdSource() const
Identifies the class of the SecurityID.
Definition: Messages.h:1739
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:8197
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:5941
IntegralConstant< UInt64, 0ULL > NullClearingHouseID
Null value for an optional ClearingHouseID field.
Definition: Fields.h:1943
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:656
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:96
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_END
Definition: ABI.h:151
PriceBand_20(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:3980
Settlement price or the previous day’s adjusted closing price..
Definition: Messages.h:5702
UInt64 ClearingHouseID
ClearingHouseID (SecurityAltID).
Definition: Fields.h:192
ChannelReset_11()
Initializes a blank instance.
Definition: Messages.h:596
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:989
ONIXS_B3_UMDF_MD_NODISCARD bool priceLimitType(PriceLimitType::Enum &value) const
Describes how the price limits are expressed.
Definition: Messages.h:4671
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:5001
ONIXS_B3_UMDF_MD_NODISCARD bool strikePrice(PriceOptional &value) const
Strike price of an option.
Definition: Messages.h:1824
Null values definition for optional UTCTimestampNanos field.
Definition: Composites.h:793
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:6082
QuantityBand_21(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:4290
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:5420
Enum
Code to represent the price type. If absent (zero), the default value is DECIMALS.
Definition: Fields.h:593
Relays execution summary information on one instrument..
Definition: Messages.h:8016
static ONIXS_B3_UMDF_MD_API SeqNum1 newSeqNo()
New sequence number. Always one.
Definition: Messages.h:105
UInt32 TradeID
Contains the unique identifier for this trade per instrument + trading date, as assigned by the excha...
Definition: Fields.h:148
UInt32 SeqNum
Sequence number inside the given channel.
Definition: Fields.h:154
ONIXS_B3_UMDF_MD_NODISCARD OrderID secondaryOrderId() const
Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.
Definition: Messages.h:6700
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Definition: Messages.h:1386
ONIXS_B3_UMDF_MD_NODISCARD bool legRatioQty(RatioQty &value) const
Ratio of quantity for this leg relative to the entire security.
Definition: Messages.h:1485
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:738
ONIXS_B3_UMDF_MD_NODISCARD NumberOfTrades numberOfTrades() const
Number of trades executed in the session.
Definition: Messages.h:8485
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:5778
SettlementPrice_28(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:5743
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:4185
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:6594
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:6869
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Definition: Messages.h:9007
ONIXS_B3_UMDF_MD_NODISCARD SecurityType::Enum securityType() const
Instrument&#39;s security type.
Definition: Messages.h:1782
ONIXS_B3_UMDF_MD_NODISCARD bool minTradeVol(QuantityOptional &value) const
The minimum trading volume for the security.
Definition: Messages.h:1925
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:747
UInt16 MessageSize
Message length type.
Definition: Aliases.h:29
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:3514
ONIXS_B3_UMDF_MD_NODISCARD bool sellerDays(UInt16NULL &value) const
Specifies the number of days that may elapse before delivery of the security.
Definition: Messages.h:7898
ONIXS_B3_UMDF_MD_NODISCARD bool strikeCurrency(StrRef &value) const
Currency of option&#39;s strike price.
Definition: Messages.h:2141
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:4197
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event.
Definition: Messages.h:8699
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:5026
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:163
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:8495
UInt32 FirmOptional
Identifies the broker firm.
Definition: Fields.h:136
ONIXS_B3_UMDF_MD_NODISCARD StrRef symbol() const
Instrument&#39;s ticker symbol.
Definition: Messages.h:1760
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:4172
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:3370
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:5450
ONIXS_B3_UMDF_MD_NODISCARD bool settlType(SettlType &value) const
Order settlement period in days.
Definition: Messages.h:2026
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Trading Session High Price.
Definition: Messages.h:4961
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:8557
ONIXS_B3_UMDF_MD_NODISCARD bool netChgPrevDay(PriceOffset8Optional &value) const
Net change from previous trading day’s closing price vs.
Definition: Messages.h:8474
Sequence_2(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:221
SchemaTraits Schema
Used template schema.
Definition: Messages.h:7669
ONIXS_B3_UMDF_MD_NODISCARD Quantity mDEntrySize() const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:8747
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionID::Enum tradingSessionId() const
Identifier for trading session.
Definition: Messages.h:891
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:4785
ONIXS_B3_UMDF_MD_NODISCARD Timestamp localMktDateToTimestamp(LocalMktDate days)
Converts days since epoch to Timestamp value.
Definition: Fields.h:1999
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:7610
SettlementPrice_28(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:5731
ONIXS_B3_UMDF_MD_NODISCARD bool minCrossQty(QuantityOptional &value) const
Minimum quantity of a cross order for the security.
Definition: Messages.h:2308
UInt64 OrderID
Unique identifier for Order as assigned by the exchange.
Definition: Fields.h:142
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:8374
UInt32 UInt32
4-byte unsigned integer, from 0 to 4294967295 (2^32-1)..
Definition: Fields.h:58
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:7054
Enum
Phase related to a SecurityGroup where the instrument belongs to.
Definition: Fields.h:791
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:5551
Relays execution summary statistics information on one instrument..
Definition: Messages.h:8303
SchemaTraits Schema
Used template schema.
Definition: Messages.h:4270
ONIXS_B3_UMDF_MD_NODISCARD bool maxOrderQty(QuantityOptional &value) const
Maximum quantity for an order.
Definition: Messages.h:1904
SnapshotFullRefresh_Orders_MBO_71(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:9060
OpenInterest_29()
Initializes a blank instance.
Definition: Messages.h:6009
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:8519
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:5953
MessageSize BlockLength
Length of the message body representing a block of fixed-length fields.
Definition: SbeMessage.h:1120
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:3617
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:6071
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:4317
ONIXS_B3_UMDF_MD_NODISCARD TradeCondition tradeCondition() const
Set of conditions describing a trade.
Definition: Messages.h:7802
ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange() const
Exchange Code.
Definition: Messages.h:1728
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntrySize(QuantityOptional &value) const
Quantity of the deleted order.
Definition: Messages.h:6958
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:4357
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Last Trade Price.
Definition: Messages.h:5498
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum legSecurityIdSource()
Identifies the class of the leg instrument&#39;s SecurityID (Exchange Symbol).
Definition: Messages.h:1466
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:4806
Enum
Identifies class or source of the SecurityID value.
Definition: Fields.h:1359
Enum
Band Midpoint Type, used with Auction Price Banding.
Definition: Fields.h:937
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:142
Attributes of SBE message schema.
Definition: SchemaTraits.h:37
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:3631
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:3887
IntegralConstant< UInt16, 65535 > NullSettlType
Null value for an optional SettlType field.
Definition: Fields.h:1955
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:422
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Price of the Market Data Entry.
Definition: Messages.h:8737
ONIXS_B3_UMDF_MD_NODISCARD bool priceBandMidpointPriceType(PriceBandMidpointPriceType::Enum &value) const
Band Midpoint Type, used with Auction Price Banding.
Definition: Messages.h:4111
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:8414
ONIXS_B3_UMDF_MD_NODISCARD bool trdSubType(TrdSubType::Enum &value) const
Sub type of trade assigned to a trade.
Definition: Messages.h:7920
ONIXS_B3_UMDF_MD_NODISCARD StrRef uRLLink() const
A URL (Uniform Resource Locator) link to additional information (e.g. http://www.b3.com.br).
Definition: Messages.h:2716
ONIXS_B3_UMDF_MD_NODISCARD StrRef constructStrRef(const char(&value)[Size])
Definition: StrRef.h:415
Enum
Indicates the type of product the security is associated with.
Definition: Fields.h:432
Int64 Quantity
Quantity in order/trade.
Definition: Fields.h:110
PriceBand_20()
Initializes a blank instance.
Definition: Messages.h:3966
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:929
ONIXS_B3_UMDF_MD_NODISCARD Quantity mDEntrySize() const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:7494
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:7149
LastTradePrice_27()
Initializes a blank instance.
Definition: Messages.h:5360
AuctionImbalance_19(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:3736
Enum
Types of Market Data update action.
Definition: Fields.h:1018
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:3105
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionID::Enum tradingSessionId() const
Identifier for trading session.
Definition: Messages.h:1150
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:5648
Null values definition for optional PriceOffset8Optional field.
Definition: Composites.h:553
SchemaTraits Schema
Used template schema.
Definition: Messages.h:6000
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:9127
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionID::Enum tradingSessionId() const
Identifier for trading session.
Definition: Messages.h:7464
A nullable real number with a constant exponent.
Definition: Decimal.h:116
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:7622
ONIXS_B3_UMDF_MD_NODISCARD bool tradedHiddenQty(QuantityOptional &value) const
Total quantity of matched passive orders that is not displayed to the market.
Definition: Messages.h:8165
ONIXS_B3_UMDF_MD_NODISCARD bool priceDivisor(Fixed8 &value) const
Value that divides the Price field to produce the actual order price (based on Step of Quotation)...
Definition: Messages.h:1850
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantityOptional
Null value for an optional QuantityOptional field.
Definition: Fields.h:1877
IntegralConstant< UInt32, 0 > NullRptSeq
Null value for an optional RptSeq field.
Definition: Fields.h:1937
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:1234
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Settlement Price.
Definition: Messages.h:5828
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:4007
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:3042
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Price Band.
Definition: Messages.h:4076
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:5281
ONIXS_B3_UMDF_MD_NODISCARD StrRef asset() const
Asset associated to the security.
Definition: Messages.h:2086
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:6062
Order_MBO_50(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:6537
Enum
Corporative governance level indicator. Required for cash equities.
Definition: Fields.h:701
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:3875
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:8566
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:6888
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:4037
SchemaTraits Schema
Used template schema.
Definition: Messages.h:4844
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionID::Enum tradingSessionId() const
Identifier for trading session.
Definition: Messages.h:7792
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:2948
Enum
Indicates the type of the security.
Definition: Fields.h:475
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:4611
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:5899
ONIXS_B3_UMDF_MD_NODISCARD bool securityTradingEvent(SecurityTradingEvent::Enum &value) const
Indicates if the trading session changed in order to reset some statistics for this group...
Definition: Messages.h:1173
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:8531
LastTradePrice_27(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:5385
ONIXS_B3_UMDF_MD_NODISCARD bool transactTime(UTCTimestampNanos &value) const
Timestamp when the business transaction represented by the message occurred.
Definition: Messages.h:1207
ONIXS_B3_UMDF_MD_NODISCARD SecurityTradingStatus::Enum securityTradingStatus() const
Status related to a given instrument.
Definition: Messages.h:902
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:5912
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:7179
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:8780
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:697
IntegralConstant< UInt8, 0 > NullMarketSegmentID
Null value for an optional MarketSegmentID field.
Definition: Fields.h:1991
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:8249
Enum
Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined...
Definition: Fields.h:1244
ONIXS_B3_UMDF_MD_NODISCARD bool corporateActionEventId(UInt32NULL &value) const
Corporate Action Event ID.
Definition: Messages.h:1935
Disseminates the deletion of a new order..
Definition: Messages.h:6817
ONIXS_B3_UMDF_MD_NODISCARD bool settlDate(Timestamp &value) const
Specific date of trade settlement.
Definition: Messages.h:2036
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Trade Bust.
Definition: Messages.h:8719
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:1270
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:5146
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:3913
Trade_53(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:7372
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_BEGIN
Definition: ABI.h:146
IntegralConstant< UInt32, 0 > NullFirmOptional
Null value for an optional FirmOptional field.
Definition: Fields.h:1895
Enum
Type of matching that occurred. Required for Special Auctions.
Definition: Fields.h:741
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:6763
ONIXS_B3_UMDF_MD_NODISCARD TradeID tradeId() const
Contains the unique identifier for this trade per instrument + trading date, as assigned by the excha...
Definition: Messages.h:8759
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:3344
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:2727
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:4990
MessageHeader::Version SchemaVersion
SBE-encoded data version type.
Definition: SchemaTraits.h:30
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:5633
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryPx(PriceOptional &value) const
Theoretical Opening Price.
Definition: Messages.h:3288
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:1249
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:7045
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:7302
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:6604
Enum
Flag that identifies if the opening/closing/settlement price is related to theoretical, daily, previous business day or just an updated value.
Definition: Fields.h:875
ONIXS_B3_UMDF_MD_NODISCARD bool origTime(UTCTimestampNanos &value) const
Time of message origination.
Definition: Messages.h:2680
ONIXS_B3_UMDF_MD_NODISCARD SeqNum lastMsgSeqNumProcessed() const
The last processed packet sequence number of the incremental channel as of the time the snapshot was ...
Definition: Messages.h:6360
ONIXS_B3_UMDF_MD_NODISCARD InstrAttribValue::Enum instrAttribValue() const
Attribute value appropriate to the InstrAttribType (871) field.
Definition: Messages.h:1608
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:3782
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:4735
Enum
Identifies an event related to a Trade. This tag is also used to mark when an instrument state is kep...
Definition: Fields.h:816
ONIXS_B3_UMDF_MD_NODISCARD EntryType::Enum mDEntryType() const
Entry Type (BID or OFFER).
Definition: Messages.h:6632
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:4797
ONIXS_B3_UMDF_MD_NODISCARD UInt32 totalTextLength() const
Total size, in bytes, for the text of a News message.
Definition: Messages.h:2690
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:6112
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:8078
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:8770
#define ONIXS_B3_UMDF_MD_LTWT_EXPORTED
Definition: ABI.h:98
ONIXS_B3_UMDF_MD_NODISCARD bool isinNumber(StrRef &value) const
ISIN Number.
Definition: Messages.h:2075
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:7746
Enum
Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs...
Definition: Fields.h:661
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:5441
AuctionImbalance_19(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:3725
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event.
Definition: Messages.h:7764
Null values definition for optional UTCTimestampSeconds field.
Definition: Composites.h:925
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:7239
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:2753
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:4591
SbeGroup< InstrAttribsEntry, GroupSizeEncoding, MessageSize > InstrAttribs
Repeating group containing InstrAttribsEntry entries.
Definition: Messages.h:1656
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:8791
ForwardTrade_54(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:7689
SequenceReset_1(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:70
ONIXS_B3_UMDF_MD_NODISCARD bool minLotSize(QuantityOptional &value) const
Minimum lot size allowed based on lot type specified in LotType(1093).
Definition: Messages.h:1915
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:8220
ONIXS_B3_UMDF_MD_NODISCARD bool lastFragment(Boolean::Enum &value) const
Indicates whether this message is the last in the sequence of messages.
Definition: Messages.h:2271
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:711
IntegralConstant< UInt8, 0 > NullUInt8NULL
Null value for an optional UInt8NULL field.
Definition: Fields.h:1841
ONIXS_B3_UMDF_MD_NODISCARD bool contractMultiplier(Fixed8 &value) const
Specifies the ratio or multiply factor to convert from “nominal” units (e.g.
Definition: Messages.h:1836
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:7875
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:460
Enum
Code to represent how the multileg price is to be interpreted when applied to the legs...
Definition: Fields.h:1267
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:3667
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:4496
SecurityStatus_3()
Initializes a blank instance.
Definition: Messages.h:791
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:7557
Enum
Code to represent the type of instrument attributes.
Definition: Fields.h:1325
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:8506
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:4921
EmptyBook_9(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:385
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef underlyingSecurityExchange()
Underlying instrument&#39;s Exchange Code.
Definition: Messages.h:1365
IntegralConstant< UInt64, 0ULL > NullSecurityIDOptional
Null value for an optional SecurityIDOptional field.
Definition: Fields.h:1931
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:5176
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:2371
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:258
EmptyBook_9()
Initializes a blank instance.
Definition: Messages.h:371
SbeGroup< LegsEntry, GroupSizeEncoding, MessageSize > Legs
Repeating group containing LegsEntry entries.
Definition: Messages.h:1564
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:1220
Partial list of orders for the snapshot of a single instrument..
Definition: Messages.h:8887
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:5256
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:674
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:318
ONIXS_B3_UMDF_MD_NODISCARD bool netChgPrevDay(PriceOffset8Optional &value) const
Net change from previous trading day’s closing price vs.
Definition: Messages.h:3009
ONIXS_B3_UMDF_MD_NODISCARD EntryPositionNo mDEntryPositionNo() const
Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1.
Definition: Messages.h:6948
Enum
Which side is aggressor of this trade.
Definition: Fields.h:763
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:292
ONIXS_B3_UMDF_MD_NODISCARD bool priceBandMidpointPriceType(PriceBandMidpointPriceType::Enum &value) const
Band Midpoint Type, used with Auction Price Banding.
Definition: Messages.h:4685
ONIXS_B3_UMDF_MD_NODISCARD StrRef securityGroup() const
Security Group.
Definition: Messages.h:1128
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:5561
IntegralConstant< UInt64, 0ULL > NullUInt64NULL
Null value for an optional UInt64NULL field.
Definition: Fields.h:1859
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:6574
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:5156
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:4901
LowPrice_25(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:5119
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:637
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:3190
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:7537
IntegralConstant< UInt64, 0ULL > NullNewsID
Null value for an optional NewsID field.
Definition: Fields.h:1949
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:4327
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:3308
Null values definition for optional RatioQty field.
Definition: Composites.h:340
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies if it is a retransmission.
Definition: Messages.h:7187
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:6150
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:2596
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:4600
ONIXS_B3_UMDF_MD_NODISCARD bool priceType(PriceType::Enum &value) const
Price type of the instrument.
Definition: Messages.h:2226
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:3475
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:8818
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:5195
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:4940
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:4487
Enum
Specifies the service pack release being applied at message level.
Definition: Fields.h:1197
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:4223
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Last Trade Price.
Definition: Messages.h:5470
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:7962
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:5316
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:6309
IntegralConstant< UInt8, 255 > NullUInt8
Null value for an optional UInt8 field.
Definition: Fields.h:1787
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:6161
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:6748
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:7169
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:3069
ONIXS_B3_UMDF_MD_NODISCARD Quantity mDEntrySize() const
Quantity or volume represented by the Market Data Entry.
Definition: Messages.h:7822
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:7398
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:2397
Null values definition for optional Fixed8 field.
Definition: Composites.h:406
ONIXS_B3_UMDF_MD_NODISCARD Quantity mDEntrySize() const
Indicates volume of contracts currently open.
Definition: Messages.h:6140
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:3646
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:449
ONIXS_B3_UMDF_MD_NODISCARD bool priceBandType(PriceBandType::Enum &value) const
Indicates the type of price banding (tunnel).
Definition: Messages.h:4659
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:7407
ONIXS_B3_UMDF_MD_NODISCARD bool minPriceIncrement(Fixed8 &value) const
Number of minimum price increments.
Definition: Messages.h:1814
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:7266
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:3505
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:8261
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:6775
ONIXS_B3_UMDF_MD_NODISCARD bool priceBandType(PriceBandType::Enum &value) const
Indicates the type of price banding (tunnel).
Definition: Messages.h:4085
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:5431
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:3055
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:6980
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:5165
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:5225
#define ONIXS_B3_UMDF_MD_LTWT_STRUCT
Definition: ABI.h:94
Relays trade information on one Forward instrument.
Definition: Messages.h:7664
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:3771
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:8651
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Definition: Messages.h:1528
Relays trade information on one instrument..
Definition: Messages.h:7336
ONIXS_B3_UMDF_MD_NODISCARD bool lowLimitPrice(PriceOptional &value) const
Allowable low limit price for the trading day.
Definition: Messages.h:4699
ONIXS_B3_UMDF_MD_NODISCARD SeqNum nextSeqNo() const
The next application sequence number in the feed.
Definition: Messages.h:267
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:5186
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:5808
UInt64 SecurityID
Security ID as defined by B3&#39;s Trading System.
Definition: Fields.h:168
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:7756
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:9158
ONIXS_B3_UMDF_MD_NODISCARD bool highLimitPrice(PriceOptional &value) const
Allowable high limit price for the trading day.
Definition: Messages.h:4712
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies if it is a retransmission.
Definition: Messages.h:6917
OpeningPrice_15()
Initializes a blank instance.
Definition: Messages.h:2867
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Trading Session High Price.
Definition: Messages.h:4980
ClosingPrice_17(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:3438
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:431
ONIXS_B3_UMDF_MD_NODISCARD bool lotType(LotType::Enum &value) const
Lot type.
Definition: Messages.h:2174
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:4377
Specifies the number of the application ID occurrences (number of channels).
Definition: Messages.h:1569
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:6101
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:3862
ONIXS_B3_UMDF_MD_NODISCARD EntryPositionNo mDEntryPositionNo() const
Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1.
Definition: Messages.h:6666
InstrAttribsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1585
UInt32 NumberOfTrades
Contains the number of trades executed in the session.
Definition: Fields.h:104
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:7631
SchemaTraits Schema
Used template schema.
Definition: Messages.h:590
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW).
Definition: Messages.h:7775
ONIXS_B3_UMDF_MD_NODISCARD bool aggressorTime(UTCTimestampNanos &value) const
Timestamp of aggressive order resulting in match event.
Definition: Messages.h:8186
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:881
ONIXS_B3_UMDF_MD_NODISCARD bool tradSesOpenTime(UTCTimestampNanos &value) const
Estimated end of the current auction.
Definition: Messages.h:940
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:726
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:5660
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:3593
DeleteOrder_MBO_51(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:6853
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:6130
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Definition: Messages.h:1620
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (DELETE).
Definition: Messages.h:6928
MassDeleteOrders_MBO_52(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:7123
Int64 QuantityVolume
Volume Quantity.
Definition: Fields.h:122
ONIXS_B3_UMDF_MD_NODISCARD Quantity fillQty() const
Quantity of all fills.
Definition: Messages.h:8154
ONIXS_B3_UMDF_MD_NODISCARD Quantity mDEntrySize() const
Displayed quantity or volume represented by the Market Data Entry.
Definition: Messages.h:6654
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:842
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:2918
PriceBand_22()
Initializes a blank instance.
Definition: Messages.h:4540
Sequence_2()
Initializes a blank instance.
Definition: Messages.h:207
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:502
ONIXS_B3_UMDF_MD_NODISCARD bool securityStrategyType(StrRef &value) const
Strategy type definition.
Definition: Messages.h:2163
News_5(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:2537
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:5411
ONIXS_B3_UMDF_MD_NODISCARD bool enteringFirm(FirmOptional &value) const
Identifies the broker firm.
Definition: Messages.h:6676
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryInterestRate(Percentage &value) const
Interest Rate of the Termo Trade.
Definition: Messages.h:7910
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Trading Session Low Price.
Definition: Messages.h:5216
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:4422
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:7886
Int64 QuantityOptional
Quantity in order/trade.
Definition: Fields.h:116
ONIXS_B3_UMDF_MD_NODISCARD bool lastRptSeq(RptSeq &value) const
Last processed RptSeq (sequence number per instrument update) for this instrument.
Definition: Messages.h:6415
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:4056
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:1025
LegsEntry(const void *data, EncodedLength length, SchemaVersion version)
Initializes instance of given version over given memory block.
Definition: Messages.h:1442
ONIXS_B3_UMDF_MD_NODISCARD bool newsId(NewsID &value) const
Unique identifier for News message.
Definition: Messages.h:2670
UInt32 RptSeq
Sequence number per instrument update.
Definition: Fields.h:186
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW).
Definition: Messages.h:7447
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryBuyer(FirmOptional &value) const
For reporting trades (buying party).
Definition: Messages.h:7516
Enum
Code to represent the type of instrument attributes.
Definition: Fields.h:1302
ONIXS_B3_UMDF_MD_NODISCARD EntryType::Enum mDEntryType() const
Entry Type (BID or OFFER).
Definition: Messages.h:8995
SbeGroup< Entry, GroupSizeEncoding, MessageSize > Entries
Repeating group containing Entry entries.
Definition: Messages.h:9043
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:1140
ONIXS_B3_UMDF_MD_NODISCARD UpdateAction::Enum mDUpdateAction() const
Update Action (NEW or DELETE).
Definition: Messages.h:4950
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:5572
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:6457
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:3604
News_5(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:2548
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:1700
Trade_53(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:7361
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:3319
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionID::Enum tradingSessionId() const
Identifier for trading session.
Definition: Messages.h:8727
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:8068
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:6328
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:1185
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:832
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:6215
ONIXS_B3_UMDF_MD_NODISCARD bool clearingHouseId(ClearingHouseID &value) const
Clearing House ID.
Definition: Messages.h:1884
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:5819
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:5669
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:7581
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:6203
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:2606
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:8087
ONIXS_B3_UMDF_MD_NODISCARD UpdateAction::Enum mDUpdateAction() const
Update Action (NEW, CHANGE).
Definition: Messages.h:6622
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:5837
SchemaTraits Schema
Used template schema.
Definition: Messages.h:785
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:479
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:3762
ONIXS_B3_UMDF_MD_NODISCARD InstrAttribs instrAttribs() const
Definition: Messages.h:2336
ONIXS_B3_UMDF_MD_NODISCARD bool securityTradingEvent(SecurityTradingEvent::Enum &value) const
Identifies an event related to a Trading.
Definition: Messages.h:917
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (DELETE) = always delete.
Definition: Messages.h:8710
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum underlyingSecurityIdSource()
Identifies the class of the underlying instrument&#39;s SecurityID (Exchange Symbol). ...
Definition: Messages.h:1355
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:9106
ONIXS_B3_UMDF_MD_NODISCARD bool securityMatchType(SecurityMatchType::Enum &value) const
Type of matching that occurred.
Definition: Messages.h:2259
ForwardTrade_54()
Initializes a blank instance.
Definition: Messages.h:7675
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntrySize(QuantityOptional &value) const
Remaining auction quantity.
Definition: Messages.h:3841
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:5040
ONIXS_B3_UMDF_MD_NODISCARD SettlPriceType::Enum settlPriceType() const
Type of settlement price: FINAL, THEORETICAL or UPDATED.
Definition: Messages.h:5888
ONIXS_B3_UMDF_MD_NODISCARD bool minOrderQty(QuantityOptional &value) const
Minimum quantity for an order.
Definition: Messages.h:1894
LowPrice_25(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:5130
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:5052
ONIXS_B3_UMDF_MD_NODISCARD Quantity mDEntrySize() const
Displayed quantity or volume represented by the Market Data Entry.
Definition: Messages.h:8939
SchemaTraits Schema
Used template schema.
Definition: Messages.h:7341
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:4336
IntegralConstant< UInt32, 0 > NullUInt32NULL
Null value for an optional UInt32NULL field.
Definition: Fields.h:1853
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:8365
ExecutionStatistics_56(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:8339
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event.
Definition: Messages.h:8403
UInt16 LocalMktDateOptional
Optional local date (as opposed to UTC).
Definition: Fields.h:220
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:4771
ONIXS_B3_UMDF_MD_NODISCARD UpdateAction::Enum mDUpdateAction() const
Update Action (NEW or DELETE).
Definition: Messages.h:5205
Sent in incremental, snapshot and instrument list feeds in periods of no activity..
Definition: Messages.h:196
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:4161
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Quantity Band.
Definition: Messages.h:4386
ONIXS_B3_UMDF_MD_NODISCARD bool governanceIndicator(GovernanceIndicator::Enum &value) const
Corporative Governance Level Indicator.
Definition: Messages.h:2247
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:4211
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:4910
SecurityStatus_3(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:816
SchemaTraits Schema
Used template schema.
Definition: Messages.h:39
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:86
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:6879
ONIXS_B3_UMDF_MD_NODISCARD bool mDInsertTimestamp(UTCTimestampNanos &value) const
The date and time when the order was inserted or re- inserted into the order book or manually altered...
Definition: Messages.h:6688
OpeningPrice_15(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:2892
Relays trade bust (trade reversal) information on one instrument..
Definition: Messages.h:8599
ONIXS_B3_UMDF_MD_NODISCARD Underlyings underlyings() const
Definition: Messages.h:2318
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:2927
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:7735
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:3278
ONIXS_B3_UMDF_MD_NODISCARD StrRef currency() const
Currency code.
Definition: Messages.h:2130
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntrySize(QuantityOptional &value) const
Theoretical Opening Quantity.
Definition: Messages.h:3298
ONIXS_B3_UMDF_MD_NODISCARD Legs legs() const
Definition: Messages.h:2328
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:1261
ONIXS_B3_UMDF_MD_NODISCARD SecurityID underlyingSecurityId() const
Underlying instrument&#39;s security ID.
Definition: Messages.h:1343
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:8108
UInt8 MarketSegmentID
Identifies the market segment.
Definition: Fields.h:246
ONIXS_B3_UMDF_MD_NODISCARD TradingSessionID::Enum tradingSessionId() const
Identifier for trading session.
Definition: Messages.h:5478
SecurityDefinition_12(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:1673
Null values definition for optional Percentage field.
Definition: Composites.h:272
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:489
ONIXS_B3_UMDF_MD_NODISCARD MatchEventIndicator matchEventIndicator() const
Identifies the end of the current event and if it is a retransmission.
Definition: Messages.h:4630
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:3465
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:3220
ONIXS_B3_UMDF_MD_NODISCARD Price8 mDEntryPx() const
Closing price. May be adjusted by corporate events.
Definition: Messages.h:3553
SbeGroupEntry< GroupSizeEncoding::BlockLength > Base
Base class type.
Definition: Messages.h:8911
ONIXS_B3_UMDF_MD_NODISCARD UpdateAction::Enum mDUpdateAction() const
Update Action (NEW or DELETE).
Definition: Messages.h:3811
ONIXS_B3_UMDF_MD_NODISCARD EntryType::Enum mDEntryType() const
Entry Type (BID or OFFER).
Definition: Messages.h:7207
DeleteOrder_MBO_51()
Initializes a blank instance.
Definition: Messages.h:6828
static ONIXS_B3_UMDF_MD_API EntryType::Enum mDEntryType()
Entry type: Imbalance.
Definition: Messages.h:3822
ONIXS_B3_UMDF_MD_NODISCARD Price mDEntryPx() const
Price of the Market Data Entry.
Definition: Messages.h:7484
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:862
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:7388
ONIXS_B3_UMDF_MD_NODISCARD Timestamp tradeDate() const
Used to specify the trading date for which a set of market data applies.
Definition: Messages.h:3021
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:6319
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:7947
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:7281
ONIXS_B3_UMDF_MD_NODISCARD bool highLimitPrice(PriceOptional &value) const
Allowable high limit price for the trading day.
Definition: Messages.h:4138
SchemaTraits Schema
Used template schema.
Definition: Messages.h:2517
HighPrice_24(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:4875
ONIXS_B3_UMDF_MD_NODISCARD bool maxTradeVol(QuantityVolumeOptional &value) const
The maximum order quantity that can be submitted for a security.
Definition: Messages.h:4411
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:3358
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:7158
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD MessageSize getMinimalVariableFieldsSize(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal variable fields size (when variable-length fields are empty).
Definition: Messages.h:3901
ONIXS_B3_UMDF_MD_NODISCARD StrRef underlyingSymbol() const
Underlying instrument&#39;s ticker symbol.
Definition: Messages.h:1373
ONIXS_B3_UMDF_MD_NODISCARD UpdateAction::Enum mDUpdateAction() const
Update Action (NEW or DELETE).
Definition: Messages.h:2967
ONIXS_B3_UMDF_MD_NODISCARD bool mDInsertTimestamp(UTCTimestampNanos &value) const
The date and time when the order was inserted or re- inserted into the order book or manually altered...
Definition: Messages.h:8973
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Definition: Messages.h:1542
SbeGroupEntry< GroupSizeEncoding::BlockLength > Base
Base class type.
Definition: Messages.h:1438
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:3658
ONIXS_B3_UMDF_MD_NODISCARD SecurityID securityId() const
Security ID as defined by B3.
Definition: Messages.h:4026
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:6469
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:5926
SnapshotFullRefresh_Header_30(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:6293
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryPx(PriceOptional &value) const
Price per share or contract.
Definition: Messages.h:8928
ONIXS_B3_UMDF_MD_NODISCARD bool trdSubType(TrdSubType::Enum &value) const
Sub type of trade assigned to a trade.
Definition: Messages.h:7547
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:6899
SequenceReset_1(const SbeMessage &message)
Creates an instance over the given SBE message.
Definition: Messages.h:59
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:1120
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:4433
ONIXS_B3_UMDF_MD_NODISCARD Price lastPx() const
Price of the last fill (i.e. worst price of this match).
Definition: Messages.h:8144
EmptyBook_9(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:396
static ONIXS_B3_UMDF_MD_API MessageType::Enum messageType()
FIX Message Type.
Definition: Messages.h:2564
ONIXS_B3_UMDF_MD_NODISCARD bool mDEntryTimestamp(UTCTimestampNanos &value) const
Date and time of market data entry.
Definition: Messages.h:3031
UInt16 UInt16NULL
2-byte unsigned integer, from 1 to 65535, NULL (optional) value = 0..
Definition: Fields.h:90
static ONIXS_B3_UMDF_MD_API SecurityIDSource::Enum securityIdSource()
Identifies the class of the SecurityID (Exchange Symbol).
Definition: Messages.h:2938
static ONIXS_B3_UMDF_MD_API UpdateAction::Enum mDUpdateAction()
Update Action (NEW) - always replace.
Definition: Messages.h:3525
ChannelReset_11(void *data, EncodedLength length, NoInit, NoCheck)
Creates an instance over the given memory block.
Definition: Messages.h:621
static ONIXS_B3_UMDF_MD_API ApplVerID::Enum applVerId()
Specifies the service pack release being applied at message level.
Definition: Messages.h:5769
SbeGroupEntry< GroupSizeEncoding::BlockLength > Base
Base class type.
Definition: Messages.h:1581
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef securityExchange()
Market to which the symbol belongs.
Definition: Messages.h:3792
static ONIXS_B3_UMDF_MD_API BlockLength blockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Size of message body in bytes.
Definition: Messages.h:6188
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD const Char * className()
Definition: Messages.h:7974
ONIXS_B3_UMDF_MD_NODISCARD bool rptSeq(RptSeq &value) const
Sequence number per instrument update.
Definition: Messages.h:4746
static ONIXS_B3_UMDF_MD_API BlockLength minimalBlockLength(ONIXS_B3_UMDF_MD_UNUSED SchemaVersion version)
Minimal size of message body in bytes.
Definition: Messages.h:9146
ONIXS_B3_UMDF_MD_API static ONIXS_B3_UMDF_MD_NODISCARD StrRef fixType()
FIX message type.
Definition: Messages.h:6784