OnixS C++ B3 BOE Binary Order Entry 1.4.0
Users' manual and API documentation
Loading...
Searching...
No Matches
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
23#include <OnixS/B3/BOE/ABI.h>
24
28
30ONIXS_B3_BOE_DATA_PACKING_BEGIN(1)
31
32
34{
35public:
37 enum { Size = 8 };
38
40 typedef UInt16 BlockLength;
41
43 typedef UInt16 TemplateId;
44
46 typedef UInt16 SchemaId;
47
49 typedef UInt16 Version;
50
55 {
56 return blockLength_;
57 }
58
62 {
63 blockLength_ = value;
64 }
65
70 {
71 return templateId_;
72 }
73
77 {
78 templateId_ = value;
79 }
80
85 {
86 return schemaId_;
87 }
88
92 {
93 schemaId_ = value;
94 }
95
100 {
101 return version_;
102 }
103
105 void setVersion(Version value)
107 {
108 version_ = value;
109 }
110
111private:
112 BlockLength blockLength_;
113 TemplateId templateId_;
114 SchemaId schemaId_;
115 Version version_;
116};
117
118
121{
122public:
124 enum { Size = 3 };
125
127 typedef UInt16 BlockLength;
128
132 typedef UInt8 NumInGroup;
133
136 std::string
137 toString(
138 bool skipEmptyFields = false) const;
139
144 {
145 return blockLength_;
146 }
147
151 {
152 blockLength_ = value;
153 }
154
161 {
162 return numInGroup_;
163 }
164
170 {
171 numInGroup_ = value;
172 }
173
174private:
175 BlockLength blockLength_;
176 NumInGroup numInGroup_;
177};
178
179
183typedef
185<
186 Int64,
187 IntegralConstant<Int8, -4>
188>
190
194typedef
196<
197 Int64,
198 IntegralConstant<Int8, -4>
199>
201
204{
208
210 typedef
211 IntegralConstant<Int64, -9223372036854775807LL-1>
213
214
217 bool operator ==(const Value& other) const
219 {
220 return (
221 NullMantissa() ==
222 other.mantissa());
223 }
224
227 bool operator !=(const Value& other) const
229 {
230 return !(*this == other);
231 }
232
235 operator Value() const
237 {
238 return Value(NullMantissa());
239 }
240
245 {
246 return Value(NullMantissa());
247 }
248
251 static Value value()
253 {
254 return Value(NullMantissa());
255 }
256};
257
258
262typedef
264<
265 Int64,
266 IntegralConstant<Int8, -8>
267>
269
273typedef
275<
276 Int64,
277 IntegralConstant<Int8, -8>
278>
280
283{
287
289 typedef
290 IntegralConstant<Int64, -9223372036854775807LL-1>
292
293
296 bool operator ==(const Value& other) const
298 {
299 return (
300 NullMantissa() ==
301 other.mantissa());
302 }
303
306 bool operator !=(const Value& other) const
308 {
309 return !(*this == other);
310 }
311
314 operator Value() const
316 {
317 return Value(NullMantissa());
318 }
319
324 {
325 return Value(NullMantissa());
326 }
327
330 static Value value()
332 {
333 return Value(NullMantissa());
334 }
335};
336
337
341typedef
343<
344 Int64,
345 IntegralConstant<Int8, -4>
346>
348
351{
355
357 typedef
358 IntegralConstant<Int64, -9223372036854775807LL-1>
360
361
364 bool operator ==(const Value& other) const
366 {
367 return (
368 NullMantissa() ==
369 other.mantissa());
370 }
371
374 bool operator !=(const Value& other) const
376 {
377 return !(*this == other);
378 }
379
382 operator Value() const
384 {
385 return Value(NullMantissa());
386 }
387
392 {
393 return Value(NullMantissa());
394 }
395
398 static Value value()
400 {
401 return Value(NullMantissa());
402 }
403};
404
405
409typedef
411<
412 Int64,
413 IntegralConstant<Int8, -8>
414>
416
420typedef
422<
423 Int64,
424 IntegralConstant<Int8, -8>
425>
427
430{
434
436 typedef
437 IntegralConstant<Int64, -9223372036854775807LL-1>
439
440
443 bool operator ==(const Value& other) const
445 {
446 return (
447 NullMantissa() ==
448 other.mantissa());
449 }
450
453 bool operator !=(const Value& other) const
455 {
456 return !(*this == other);
457 }
458
461 operator Value() const
463 {
464 return Value(NullMantissa());
465 }
466
471 {
472 return Value(NullMantissa());
473 }
474
477 static Value value()
479 {
480 return Value(NullMantissa());
481 }
482};
483
484
488typedef
490<
491 Int64,
492 IntegralConstant<Int8, -7>
493>
495
500{
501public:
503 enum { Size = 8 };
504
506 typedef UInt64 Time;
507
509 typedef
512
518 : time_(0)
519 {
520 }
521
523 explicit
526 : time_(time)
527 {
528 }
529
532 std::string
533 toString(
534 bool skipEmptyFields = false) const;
535
538 struct MemberTraits
539 {
540 enum { Count = 1 };
541
542 typedef Time FirstArgType;
543 };
545
547 void serialize(void* addr) const
549 {
550 assert(addr);
551
552 std::memcpy(addr, &time_, sizeof(time_));
553 }
554
557 Time time() const
559 {
560 return time_;
561 }
562
564 void setTime(Time value)
566 {
567 time_ = value;
568 }
569
572 Unit unit() const
574 {
575 return Unit();
576 }
577
579private:
580 Time time_;
581};
582
583
588{
589public:
591 enum { Size = 8 };
592
594 typedef UInt64 Time;
595
597 typedef
600
602 typedef
605
608 std::string
609 toString(
610 bool skipEmptyFields = false) const;
611
614 Time time() const
616 {
617 return time_;
618 }
619
621 void setTime(Time value)
623 {
624 time_ = value;
625 }
626
629 {
630 time_ = NullTime();
631 }
632
635 Unit unit() const
637 {
638 return Unit();
639 }
640
642private:
643 Time time_;
644};
645
646
649{
652 typedef
655
658 bool operator ==(const Value& other) const
660 {
661 return (
663 other.time());
664 }
665
668 bool operator !=(const Value& other) const
670 {
671 return !(*this == other);
672 }
673
676 operator Value() const
678 {
679 return Value();
680 }
681
686 {
687 return Value();
688 }
689
692 static Value value()
694 {
695 return Value();
696 }
697};
698
699
704{
705public:
707 enum { Size = 8 };
708
710 typedef UInt64 Time;
711
713 typedef
716
719 std::string
720 toString(
721 bool skipEmptyFields = false) const;
722
725 Time time() const
727 {
728 return time_;
729 }
730
732 void setTime(Time value)
734 {
735 time_ = value;
736 }
737
740 Unit unit() const
742 {
743 return Unit();
744 }
745
747private:
748 Time time_;
749};
750
751
755{
756public:
758 enum { Size = 1 };
759
761 typedef UInt8 Length;
762
764 typedef Char VarData;
765
770 {
771 return length_;
772 }
773
775 void length(Length value)
777 {
778 length_ = value;
779 }
780
785 {
786 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
787 }
788
790 void varData(StrRef value)
792 {
793 length(static_cast<Length>(value.size()));
794 if(value.data())
795 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
796 }
797
800 std::string
801 toString(
802 bool skipEmptyFields = false) const;
803
804
809 {
810 return Size + length();
811 }
812
813private:
814 Length length_;
815};
816
817
821{
822public:
824 enum { Size = 1 };
825
827 typedef UInt8 Length;
828
830 typedef Char VarData;
831
836 {
837 return length_;
838 }
839
841 void length(Length value)
843 {
844 length_ = value;
845 }
846
851 {
852 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
853 }
854
856 void varData(StrRef value)
858 {
859 length(static_cast<Length>(value.size()));
860 if(value.data())
861 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
862 }
863
866 std::string
867 toString(
868 bool skipEmptyFields = false) const;
869
870
875 {
876 return Size + length();
877 }
878
879private:
880 Length length_;
881};
882
883
887{
888public:
890 enum { Size = 1 };
891
893 typedef UInt8 Length;
894
896 typedef Char VarData;
897
902 {
903 return length_;
904 }
905
907 void length(Length value)
909 {
910 length_ = value;
911 }
912
917 {
918 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
919 }
920
922 void varData(StrRef value)
924 {
925 length(static_cast<Length>(value.size()));
926 if(value.data())
927 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
928 }
929
932 std::string
933 toString(
934 bool skipEmptyFields = false) const;
935
936
941 {
942 return Size + length();
943 }
944
945private:
946 Length length_;
947};
948
949
953{
954public:
956 enum { Size = 1 };
957
959 typedef UInt8 Length;
960
962 typedef Char VarData;
963
968 {
969 return length_;
970 }
971
973 void length(Length value)
975 {
976 length_ = value;
977 }
978
983 {
984 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
985 }
986
988 void varData(StrRef value)
990 {
991 length(static_cast<Length>(value.size()));
992 if(value.data())
993 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
994 }
995
998 std::string
999 toString(
1000 bool skipEmptyFields = false) const;
1001
1002
1007 {
1008 return Size + length();
1009 }
1010
1011private:
1012 Length length_;
1013};
1014
1015
1019{
1020public:
1022 enum { Size = 1 };
1023
1025 typedef UInt8 Length;
1026
1028 typedef Char VarData;
1029
1034 {
1035 return length_;
1036 }
1037
1039 void length(Length value)
1041 {
1042 length_ = value;
1043 }
1044
1049 {
1050 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
1051 }
1052
1054 void varData(StrRef value)
1056 {
1057 length(static_cast<Length>(value.size()));
1058 if(value.data())
1059 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
1060 }
1061
1064 std::string
1065 toString(
1066 bool skipEmptyFields = false) const;
1067
1068
1073 {
1074 return Size + length();
1075 }
1076
1077private:
1078 Length length_;
1079};
1080
1081
1084{
1085public:
1087 enum { Size = 12 };
1088
1090 typedef UInt32 Custodian;
1091
1093 typedef
1096
1098 typedef UInt32 CustodyAccount;
1099
1101 typedef
1104
1106 typedef
1107 UInt32
1109
1111 typedef
1114
1117 std::string
1118 toString(
1119 bool skipEmptyFields = false) const;
1120
1125 {
1126 return custodian_;
1127 }
1128
1132 {
1133 custodian_ = value;
1134 }
1135
1138 {
1139 custodian_ = NullCustodian();
1140 }
1141
1146 {
1147 value = custodyAccount_;
1148 return NullCustodyAccount() != custodyAccount_;
1149 }
1150
1154 {
1155 custodyAccount_ = value;
1156 }
1157
1160 {
1161 custodyAccount_ = NullCustodyAccount();
1162 }
1163
1166 bool
1168 CustodyAllocationType& value) const
1170 {
1171 value = custodyAllocationType_;
1172 return NullCustodyAllocationType() != custodyAllocationType_;
1173 }
1174
1176 void
1180 {
1181 custodyAllocationType_ = value;
1182 }
1183
1186 {
1187 custodyAllocationType_ = NullCustodyAllocationType();
1188 }
1189
1190private:
1191 Custodian custodian_;
1192 CustodyAccount custodyAccount_;
1193 CustodyAllocationType custodyAllocationType_;
1194};
1195
1196
1199{
1203
1206 bool operator ==(const Value& other) const
1208 {
1209 return (
1211 other.custodian());
1212 }
1213
1216 bool operator !=(const Value& other) const
1218 {
1219 return !(*this == other);
1220 }
1221
1224 operator Value() const
1226 {
1227 return Value();
1228 }
1229
1234 {
1235 return Value();
1236 }
1237
1240 static Value value()
1242 {
1243 return Value();
1244 }
1245};
1246
1247
1250{
1251public:
1253 enum { Size = 18 };
1254
1258 typedef UInt32 SessionID;
1259
1263 typedef UInt32 MsgSeqNum;
1264
1268 typedef
1271
1274 {
1278
1281 bool operator ==(const Value& other) const
1283 {
1284 return (
1286 other.time());
1287 }
1288
1291 bool operator !=(const Value& other) const
1293 {
1294 return !(*this == other);
1295 }
1296
1299 operator Value() const
1301 {
1302 return Value();
1303 }
1304
1309 {
1310 return Value();
1311 }
1312
1315 static Value value()
1317 {
1318 return Value();
1319 }
1320 };
1321
1325 typedef UInt8 MarketSegmentID;
1326
1329 std::string
1330 toString(
1331 bool skipEmptyFields = false) const;
1332
1339 {
1340 return sessionId_;
1341 }
1342
1348 {
1349 sessionId_ = value;
1350 }
1351
1358 {
1359 return msgSeqNum_;
1360 }
1361
1367 {
1368 msgSeqNum_ = value;
1369 }
1370
1375 bool sendingTime(SendingTime& value) const
1377 {
1378 value = sendingTime_;
1379 return NullSendingTime() != sendingTime_;
1380 }
1381
1387 {
1388 sendingTime_ = value;
1389 }
1390
1393 {
1394 sendingTime_ = NullSendingTime();
1395 }
1396
1403 {
1404 return marketSegmentId_;
1405 }
1406
1412 {
1413 marketSegmentId_ = value;
1414 }
1415
1416private:
1417 SessionID sessionId_;
1418 MsgSeqNum msgSeqNum_;
1419 SendingTime sendingTime_;
1420 MarketSegmentID marketSegmentId_;
1421 ONIXS_B3_BOE_PADDING(1);
1422};
1423
1424
1427{
1428public:
1430 enum { Size = 18 };
1431
1435 typedef UInt32 SessionID;
1436
1440 typedef UInt32 MsgSeqNum;
1441
1445 typedef
1448
1451 {
1455
1458 bool operator ==(const Value& other) const
1460 {
1461 return (
1463 other.time());
1464 }
1465
1468 bool operator !=(const Value& other) const
1470 {
1471 return !(*this == other);
1472 }
1473
1476 operator Value() const
1478 {
1479 return Value();
1480 }
1481
1486 {
1487 return Value();
1488 }
1489
1492 static Value value()
1494 {
1495 return Value();
1496 }
1497 };
1498
1502 typedef UInt8 MarketSegmentID;
1503
1505 typedef
1508
1511 std::string
1512 toString(
1513 bool skipEmptyFields = false) const;
1514
1521 {
1522 return sessionId_;
1523 }
1524
1530 {
1531 sessionId_ = value;
1532 }
1533
1540 {
1541 return msgSeqNum_;
1542 }
1543
1549 {
1550 msgSeqNum_ = value;
1551 }
1552
1557 bool sendingTime(SendingTime& value) const
1559 {
1560 value = sendingTime_;
1561 return NullSendingTime() != sendingTime_;
1562 }
1563
1569 {
1570 sendingTime_ = value;
1571 }
1572
1575 {
1576 sendingTime_ = NullSendingTime();
1577 }
1578
1583 {
1584 return eventIndicator_;
1585 }
1586
1590 {
1591 eventIndicator_ = value;
1592 }
1593
1600 {
1601 value = marketSegmentId_;
1602 return NullMarketSegmentID() != marketSegmentId_;
1603 }
1604
1610 {
1611 marketSegmentId_ = value;
1612 }
1613
1616 {
1617 marketSegmentId_ = NullMarketSegmentID();
1618 }
1619
1620private:
1621 SessionID sessionId_;
1622 MsgSeqNum msgSeqNum_;
1623 SendingTime sendingTime_;
1624 EventIndicator eventIndicator_;
1625 MarketSegmentID marketSegmentId_;
1626};
1627
1628
1631{
1632public:
1634 enum { Size = 20 };
1635
1639 typedef UInt32 SessionID;
1640
1644 typedef UInt32 MsgSeqNum;
1645
1649 typedef
1652
1655 {
1659
1662 bool operator ==(const Value& other) const
1664 {
1665 return (
1667 other.time());
1668 }
1669
1672 bool operator !=(const Value& other) const
1674 {
1675 return !(*this == other);
1676 }
1677
1680 operator Value() const
1682 {
1683 return Value();
1684 }
1685
1690 {
1691 return Value();
1692 }
1693
1696 static Value value()
1698 {
1699 return Value();
1700 }
1701 };
1702
1706 typedef UInt8 MarketSegmentID;
1707
1709 typedef
1712
1715 std::string
1716 toString(
1717 bool skipEmptyFields = false) const;
1718
1725 {
1726 return sessionId_;
1727 }
1728
1734 {
1735 sessionId_ = value;
1736 }
1737
1744 {
1745 return msgSeqNum_;
1746 }
1747
1753 {
1754 msgSeqNum_ = value;
1755 }
1756
1761 bool sendingTime(SendingTime& value) const
1763 {
1764 value = sendingTime_;
1765 return NullSendingTime() != sendingTime_;
1766 }
1767
1773 {
1774 sendingTime_ = value;
1775 }
1776
1779 {
1780 sendingTime_ = NullSendingTime();
1781 }
1782
1787 {
1788 return eventIndicator_;
1789 }
1790
1794 {
1795 eventIndicator_ = value;
1796 }
1797
1804 {
1805 value = marketSegmentId_;
1806 return NullMarketSegmentID() != marketSegmentId_;
1807 }
1808
1814 {
1815 marketSegmentId_ = value;
1816 }
1817
1820 {
1821 marketSegmentId_ = NullMarketSegmentID();
1822 }
1823
1824private:
1825 SessionID sessionId_;
1826 MsgSeqNum msgSeqNum_;
1827 SendingTime sendingTime_;
1828 EventIndicator eventIndicator_;
1829 MarketSegmentID marketSegmentId_;
1830 ONIXS_B3_BOE_PADDING(2);
1831};
1832
1833
1836{
1837public:
1839 enum { Size = 8 };
1840
1844 typedef UInt16 Prefix;
1845
1847 typedef
1850
1854 typedef UInt32 Document;
1855
1857 typedef
1860
1863 std::string
1864 toString(
1865 bool skipEmptyFields = false) const;
1866
1873 {
1874 return prefix_;
1875 }
1876
1880 void setPrefix(Prefix value)
1882 {
1883 prefix_ = value;
1884 }
1885
1888 {
1889 prefix_ = NullPrefix();
1890 }
1891
1896 bool document(Document& value) const
1898 {
1899 value = document_;
1900 return NullDocument() != document_;
1901 }
1902
1908 {
1909 document_ = value;
1910 }
1911
1914 {
1915 document_ = NullDocument();
1916 }
1917
1918private:
1919 Prefix prefix_;
1920 ONIXS_B3_BOE_PADDING(2);
1921 Document document_;
1922};
1923
1924
1927{
1931
1934 bool operator ==(const Value& other) const
1936 {
1937 return (
1939 other.prefix());
1940 }
1941
1944 bool operator !=(const Value& other) const
1946 {
1947 return !(*this == other);
1948 }
1949
1952 operator Value() const
1954 {
1955 return Value();
1956 }
1957
1962 {
1963 return Value();
1964 }
1965
1968 static Value value()
1970 {
1971 return Value();
1972 }
1973};
1974
1975
1978{
1979public:
1981 enum { Size = 6 };
1982
1986 typedef UInt32 EventID;
1987
1989 typedef
1992
1996 typedef UInt16 NoRelatedTrades;
1997
1999 typedef
2002
2005 std::string
2006 toString(
2007 bool skipEmptyFields = false) const;
2008
2015 {
2016 return eventId_;
2017 }
2018
2024 {
2025 eventId_ = value;
2026 }
2027
2030 {
2031 eventId_ = NullEventID();
2032 }
2033
2040 {
2041 value = relatedTrades_;
2042 return NullNoRelatedTrades() != relatedTrades_;
2043 }
2044
2050 {
2051 relatedTrades_ = value;
2052 }
2053
2056 {
2057 relatedTrades_ = NullNoRelatedTrades();
2058 }
2059
2060private:
2061 EventID eventId_;
2062 NoRelatedTrades relatedTrades_;
2063};
2064
2065
2068{
2072
2075 bool operator ==(const Value& other) const
2077 {
2078 return (
2080 other.eventId());
2081 }
2082
2085 bool operator !=(const Value& other) const
2087 {
2088 return !(*this == other);
2089 }
2090
2093 operator Value() const
2095 {
2096 return Value();
2097 }
2098
2103 {
2104 return Value();
2105 }
2106
2109 static Value value()
2111 {
2112 return Value();
2113 }
2114};
2115
2116
2119{
2120public:
2122 enum { Size = 4 };
2123
2125 typedef UInt8 MajorNumber;
2126
2128 typedef
2131
2133 typedef UInt8 MinorNumber;
2134
2136 typedef
2139
2141 typedef UInt8 PatchNumber;
2142
2144 typedef
2147
2149 typedef UInt8 BuildNumber;
2150
2152 typedef
2155
2158 std::string
2159 toString(
2160 bool skipEmptyFields = false) const;
2161
2166 {
2167 return majorNumber_;
2168 }
2169
2173 {
2174 majorNumber_ = value;
2175 }
2176
2179 {
2180 majorNumber_ = NullMajorNumber();
2181 }
2182
2185 bool minorNumber(MinorNumber& value) const
2187 {
2188 value = minorNumber_;
2189 return NullMinorNumber() != minorNumber_;
2190 }
2191
2195 {
2196 minorNumber_ = value;
2197 }
2198
2201 {
2202 minorNumber_ = NullMinorNumber();
2203 }
2204
2207 bool patchNumber(PatchNumber& value) const
2209 {
2210 value = patchNumber_;
2211 return NullPatchNumber() != patchNumber_;
2212 }
2213
2217 {
2218 patchNumber_ = value;
2219 }
2220
2223 {
2224 patchNumber_ = NullPatchNumber();
2225 }
2226
2229 bool buildNumber(BuildNumber& value) const
2231 {
2232 value = buildNumber_;
2233 return NullBuildNumber() != buildNumber_;
2234 }
2235
2239 {
2240 buildNumber_ = value;
2241 }
2242
2245 {
2246 buildNumber_ = NullBuildNumber();
2247 }
2248
2249private:
2250 MajorNumber majorNumber_;
2251 MinorNumber minorNumber_;
2252 PatchNumber patchNumber_;
2253 BuildNumber buildNumber_;
2254};
2255
2256
2259{
2263
2266 bool operator ==(const Value& other) const
2268 {
2269 return (
2271 other.majorNumber());
2272 }
2273
2276 bool operator !=(const Value& other) const
2278 {
2279 return !(*this == other);
2280 }
2281
2284 operator Value() const
2286 {
2287 return Value();
2288 }
2289
2294 {
2295 return Value();
2296 }
2297
2300 static Value value()
2302 {
2303 return Value();
2304 }
2305};
2306
2307
2308
2310inline bool isNull(const PriceOptional& value) ONIXS_B3_BOE_NOTHROW
2311{
2312 return NullPriceOptional() == value;
2313}
2314
2315inline bool isNull(const Price8Optional& value) ONIXS_B3_BOE_NOTHROW
2316{
2317 return NullPrice8Optional() == value;
2318}
2320
2322
2323ONIXS_B3_BOE_DATA_PACKING_END
#define ONIXS_B3_BOE_LTWT_STRUCT
Definition ABI.h:88
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_END
Definition ABI.h:144
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_BEGIN
Definition ABI.h:140
#define ONIXS_B3_BOE_LTWT_CLASS
Definition ABI.h:84
#define ONIXS_B3_BOE_CONSTEXPR
Definition Compiler.h:185
#define ONIXS_B3_BOE_NODISCARD
Definition Compiler.h:191
#define ONIXS_B3_BOE_NOTHROW
Definition Compiler.h:182
Header used for business messages that can go inbound or outbound.
bool marketSegmentId(MarketSegmentID &value) const noexcept
void setSendingTime(SendingTime value) noexcept
std::string toString(bool skipEmptyFields=false) const
void setEventIndicator(EventIndicator value) noexcept
Sets the eventIndicator field.
void setMarketSegmentId(MarketSegmentID value) noexcept
IntegralConstant< UInt8, 0 > NullMarketSegmentID
Null value for an optional MarketSegmentID field.
bool sendingTime(SendingTime &value) const noexcept
Custodian information is required for going private offer.
void setCustodyAllocationType(CustodyAllocationType value) noexcept
Custody allocation type.
UInt32 Custodian
Identifies the custodian.
IntegralConstant< UInt32, 0 > NullCustodyAccount
Null value for an optional CustodyAccount field.
bool custodyAccount(CustodyAccount &value) const noexcept
Identifies the custody account.
UInt32 CustodyAccount
Identifies the custody account.
bool custodyAllocationType(CustodyAllocationType &value) const noexcept
Custody allocation type.
IntegralConstant< UInt32, 0 > NullCustodian
Null value for an optional Custodian field.
std::string toString(bool skipEmptyFields=false) const
UInt32 CustodyAllocationType
Custody allocation type.
void setCustodian(Custodian value) noexcept
Identifies the custodian.
Custodian custodian() const noexcept
Identifies the custodian.
void setCustodyAccount(CustodyAccount value) noexcept
Identifies the custody account.
IntegralConstant< UInt32, 0 > NullCustodyAllocationType
Null value for an optional CustodyAllocationType field.
UInt64 Time
Interval time expressed in milliseconds.
Definition Composites.h:710
void setTime(Time value) noexcept
Interval time expressed in milliseconds.
Definition Composites.h:732
Unit unit() const noexcept
time unit (milliseconds).
Definition Composites.h:740
IntegralConstant< UInt8, 3 > Unit
time unit (milliseconds).
Definition Composites.h:715
std::string toString(bool skipEmptyFields=false) const
Time time() const noexcept
Interval time expressed in milliseconds.
Definition Composites.h:725
NumInGroup numInGroup() const noexcept
Definition Composites.h:159
void setNumInGroup(NumInGroup value) noexcept
Definition Composites.h:168
std::string toString(bool skipEmptyFields=false) const
void setBlockLength(BlockLength value) noexcept
Root block length.
Definition Composites.h:149
BlockLength blockLength() const noexcept
Root block length.
Definition Composites.h:142
Unique ID for all matches that occur as a result of a implied event.
bool relatedTrades(NoRelatedTrades &value) const noexcept
IntegralConstant< UInt32, 0 > NullEventID
Null value for an optional EventID field.
void setEventId(EventID value) noexcept
std::string toString(bool skipEmptyFields=false) const
void setRelatedTrades(NoRelatedTrades value) noexcept
IntegralConstant< UInt16, 0 > NullNoRelatedTrades
Null value for an optional NoRelatedTrades field.
Header used for inbound business messages.
void setSessionId(SessionID value) noexcept
MarketSegmentID marketSegmentId() const noexcept
void setSendingTime(SendingTime value) noexcept
std::string toString(bool skipEmptyFields=false) const
void setMarketSegmentId(MarketSegmentID value) noexcept
void setMsgSeqNum(MsgSeqNum value) noexcept
bool sendingTime(SendingTime &value) const noexcept
Self trade prevention investor identification is composed of the prefix and document.
bool document(Document &value) const noexcept
IntegralConstant< UInt16, 0 > NullPrefix
Null value for an optional Prefix field.
IntegralConstant< UInt32, 0 > NullDocument
Null value for an optional Document field.
void setPrefix(Prefix value) noexcept
std::string toString(bool skipEmptyFields=false) const
void setDocument(Document value) noexcept
Message identifiers and length of message root.
Definition Composites.h:34
SchemaId schemaId() const noexcept
ID of the system publishing the message.
Definition Composites.h:83
void setVersion(Version value) noexcept
Schema version.
Definition Composites.h:105
UInt16 SchemaId
ID of the system publishing the message.
Definition Composites.h:46
UInt16 BlockLength
Length of the root of the FIX message contained before repeating groups or variable/conditions fields...
Definition Composites.h:40
void setTemplateId(TemplateId value) noexcept
Template ID used to encode the message.
Definition Composites.h:75
UInt16 TemplateId
Template ID used to encode the message.
Definition Composites.h:43
void setSchemaId(SchemaId value) noexcept
ID of the system publishing the message.
Definition Composites.h:90
void setBlockLength(BlockLength value) noexcept
Length of the root of the FIX message contained before repeating groups or variable/conditions fields...
Definition Composites.h:60
BlockLength blockLength() const noexcept
Length of the root of the FIX message contained before repeating groups or variable/conditions fields...
Definition Composites.h:53
Version version() const noexcept
Schema version.
Definition Composites.h:98
TemplateId templateId() const noexcept
Template ID used to encode the message.
Definition Composites.h:68
Header used for outbound business messages.
void setSessionId(SessionID value) noexcept
bool marketSegmentId(MarketSegmentID &value) const noexcept
void setSendingTime(SendingTime value) noexcept
EventIndicator eventIndicator() const noexcept
std::string toString(bool skipEmptyFields=false) const
void setEventIndicator(EventIndicator value) noexcept
Sets the eventIndicator field.
void setMarketSegmentId(MarketSegmentID value) noexcept
IntegralConstant< UInt8, 0 > NullMarketSegmentID
Null value for an optional MarketSegmentID field.
void setMsgSeqNum(MsgSeqNum value) noexcept
bool sendingTime(SendingTime &value) const noexcept
UInt64 Time
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:594
void setTime(Time value) noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:621
Unit unit() const noexcept
time unit (nanoseconds).
Definition Composites.h:635
IntegralConstant< UInt64, 0ULL > NullTime
Null value for an optional Time field.
Definition Composites.h:599
IntegralConstant< UInt8, 9 > Unit
time unit (nanoseconds).
Definition Composites.h:604
std::string toString(bool skipEmptyFields=false) const
Time time() const noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:614
UInt64 Time
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:506
void setTime(Time value) noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:564
Unit unit() const noexcept
time unit (nanoseconds).
Definition Composites.h:572
IntegralConstant< UInt8, 9 > Unit
time unit (nanoseconds).
Definition Composites.h:511
void serialize(void *addr) const noexcept
Serializes to a data buffer.
Definition Composites.h:547
UTCTimestampNanos(Time time) noexcept
Initializes fields with provided values.
Definition Composites.h:524
Time time() const noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:557
Identifies the version of what the field relates to.
IntegralConstant< UInt8, 255 > NullBuildNumber
Null value for an optional BuildNumber field.
void setPatchNumber(PatchNumber value) noexcept
Maintenance release number.
bool patchNumber(PatchNumber &value) const noexcept
Maintenance release number.
bool minorNumber(MinorNumber &value) const noexcept
Minor release number.
IntegralConstant< UInt8, 255 > NullMajorNumber
Null value for an optional MajorNumber field.
void setMinorNumber(MinorNumber value) noexcept
Minor release number.
IntegralConstant< UInt8, 255 > NullMinorNumber
Null value for an optional MinorNumber field.
UInt8 MinorNumber
Minor release number.
void setBuildNumber(BuildNumber value) noexcept
Build number.
UInt8 MajorNumber
Major release number.
IntegralConstant< UInt8, 255 > NullPatchNumber
Null value for an optional PatchNumber field.
std::string toString(bool skipEmptyFields=false) const
MajorNumber majorNumber() const noexcept
Major release number.
bool buildNumber(BuildNumber &value) const noexcept
Build number.
UInt8 PatchNumber
Maintenance release number.
void setMajorNumber(MajorNumber value) noexcept
Major release number.
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Price8
Definition Composites.h:268
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > PriceOffsetOptional
Definition Composites.h:347
FixedPointDecimal< Int64, IntegralConstant< Int8, -7 > > RatioQty
Definition Composites.h:494
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > Price
Definition Composites.h:189
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Percentage8Optional
Definition Composites.h:426
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > PriceOptional
Definition Composites.h:200
char Char
Character type alias.
Definition String.h:30
MessageHeader MessageHeaderBuilder
std::basic_string_view< Char > StrRef
Definition StrRef.h:46
MessageHeader::SchemaId SchemaId
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Price8Optional
Definition Composites.h:279
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Percentage8
Definition Composites.h:415
Null values definition for optional SendingTime field.
void length(Length value) noexcept
Sets the length.
void varData(StrRef value) noexcept
Sets the varData field.
void length(Length value) noexcept
Sets the length.
Definition Composites.h:775
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:790
void length(Length value) noexcept
Sets the length.
Definition Composites.h:973
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:988
Set of indicators for a given event. First use case: indicates possible retransmission of message dur...
Definition Fields.h:2228
Null values definition for optional SendingTime field.
Length binarySize() const noexcept
Definition Composites.h:873
void length(Length value) noexcept
Sets the length.
Definition Composites.h:841
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:856
Null values definition for optional CustodianInfo field.
constexpr Value operator()() const noexcept
static constexpr Value value() noexcept
Null values definition for optional ImpliedEventID field.
constexpr Value operator()() const noexcept
static constexpr Value value() noexcept
Null values definition for optional InvestorID field.
constexpr Value operator()() const noexcept
static constexpr Value value() noexcept
Null values definition for optional Percentage8Optional field.
Definition Composites.h:430
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:438
constexpr Value operator()() const noexcept
Definition Composites.h:469
static constexpr Value value() noexcept
Definition Composites.h:477
Null values definition for optional Price8Optional field.
Definition Composites.h:283
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:291
constexpr Value operator()() const noexcept
Definition Composites.h:322
static constexpr Value value() noexcept
Definition Composites.h:330
Null values definition for optional PriceOffsetOptional field.
Definition Composites.h:351
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:359
constexpr Value operator()() const noexcept
Definition Composites.h:390
static constexpr Value value() noexcept
Definition Composites.h:398
Null values definition for optional PriceOptional field.
Definition Composites.h:204
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:212
constexpr Value operator()() const noexcept
Definition Composites.h:243
static constexpr Value value() noexcept
Definition Composites.h:251
Null values definition for optional UTCTimestampNanosOptional field.
Definition Composites.h:649
Null values definition for optional Version field.
constexpr Value operator()() const noexcept
static constexpr Value value() noexcept
Null values definition for optional SendingTime field.
Length binarySize() const noexcept
Definition Composites.h:939
void length(Length value) noexcept
Sets the length.
Definition Composites.h:907
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:922