OnixS C++ B3 Binary UMDF Market Data Handler  1.3.0
API documentation
Composites.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 
24 
28 
29 #ifdef DELETE
30 #undef DELETE
31 #endif
32 
34 ONIXS_B3_UMDF_MD_DATA_PACKING_BEGIN(1)
35 
36 /// Message identifiers and length of message root..
38 {
39 public:
40  /// Size of the composite.
41  enum { Size = 8 };
42 
43  /// Root block length..
45 
46  /// Null value for an optional BlockLength field.
47  typedef
50 
51  /// Template ID..
52  typedef UInt16 TemplateId;
53 
54  /// Null value for an optional TemplateId field.
55  typedef
58 
59  /// Schema ID..
60  typedef UInt16 SchemaId;
61 
62  /// Null value for an optional SchemaId field.
63  typedef
66 
67  /// Schema Version..
68  typedef UInt16 Version;
69 
70  /// Null value for an optional Version field.
71  typedef
74 
75  /// Root block length..
76  ONIXS_B3_UMDF_MD_NODISCARD
77  BlockLength blockLength() const
79  {
80  return blockLength_;
81  }
82 
83  /// Template ID..
84  ONIXS_B3_UMDF_MD_NODISCARD
85  TemplateId templateId() const
87  {
88  return templateId_;
89  }
90 
91  /// Schema ID..
92  ONIXS_B3_UMDF_MD_NODISCARD
93  SchemaId schemaId() const
95  {
96  return schemaId_;
97  }
98 
99  /// Schema Version..
100  ONIXS_B3_UMDF_MD_NODISCARD
101  Version version() const
103  {
104  return version_;
105  }
106 
107 private:
108  BlockLength blockLength_;
109  TemplateId templateId_;
110  SchemaId schemaId_;
111  Version version_;
112 };
113 
114 
115 /// Repeating group dimensions..
117 {
118 public:
119  /// Size of the composite.
120  enum { Size = 3 };
121 
122  /// Root block length..
124 
125  /// Null value for an optional BlockLength field.
126  typedef
129 
130  /// A counter representing the number of entries in a repeating group..
131  ///
132  /// FIX type: NumInGroup.
133  typedef UInt8 NumInGroup;
134 
135  /// Null value for an optional NumInGroup field.
136  typedef
139 
140  /// \return a human-readable presentation.
141  ONIXS_B3_UMDF_MD_NODISCARD
142  std::string
143  toString() const;
144 
145  /// Root block length..
146  ONIXS_B3_UMDF_MD_NODISCARD
147  BlockLength blockLength() const
149  {
150  return blockLength_;
151  }
152 
153  /// A counter representing the number of entries in a repeating group..
154  ///
155  /// FIX type: NumInGroup.
156  ONIXS_B3_UMDF_MD_NODISCARD
157  NumInGroup numInGroup() const
159  {
160  return numInGroup_;
161  }
162 
163 private:
164  BlockLength blockLength_;
165  NumInGroup numInGroup_;
166 };
167 
168 
169 /// Price (4 decimal places). Usually 3 places are enough, but FX requires 4..
170 ///
171 /// FIX type: Price.
172 typedef
174 <
175  Int64,
177 >
179 
181 
182 /// Optional price (4 decimal places). Usually 3 places are enough, but FX requires 4..
183 ///
184 /// FIX type: Price.
185 typedef
187 <
188  Int64,
189  IntegralConstant<Int8, -4>,
190  IntegralConstant<Int64, -9223372036854775807LL-1>
191 >
193 
194 /// Null values definition for optional PriceOptional field.
196 {
197  /// Aliases the type whose null value
198  /// traits are exposed by the given class.
200 
201  /// Null value for an optional Mantissa field.
202  typedef
203  IntegralConstant<Int64, -9223372036854775807LL-1>
205 
206 
207  /// Compares encoded data to NULL.
208  ONIXS_B3_UMDF_MD_NODISCARD
209  bool operator ==(const Value& other) const
211  {
212  return (
213  NullMantissa() ==
214  other.mantissa());
215  }
216 
217  /// Compares encoded data to NULL.
218  ONIXS_B3_UMDF_MD_NODISCARD
219  bool operator !=(const Value& other) const
221  {
222  return !(*this == other);
223  }
224 
225  /// \return the value of the constant.
227  operator Value() const
229  {
230  return Value(NullMantissa());
231  }
232 
233  /// \return the value of the constant.
235  Value operator()() const
237  {
238  return Value(NullMantissa());
239  }
240 
241  /// \return the value of the constant.
243  static Value value()
245  {
246  return Value(NullMantissa());
247  }
248 };
249 
250 /// \return whether the given value is Null.
251 ONIXS_B3_UMDF_MD_NODISCARD
252 inline bool
254  const PriceOptional& value)
256 {
257  return value.isNull();
258 }
259 
260 /// Optional percentage (4 decimal places)..
261 ///
262 /// FIX type: Percentage.
263 typedef
265 <
266  Int64,
268 >
270 
271 /// Null values definition for optional Percentage field.
273 {
274  /// Aliases the type whose null value
275  /// traits are exposed by the given class.
276  typedef Percentage Value;
277 
278  /// Null value for an optional Mantissa field.
279  typedef
282 
283 
284  /// Compares encoded data to NULL.
285  ONIXS_B3_UMDF_MD_NODISCARD
286  bool operator ==(const Value& other) const
288  {
289  return (
290  NullMantissa() ==
291  other.mantissa());
292  }
293 
294  /// Compares encoded data to NULL.
295  ONIXS_B3_UMDF_MD_NODISCARD
296  bool operator !=(const Value& other) const
298  {
299  return !(*this == other);
300  }
301 
302  /// \return the value of the constant.
304  operator Value() const
306  {
307  return Value(NullMantissa());
308  }
309 
310  /// \return the value of the constant.
312  Value operator()() const
314  {
315  return Value(NullMantissa());
316  }
317 
318  /// \return the value of the constant.
320  static Value value()
322  {
323  return Value(NullMantissa());
324  }
325 };
326 
327 
328 /// Ratio of quantity relative to the whole thing..
329 ///
330 /// FIX type: Qty.
331 typedef
333 <
334  Int64,
336 >
338 
339 /// Null values definition for optional RatioQty field.
341 {
342  /// Aliases the type whose null value
343  /// traits are exposed by the given class.
344  typedef RatioQty Value;
345 
346  /// Null value for an optional Mantissa field.
347  typedef
348  IntegralConstant<Int64, -9223372036854775807LL-1>
350 
351 
352  /// Compares encoded data to NULL.
353  ONIXS_B3_UMDF_MD_NODISCARD
354  bool operator ==(const Value& other) const
356  {
357  return (
358  NullMantissa() ==
359  other.mantissa());
360  }
361 
362  /// Compares encoded data to NULL.
363  ONIXS_B3_UMDF_MD_NODISCARD
364  bool operator !=(const Value& other) const
366  {
367  return !(*this == other);
368  }
369 
370  /// \return the value of the constant.
372  operator Value() const
374  {
375  return Value(NullMantissa());
376  }
377 
378  /// \return the value of the constant.
380  Value operator()() const
382  {
383  return Value(NullMantissa());
384  }
385 
386  /// \return the value of the constant.
388  static Value value()
390  {
391  return Value(NullMantissa());
392  }
393 };
394 
395 
396 /// Optional decimal with constant exponent -8..
397 typedef
399 <
400  Int64,
402 >
404 
405 /// Null values definition for optional Fixed8 field.
407 {
408  /// Aliases the type whose null value
409  /// traits are exposed by the given class.
410  typedef Fixed8 Value;
411 
412  /// Null value for an optional Mantissa field.
413  typedef
414  IntegralConstant<Int64, -9223372036854775807LL-1>
416 
417 
418  /// Compares encoded data to NULL.
419  ONIXS_B3_UMDF_MD_NODISCARD
420  bool operator ==(const Value& other) const
422  {
423  return (
424  NullMantissa() ==
425  other.mantissa());
426  }
427 
428  /// Compares encoded data to NULL.
429  ONIXS_B3_UMDF_MD_NODISCARD
430  bool operator !=(const Value& other) const
432  {
433  return !(*this == other);
434  }
435 
436  /// \return the value of the constant.
438  operator Value() const
440  {
441  return Value(NullMantissa());
442  }
443 
444  /// \return the value of the constant.
446  Value operator()() const
448  {
449  return Value(NullMantissa());
450  }
451 
452  /// \return the value of the constant.
454  static Value value()
456  {
457  return Value(NullMantissa());
458  }
459 };
460 
461 
462 /// Optional percentage (9 decimal places)..
463 ///
464 /// FIX type: Percentage.
465 typedef
467 <
468  Int64,
470 >
472 
473 /// Null values definition for optional Percentage9 field.
475 {
476  /// Aliases the type whose null value
477  /// traits are exposed by the given class.
479 
480  /// Null value for an optional Mantissa field.
481  typedef
484 
485 
486  /// Compares encoded data to NULL.
487  ONIXS_B3_UMDF_MD_NODISCARD
488  bool operator ==(const Value& other) const
490  {
491  return (
492  NullMantissa() ==
493  other.mantissa());
494  }
495 
496  /// Compares encoded data to NULL.
497  ONIXS_B3_UMDF_MD_NODISCARD
498  bool operator !=(const Value& other) const
500  {
501  return !(*this == other);
502  }
503 
504  /// \return the value of the constant.
506  operator Value() const
508  {
509  return Value(NullMantissa());
510  }
511 
512  /// \return the value of the constant.
514  Value operator()() const
516  {
517  return Value(NullMantissa());
518  }
519 
520  /// \return the value of the constant.
522  static Value value()
524  {
525  return Value(NullMantissa());
526  }
527 };
528 
529 
530 /// Price (8 decimal places). For prices subjected to be adjusted from corporate events..
531 ///
532 /// FIX type: Price.
533 typedef
535 <
536  Int64,
538 >
540 
541 /// Price Offset (8 decimal places). Offsets related to prices subjected to be adjusted from corporate events..
542 ///
543 /// FIX type: Price.
544 typedef
546 <
547  Int64,
549 >
551 
552 /// Null values definition for optional PriceOffset8Optional field.
554 {
555  /// Aliases the type whose null value
556  /// traits are exposed by the given class.
558 
559  /// Null value for an optional Mantissa field.
560  typedef
561  IntegralConstant<Int64, -9223372036854775807LL-1>
563 
564 
565  /// Compares encoded data to NULL.
566  ONIXS_B3_UMDF_MD_NODISCARD
567  bool operator ==(const Value& other) const
569  {
570  return (
571  NullMantissa() ==
572  other.mantissa());
573  }
574 
575  /// Compares encoded data to NULL.
576  ONIXS_B3_UMDF_MD_NODISCARD
577  bool operator !=(const Value& other) const
579  {
580  return !(*this == other);
581  }
582 
583  /// \return the value of the constant.
585  operator Value() const
587  {
588  return Value(NullMantissa());
589  }
590 
591  /// \return the value of the constant.
593  Value operator()() const
595  {
596  return Value(NullMantissa());
597  }
598 
599  /// \return the value of the constant.
601  static Value value()
603  {
604  return Value(NullMantissa());
605  }
606 };
607 
608 
609 /// DATA Field.
610 /// FIX type: data.
612 {
613 public:
614  /// Size of the composite.
615  enum { Size = 1 };
616 
617  /// Length type.
618  typedef UInt8 Length;
619 
620  /// VarData type.
621  typedef Char VarData;
622 
623  /// \return length.
624  ONIXS_B3_UMDF_MD_NODISCARD
625  Length length() const
627  {
628  return length_;
629  }
630 
631  /// \return the varData field.
632  ONIXS_B3_UMDF_MD_NODISCARD
633  StrRef varData() const
635  {
636  return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
637  }
638 
639  /// \return a human-readable presentation.
640  ONIXS_B3_UMDF_MD_NODISCARD
641  std::string
642  toString() const;
643 
644 
645  /// \return Size of SBE-encoded data representing the field.
646  ONIXS_B3_UMDF_MD_NODISCARD
647  Length binarySize() const
649  {
650  return Size + length();
651  }
652 
653 private:
654  Length length_;
655 };
656 
657 
658 /// DATA Field.
659 /// FIX type: data.
661 {
662 public:
663  /// Size of the composite.
664  enum { Size = 2 };
665 
666  /// Length type.
667  typedef UInt16 Length;
668 
669  /// VarData type.
670  typedef UInt8 VarData;
671 
672  /// \return length.
673  ONIXS_B3_UMDF_MD_NODISCARD
674  Length length() const
676  {
677  return length_;
678  }
679 
680  /// \return the varData field.
681  ONIXS_B3_UMDF_MD_NODISCARD
682  StrRef varData() const
684  {
685  return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
686  }
687 
688  /// \return a human-readable presentation.
689  ONIXS_B3_UMDF_MD_NODISCARD
690  std::string
691  toString() const;
692 
693 
694  /// \return Size of SBE-encoded data representing the field.
695  ONIXS_B3_UMDF_MD_NODISCARD
696  Length binarySize() const
698  {
699  return Size + length();
700  }
701 
702 private:
703  Length length_;
704 };
705 
706 
708 
709 ONIXS_B3_UMDF_MD_DATA_PACKING_END
710 
711 /// UTC timestamp with nanosecond precision (Unix Epoch).
712 ///
713 /// FIX type: UTCTimestamp.
715 {
716 public:
717  /// Size of the composite.
718  enum { Size = 8 };
719 
720  /// UTC timestamp with nanosecond precision (Unix Epoch)..
721  typedef UInt64 Time;
722 
723  /// Null value for an optional Time field.
724  typedef
727 
728  /// time unit (nanoseconds).
729  typedef
732 
733  /// Null value for an optional Unit field.
734  typedef
737 
738  /// Default constructor.
739  ///
740  /// Initializes fields with appropriate null values.
744  : time_(NullTime::value())
745  {
746  }
747 
748  /// Initializes fields with provided values
749  explicit
751  UTCTimestampNanos(Time time)
753  : time_(time)
754  {
755  }
756 
757  /// \return a human-readable presentation.
758  ONIXS_B3_UMDF_MD_NODISCARD
759  std::string
760  toString() const;
761 
762  /// \private
763  /// Init traits.
764  struct MemberTraits
765  {
766  enum { Count = 1 };
767 
768  typedef Time FirstArgType;
769  };
770 
771  /// UTC timestamp with nanosecond precision (Unix Epoch)..
772  ONIXS_B3_UMDF_MD_NODISCARD
773  Time time() const
775  {
776  return time_;
777  }
778 
779  /// time unit (nanoseconds).
780  ONIXS_B3_UMDF_MD_NODISCARD
783  {
784  return TimeUnit::NANOSECOND;
785  }
786 
787 private:
788  Time time_;
789 };
790 
791 
792 /// Null values definition for optional UTCTimestampNanos field.
794 {
795  /// Aliases the type whose null value
796  /// traits are exposed by the given class.
798 
799  /// Compares encoded data to NULL.
800  ONIXS_B3_UMDF_MD_NODISCARD
801  bool operator ==(const Value& other) const
803  {
804  return (
806  other.time());
807  }
808 
809  /// Compares encoded data to NULL.
810  ONIXS_B3_UMDF_MD_NODISCARD
811  bool operator !=(const Value& other) const
813  {
814  return !(*this == other);
815  }
816 
817  /// \return the value of the constant.
819  operator Value() const
821  {
822  return Value();
823  }
824 
825  /// \return the value of the constant.
827  Value operator()() const
829  {
830  return Value();
831  }
832 
833  /// \return the value of the constant.
835  static Value value()
837  {
838  return Value();
839  }
840 };
841 
842 
843 /// UTC timestamp with second precision (Unix Epoch).
844 ///
845 /// FIX type: UTCTimestamp.
847 {
848 public:
849  /// Size of the composite.
850  enum { Size = 8 };
851 
852  /// UTC timestamp with second precision (Unix Epoch)..
853  typedef Int64 Time;
854 
855  /// Null value for an optional Time field.
856  typedef
857  IntegralConstant<Int64, -9223372036854775807LL-1>
859 
860  /// time unit (seconds).
861  typedef
864 
865  /// Null value for an optional Unit field.
866  typedef
869 
870  /// Default constructor.
871  ///
872  /// Initializes fields with appropriate null values.
876  : time_(NullTime::value())
877  {
878  }
879 
880  /// Initializes fields with provided values
881  explicit
885  : time_(time)
886  {
887  }
888 
889  /// \return a human-readable presentation.
890  ONIXS_B3_UMDF_MD_NODISCARD
891  std::string
892  toString() const;
893 
894  /// \private
895  /// Init traits.
896  struct MemberTraits
897  {
898  enum { Count = 1 };
899 
900  typedef Time FirstArgType;
901  };
902 
903  /// UTC timestamp with second precision (Unix Epoch)..
904  ONIXS_B3_UMDF_MD_NODISCARD
905  Time time() const
907  {
908  return time_;
909  }
910 
911  /// time unit (seconds).
912  ONIXS_B3_UMDF_MD_NODISCARD
915  {
916  return TimeUnit::SECOND;
917  }
918 
919 private:
920  Time time_;
921 };
922 
923 
924 /// Null values definition for optional UTCTimestampSeconds field.
926 {
927  /// Aliases the type whose null value
928  /// traits are exposed by the given class.
930 
931  /// Compares encoded data to NULL.
932  ONIXS_B3_UMDF_MD_NODISCARD
933  bool operator ==(const Value& other) const
935  {
936  return (
938  other.time());
939  }
940 
941  /// Compares encoded data to NULL.
942  ONIXS_B3_UMDF_MD_NODISCARD
943  bool operator !=(const Value& other) const
945  {
946  return !(*this == other);
947  }
948 
949  /// \return the value of the constant.
951  operator Value() const
953  {
954  return Value();
955  }
956 
957  /// \return the value of the constant.
959  Value operator()() const
961  {
962  return Value();
963  }
964 
965  /// \return the value of the constant.
967  static Value value()
969  {
970  return Value();
971  }
972 };
973 
974 
975 /// Year, Month and Date.
976 ///
977 /// FIX type: MonthYear.
979 {
980 public:
981  /// Size of the composite.
982  enum { Size = 5 };
983 
984  /// 4-digit year.
985  typedef UInt16 Year;
986 
987  /// Null value for an optional Year field.
988  typedef
991 
992  /// Month (1 to 12).
993  typedef UInt8 Month;
994 
995  /// Null value for an optional Month field.
996  typedef
999 
1000  /// Day of month (1 to 31).
1001  typedef UInt8 Day;
1002 
1003  /// Null value for an optional Day field.
1004  typedef
1007 
1008  /// Week of month (1 to 5).
1009  typedef UInt8 Week;
1010 
1011  /// Null value for an optional Week field.
1012  typedef
1015 
1016  /// Default constructor.
1017  ///
1018  /// Initializes fields with appropriate null values.
1022  : year_(NullYear::value()),
1023  month_(NullMonth::value()),
1024  day_(NullDay::value()),
1025  week_(NullWeek::value())
1026  {
1027  }
1028 
1029  /// Initializes fields with provided values
1032  Year year,
1033  Month month,
1034  Day day,
1035  Week week)
1037  : year_(year),
1038  month_(month),
1039  day_(day),
1040  week_(week)
1041  {
1042  }
1043 
1044  /// \return a human-readable presentation.
1045  ONIXS_B3_UMDF_MD_NODISCARD
1046  std::string
1047  toString() const;
1048 
1049  /// \private
1050  /// Init traits.
1051  struct MemberTraits
1052  {
1053  enum { Count = 4 };
1054 
1055  typedef Year FirstArgType;
1056 
1057  typedef Month SecondArgType;
1058 
1059  typedef Day ThirdArgType;
1060 
1061  typedef Week FourthArgType;
1062  };
1063 
1064  /// 4-digit year.
1065  ONIXS_B3_UMDF_MD_NODISCARD
1066  Year year() const
1068  {
1069  return year_;
1070  }
1071 
1072  /// Month (1 to 12).
1073  ONIXS_B3_UMDF_MD_NODISCARD
1074  bool month(Month& value) const
1076  {
1077  value = month_;
1078  return NullMonth() != month_;
1079  }
1080 
1081  /// Day of month (1 to 31).
1082  ONIXS_B3_UMDF_MD_NODISCARD
1083  bool day(Day& value) const
1085  {
1086  value = day_;
1087  return NullDay() != day_;
1088  }
1089 
1090  /// Week of month (1 to 5).
1091  ONIXS_B3_UMDF_MD_NODISCARD
1092  bool week(Week& value) const
1094  {
1095  value = week_;
1096  return NullWeek() != week_;
1097  }
1098 
1099  /// Compares encoded data
1100  ONIXS_B3_UMDF_MD_NODISCARD
1101  bool
1102  operator==(
1103  const MaturityMonthYear& other) const
1105 
1106  /// Compares encoded data
1107  ONIXS_B3_UMDF_MD_NODISCARD
1108  bool
1110  const MaturityMonthYear& other) const
1111  ONIXS_B3_UMDF_MD_NOTHROW
1112  {
1113  return !(*this == other);
1114  }
1115 
1116 private:
1117  Year year_;
1118  Month month_;
1119  Day day_;
1120  Week week_;
1121 };
1122 
1123 
1124 /// Null values definition for optional MaturityMonthYear field.
1126 {
1127  /// Aliases the type whose null value
1128  /// traits are exposed by the given class.
1130 
1131  /// Compares encoded data to NULL.
1132  ONIXS_B3_UMDF_MD_NODISCARD
1133  bool operator ==(const Value& other) const
1135  {
1136  return (
1138  other.year());
1139  }
1140 
1141  /// Compares encoded data to NULL.
1142  ONIXS_B3_UMDF_MD_NODISCARD
1143  bool operator !=(const Value& other) const
1145  {
1146  return !(*this == other);
1147  }
1148 
1149  /// \return the value of the constant.
1151  operator Value() const
1153  {
1154  return Value();
1155  }
1156 
1157  /// \return the value of the constant.
1159  Value operator()() const
1161  {
1162  return Value();
1163  }
1164 
1165  /// \return the value of the constant.
1167  static Value value()
1169  {
1170  return Value();
1171  }
1172 };
1173 
1174 inline
1175 bool
1177  const MaturityMonthYear& other) const
1179 {
1180  if((NullMaturityMonthYear() == *this) &&
1181  (NullMaturityMonthYear() == other))
1182  return true;
1183 
1184  return
1185  (this->year_ == other.year_) &&
1186  (this->month_ == other.month_) &&
1187  (this->day_ == other.day_) &&
1188  (this->week_ == other.week_);
1189 }
1190 
IntegralConstant< UInt16, 65535 > NullTemplateId
Null value for an optional TemplateId field.
Definition: Composites.h:57
ONIXS_B3_UMDF_MD_NODISCARD SchemaId schemaId() const
Schema ID..
Definition: Composites.h:93
IntegralConstant< UInt8, 255 > NullNumInGroup
Null value for an optional NumInGroup field.
Definition: Composites.h:138
ONIXS_B3_UMDF_MD_NODISCARD Length length() const
Definition: Composites.h:674
bool operator!=(const TimeSpan &left, const TimeSpan &right)
Compares with other instance for in-equality.
Definition: Time.h:337
Null values definition for optional MaturityMonthYear field.
Definition: Composites.h:1125
#define ONIXS_B3_UMDF_MD_NOTHROW
Definition: Compiler.h:114
IntegralConstant< UInt8, 0 > NullWeek
Null value for an optional Week field.
Definition: Composites.h:1014
#define ONIXS_B3_UMDF_MD_CONSTEXPR
Definition: Compiler.h:120
IntegralConstant< Int64, 0LL > NullMantissa
Null value for an optional Mantissa field.
Definition: Composites.h:281
FixedPointDecimal< Int64, IntegralConstant< Int8,-7 >> RatioQty
Ratio of quantity relative to the whole thing.
Definition: Composites.h:337
ONIXS_B3_UMDF_MD_NODISCARD TimeUnit::Enum unit() const
time unit (seconds).
Definition: Composites.h:913
PriceOptional Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:199
FixedPointDecimal< Int64, IntegralConstant< Int8,-8 >> Price8
Price (8 decimal places).
Definition: Composites.h:539
IntegralConstant< UInt8, TimeUnit::SECOND > Unit
time unit (seconds).
Definition: Composites.h:863
UTCTimestampSeconds Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:929
ONIXS_B3_UMDF_MD_NODISCARD bool month(Month &value) const
Month (1 to 12).
Definition: Composites.h:1074
Int64 Time
UTC timestamp with second precision (Unix Epoch)..
Definition: Composites.h:853
ONIXS_B3_UMDF_MD_NODISCARD Length binarySize() const
Definition: Composites.h:647
UInt16 UInt16
2-byte unsigned integer, from 0 to 65535..
Definition: Fields.h:54
PriceOffset8Optional Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:557
ONIXS_B3_UMDF_MD_NODISCARD bool isNull(const PriceOptional &value)
Definition: Composites.h:253
ONIXS_B3_UMDF_MD_NODISCARD TimeUnit::Enum unit() const
time unit (nanoseconds).
Definition: Composites.h:781
Null values definition for optional Percentage9 field.
Definition: Composites.h:474
UInt8 NumInGroup
A counter representing the number of entries in a repeating group.
Definition: Composites.h:133
ONIXS_B3_UMDF_MD_NODISCARD Length length() const
Definition: Composites.h:625
Percentage9 Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:478
UTC timestamp with nanosecond precision (Unix Epoch).
Definition: Composites.h:714
ONIXS_B3_UMDF_MD_NODISCARD StrRef varData() const
Definition: Composites.h:682
UTC timestamp with second precision (Unix Epoch).
Definition: Composites.h:846
Null values definition for optional PriceOptional field.
Definition: Composites.h:195
ONIXS_B3_UMDF_MD_NODISCARD bool day(Day &value) const
Day of month (1 to 31).
Definition: Composites.h:1083
IntegralConstant< Int64,-9223372036854775807LL-1 > NullTime
Null value for an optional Time field.
Definition: Composites.h:858
ONIXS_B3_UMDF_MD_NODISCARD bool week(Week &value) const
Week of month (1 to 5).
Definition: Composites.h:1092
UTCTimestampNanos(Time time)
Initializes fields with provided values.
Definition: Composites.h:751
Message identifiers and length of message root..
Definition: Composites.h:37
ONIXS_B3_UMDF_MD_NODISCARD NumInGroup numInGroup() const
A counter representing the number of entries in a repeating group.
Definition: Composites.h:157
char Char
Character type alias.
Definition: String.h:30
UInt8 UInt8
1-byte unsigned integer, from 0 to 255..
Definition: Fields.h:50
UInt64 Time
UTC timestamp with nanosecond precision (Unix Epoch)..
Definition: Composites.h:721
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_END
Definition: ABI.h:151
Null values definition for optional UTCTimestampNanos field.
Definition: Composites.h:793
UTCTimestampNanos Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:797
IntegralConstant< UInt16, 65535 > NullSchemaId
Null value for an optional SchemaId field.
Definition: Composites.h:65
#define ONIXS_B3_UMDF_MD_LTWT_STRUCT_DECL(name)
Definition: ABI.h:106
UInt64 UInt64
8-byte unsigned integer, from 0 to 18446744073709551615 (2^64-1)..
Definition: Fields.h:62
IntegralConstant< UInt16, 65535 > NullBlockLength
Null value for an optional BlockLength field.
Definition: Composites.h:128
MaturityMonthYear Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:1129
IntegralConstant< UInt8, 255 > NullUnit
Null value for an optional Unit field.
Definition: Composites.h:868
Percentage Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:276
IntegralConstant< UInt8, 0 > NullMonth
Null value for an optional Month field.
Definition: Composites.h:998
IntegralConstant< UInt8, TimeUnit::NANOSECOND > Unit
time unit (nanoseconds).
Definition: Composites.h:731
ONIXS_B3_UMDF_MD_NODISCARD BlockLength blockLength() const
Root block length..
Definition: Composites.h:77
Null values definition for optional PriceOffset8Optional field.
Definition: Composites.h:553
ONIXS_B3_UMDF_MD_NODISCARD Version version() const
Schema Version..
Definition: Composites.h:101
A nullable real number with a constant exponent.
Definition: Decimal.h:130
NullableFixedPointDecimal< Int64, IntegralConstant< Int8,-4 >, IntegralConstant< Int64,-9223372036854775807LL-1 >> PriceOptional
Optional price (4 decimal places).
Definition: Composites.h:180
IntegralConstant< Int64,-9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition: Composites.h:349
IntegralConstant< UInt8, 255 > NullUnit
Null value for an optional Unit field.
Definition: Composites.h:736
MaturityMonthYear(Year year, Month month, Day day, Week week)
Initializes fields with provided values.
Definition: Composites.h:1031
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_BEGIN
Definition: ABI.h:146
ONIXS_B3_UMDF_MD_NODISCARD Year year() const
4-digit year.
Definition: Composites.h:1066
ONIXS_B3_UMDF_MD_NODISCARD BlockLength blockLength() const
Root block length..
Definition: Composites.h:147
Messaging::Int64 Int64
Definition: Integral.h:39
IntegralConstant< UInt16, 65535 > NullVersion
Null value for an optional Version field.
Definition: Composites.h:73
Null values definition for optional UTCTimestampSeconds field.
Definition: Composites.h:925
UTCTimestampSeconds(Time time)
Initializes fields with provided values.
Definition: Composites.h:883
Fixed8 Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:410
RatioQty Value
Aliases the type whose null value traits are exposed by the given class.
Definition: Composites.h:344
#define ONIXS_B3_UMDF_MD_LTWT_CLASS
Definition: ABI.h:90
FixedPointDecimal< Int64, IntegralConstant< Int8,-4 >> Price
Price (4 decimal places).
Definition: Composites.h:178
IntegralConstant< UInt16, 65535 > NullBlockLength
Null value for an optional BlockLength field.
Definition: Composites.h:49
FixedPointDecimal< Int64, IntegralConstant< Int8,-8 >> Fixed8
Optional decimal with constant exponent -8..
Definition: Composites.h:403
Null values definition for optional RatioQty field.
Definition: Composites.h:340
IntegralConstant< UInt64, 0ULL > NullTime
Null value for an optional Time field.
Definition: Composites.h:726
ONIXS_B3_UMDF_MD_NODISCARD Time time() const
UTC timestamp with nanosecond precision (Unix Epoch)..
Definition: Composites.h:773
IntegralConstant< UInt16, 0 > NullYear
Null value for an optional Year field.
Definition: Composites.h:990
FixedPointDecimal< Int64, IntegralConstant< Int8,-4 >> Percentage
Optional percentage (4 decimal places).
Definition: Composites.h:269
Null values definition for optional Fixed8 field.
Definition: Composites.h:406
Int64 Int64
8-byte signed integer, from -9223372036854775808 (-2^63) to 9223372036854775807 (2^63-1)..
Definition: Fields.h:46
ONIXS_B3_UMDF_MD_NODISCARD StrRef varData() const
Definition: Composites.h:633
#define ONIXS_B3_UMDF_MD_LTWT_STRUCT
Definition: ABI.h:94
ONIXS_B3_UMDF_MD_NODISCARD Time time() const
UTC timestamp with second precision (Unix Epoch)..
Definition: Composites.h:905
IntegralConstant< Int64,-9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition: Composites.h:204
IntegralConstant< UInt8, 0 > NullDay
Null value for an optional Day field.
Definition: Composites.h:1006
IntegralConstant< Int64,-9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition: Composites.h:562
Messaging::Int8 Int8
Definition: Integral.h:30
FixedPointDecimal< Int64, IntegralConstant< Int8,-8 >> PriceOffset8Optional
Price Offset (8 decimal places).
Definition: Composites.h:550
IntegralConstant< Int64,-9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition: Composites.h:415
FixedPointDecimal< Int64, IntegralConstant< Int8,-9 >> Percentage9
Optional percentage (9 decimal places).
Definition: Composites.h:471
ONIXS_B3_UMDF_MD_NODISCARD Length binarySize() const
Definition: Composites.h:696
bool operator==(const TimeSpan &left, const TimeSpan &right)
Compares with other instance for equality.
Definition: Time.h:327
ONIXS_B3_UMDF_MD_NODISCARD TemplateId templateId() const
Template ID..
Definition: Composites.h:85
Null values definition for optional Percentage field.
Definition: Composites.h:272
IntegralConstant< Int64, 0LL > NullMantissa
Null value for an optional Mantissa field.
Definition: Composites.h:483
ONIXS_B3_UMDF_MD_NODISCARD bool operator!=(const MaturityMonthYear &other) const
Compares encoded data.
Definition: Composites.h:1109