OnixS C++ B3 BOE Binary Order Entry 1.3.0
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() const;
138
143 {
144 return blockLength_;
145 }
146
150 {
151 blockLength_ = value;
152 }
153
160 {
161 return numInGroup_;
162 }
163
169 {
170 numInGroup_ = value;
171 }
172
173private:
174 BlockLength blockLength_;
175 NumInGroup numInGroup_;
176};
177
178
182typedef
184<
185 Int64,
186 IntegralConstant<Int8, -4>
187>
189
193typedef
195<
196 Int64,
197 IntegralConstant<Int8, -4>
198>
200
203{
207
209 typedef
210 IntegralConstant<Int64, -9223372036854775807LL-1>
212
213
216 bool operator ==(const Value& other) const
218 {
219 return (
220 NullMantissa() ==
221 other.mantissa());
222 }
223
226 bool operator !=(const Value& other) const
228 {
229 return !(*this == other);
230 }
231
234 operator Value() const
236 {
237 return Value(NullMantissa());
238 }
239
244 {
245 return Value(NullMantissa());
246 }
247
250 static Value value()
252 {
253 return Value(NullMantissa());
254 }
255};
256
257
261typedef
263<
264 Int64,
265 IntegralConstant<Int8, -8>
266>
268
272typedef
274<
275 Int64,
276 IntegralConstant<Int8, -8>
277>
279
282{
286
288 typedef
289 IntegralConstant<Int64, -9223372036854775807LL-1>
291
292
295 bool operator ==(const Value& other) const
297 {
298 return (
299 NullMantissa() ==
300 other.mantissa());
301 }
302
305 bool operator !=(const Value& other) const
307 {
308 return !(*this == other);
309 }
310
313 operator Value() const
315 {
316 return Value(NullMantissa());
317 }
318
323 {
324 return Value(NullMantissa());
325 }
326
329 static Value value()
331 {
332 return Value(NullMantissa());
333 }
334};
335
336
340typedef
342<
343 Int64,
344 IntegralConstant<Int8, -4>
345>
347
350{
354
356 typedef
357 IntegralConstant<Int64, -9223372036854775807LL-1>
359
360
363 bool operator ==(const Value& other) const
365 {
366 return (
367 NullMantissa() ==
368 other.mantissa());
369 }
370
373 bool operator !=(const Value& other) const
375 {
376 return !(*this == other);
377 }
378
381 operator Value() const
383 {
384 return Value(NullMantissa());
385 }
386
391 {
392 return Value(NullMantissa());
393 }
394
397 static Value value()
399 {
400 return Value(NullMantissa());
401 }
402};
403
404
408typedef
410<
411 Int64,
412 IntegralConstant<Int8, -8>
413>
415
419typedef
421<
422 Int64,
423 IntegralConstant<Int8, -8>
424>
426
429{
433
435 typedef
436 IntegralConstant<Int64, -9223372036854775807LL-1>
438
439
442 bool operator ==(const Value& other) const
444 {
445 return (
446 NullMantissa() ==
447 other.mantissa());
448 }
449
452 bool operator !=(const Value& other) const
454 {
455 return !(*this == other);
456 }
457
460 operator Value() const
462 {
463 return Value(NullMantissa());
464 }
465
470 {
471 return Value(NullMantissa());
472 }
473
476 static Value value()
478 {
479 return Value(NullMantissa());
480 }
481};
482
483
487typedef
489<
490 Int64,
491 IntegralConstant<Int8, -7>
492>
494
499{
500public:
502 enum { Size = 8 };
503
505 typedef UInt64 Time;
506
508 typedef
511
518 : time_(0)
519 {
520 }
521
523 explicit
527 : time_(time)
528 {
529 }
530
533 std::string
534 toString() const;
535
538 struct MemberTraits
539 {
540 enum { Count = 1 };
541
542 typedef Time FirstArgType;
543 };
544
546 void serialize(void* addr) const
548 {
549 assert(addr);
550
551 std::memcpy(addr, &time_, sizeof(time_));
552 }
553
556 Time time() const
558 {
559 return time_;
560 }
561
563 void setTime(Time value)
565 {
566 time_ = value;
567 }
568
571 Unit unit() const
573 {
574 return Unit();
575 }
576
578private:
579 Time time_;
580};
581
582
587{
588public:
590 enum { Size = 8 };
591
593 typedef UInt64 Time;
594
596 typedef
599
601 typedef
604
607 std::string
608 toString() const;
609
612 Time time() const
614 {
615 return time_;
616 }
617
619 void setTime(Time value)
621 {
622 time_ = value;
623 }
624
627 {
628 time_ = NullTime();
629 }
630
633 Unit unit() const
635 {
636 return Unit();
637 }
638
640private:
641 Time time_;
642};
643
644
647{
650 typedef
653
656 bool operator ==(const Value& other) const
658 {
659 return (
661 other.time());
662 }
663
666 bool operator !=(const Value& other) const
668 {
669 return !(*this == other);
670 }
671
674 operator Value() const
676 {
677 return Value();
678 }
679
684 {
685 return Value();
686 }
687
690 static Value value()
692 {
693 return Value();
694 }
695};
696
697
702{
703public:
705 enum { Size = 8 };
706
708 typedef UInt64 Time;
709
711 typedef
714
717 std::string
718 toString() const;
719
722 Time time() const
724 {
725 return time_;
726 }
727
729 void setTime(Time value)
731 {
732 time_ = value;
733 }
734
737 Unit unit() const
739 {
740 return Unit();
741 }
742
744private:
745 Time time_;
746};
747
748
752{
753public:
755 enum { Size = 1 };
756
758 typedef UInt8 Length;
759
761 typedef Char VarData;
762
767 {
768 return length_;
769 }
770
772 void length(Length value)
774 {
775 length_ = value;
776 }
777
782 {
783 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
784 }
785
787 void varData(StrRef value)
789 {
790 length(static_cast<Length>(value.size()));
791 if(value.data())
792 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
793 }
794
797 std::string
798 toString() const;
799
800
805 {
806 return Size + length();
807 }
808
809private:
810 Length length_;
811};
812
813
817{
818public:
820 enum { Size = 1 };
821
823 typedef UInt8 Length;
824
826 typedef Char VarData;
827
832 {
833 return length_;
834 }
835
837 void length(Length value)
839 {
840 length_ = value;
841 }
842
847 {
848 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
849 }
850
852 void varData(StrRef value)
854 {
855 length(static_cast<Length>(value.size()));
856 if(value.data())
857 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
858 }
859
862 std::string
863 toString() const;
864
865
870 {
871 return Size + length();
872 }
873
874private:
875 Length length_;
876};
877
878
882{
883public:
885 enum { Size = 1 };
886
888 typedef UInt8 Length;
889
891 typedef Char VarData;
892
897 {
898 return length_;
899 }
900
902 void length(Length value)
904 {
905 length_ = value;
906 }
907
912 {
913 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
914 }
915
917 void varData(StrRef value)
919 {
920 length(static_cast<Length>(value.size()));
921 if(value.data())
922 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
923 }
924
927 std::string
928 toString() const;
929
930
935 {
936 return Size + length();
937 }
938
939private:
940 Length length_;
941};
942
943
947{
948public:
950 enum { Size = 1 };
951
953 typedef UInt8 Length;
954
956 typedef Char VarData;
957
962 {
963 return length_;
964 }
965
967 void length(Length value)
969 {
970 length_ = value;
971 }
972
977 {
978 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
979 }
980
982 void varData(StrRef value)
984 {
985 length(static_cast<Length>(value.size()));
986 if(value.data())
987 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
988 }
989
992 std::string
993 toString() const;
994
995
1000 {
1001 return Size + length();
1002 }
1003
1004private:
1005 Length length_;
1006};
1007
1008
1012{
1013public:
1015 enum { Size = 1 };
1016
1018 typedef UInt8 Length;
1019
1021 typedef Char VarData;
1022
1027 {
1028 return length_;
1029 }
1030
1032 void length(Length value)
1034 {
1035 length_ = value;
1036 }
1037
1042 {
1043 return StrRef(reinterpret_cast<const Char*>(this) + Size, length());
1044 }
1045
1047 void varData(StrRef value)
1049 {
1050 length(static_cast<Length>(value.size()));
1051 if(value.data())
1052 std::memcpy(reinterpret_cast<Char*>(this) + Size, value.data(), value.size());
1053 }
1054
1057 std::string
1058 toString() const;
1059
1060
1065 {
1066 return Size + length();
1067 }
1068
1069private:
1070 Length length_;
1071};
1072
1073
1076{
1077public:
1079 enum { Size = 12 };
1080
1082 typedef UInt32 Custodian;
1083
1085 typedef
1088
1090 typedef UInt32 CustodyAccount;
1091
1093 typedef
1096
1098 typedef
1099 UInt32
1101
1103 typedef
1106
1109 std::string
1110 toString() const;
1111
1116 {
1117 return custodian_;
1118 }
1119
1123 {
1124 custodian_ = value;
1125 }
1126
1129 {
1130 custodian_ = NullCustodian();
1131 }
1132
1137 {
1138 value = custodyAccount_;
1139 return NullCustodyAccount() != custodyAccount_;
1140 }
1141
1145 {
1146 custodyAccount_ = value;
1147 }
1148
1151 {
1152 custodyAccount_ = NullCustodyAccount();
1153 }
1154
1157 bool
1159 CustodyAllocationType& value) const
1161 {
1162 value = custodyAllocationType_;
1163 return NullCustodyAllocationType() != custodyAllocationType_;
1164 }
1165
1167 void
1171 {
1172 custodyAllocationType_ = value;
1173 }
1174
1177 {
1178 custodyAllocationType_ = NullCustodyAllocationType();
1179 }
1180
1181private:
1182 Custodian custodian_;
1183 CustodyAccount custodyAccount_;
1184 CustodyAllocationType custodyAllocationType_;
1185};
1186
1187
1190{
1194
1197 bool operator ==(const Value& other) const
1199 {
1200 return (
1202 other.custodian());
1203 }
1204
1207 bool operator !=(const Value& other) const
1209 {
1210 return !(*this == other);
1211 }
1212
1215 operator Value() const
1217 {
1218 return Value();
1219 }
1220
1225 {
1226 return Value();
1227 }
1228
1231 static Value value()
1233 {
1234 return Value();
1235 }
1236};
1237
1238
1241{
1242public:
1244 enum { Size = 18 };
1245
1249 typedef UInt32 SessionID;
1250
1254 typedef UInt32 MsgSeqNum;
1255
1259 typedef
1262
1265 {
1269
1272 bool operator ==(const Value& other) const
1274 {
1275 return (
1277 other.time());
1278 }
1279
1282 bool operator !=(const Value& other) const
1284 {
1285 return !(*this == other);
1286 }
1287
1290 operator Value() const
1292 {
1293 return Value();
1294 }
1295
1300 {
1301 return Value();
1302 }
1303
1306 static Value value()
1308 {
1309 return Value();
1310 }
1311 };
1312
1316 typedef UInt8 MarketSegmentID;
1317
1320 std::string
1321 toString() const;
1322
1329 {
1330 return sessionId_;
1331 }
1332
1338 {
1339 sessionId_ = value;
1340 }
1341
1348 {
1349 return msgSeqNum_;
1350 }
1351
1357 {
1358 msgSeqNum_ = value;
1359 }
1360
1365 bool sendingTime(SendingTime& value) const
1367 {
1368 value = sendingTime_;
1369 return NullSendingTime() != sendingTime_;
1370 }
1371
1377 {
1378 sendingTime_ = value;
1379 }
1380
1387 {
1388 return marketSegmentId_;
1389 }
1390
1396 {
1397 marketSegmentId_ = value;
1398 }
1399
1400private:
1401 SessionID sessionId_;
1402 MsgSeqNum msgSeqNum_;
1403 SendingTime sendingTime_;
1404 MarketSegmentID marketSegmentId_;
1405 ONIXS_B3_BOE_PADDING(1);
1406};
1407
1408
1411{
1412public:
1414 enum { Size = 18 };
1415
1419 typedef UInt32 SessionID;
1420
1424 typedef UInt32 MsgSeqNum;
1425
1429 typedef
1432
1435 {
1439
1442 bool operator ==(const Value& other) const
1444 {
1445 return (
1447 other.time());
1448 }
1449
1452 bool operator !=(const Value& other) const
1454 {
1455 return !(*this == other);
1456 }
1457
1460 operator Value() const
1462 {
1463 return Value();
1464 }
1465
1470 {
1471 return Value();
1472 }
1473
1476 static Value value()
1478 {
1479 return Value();
1480 }
1481 };
1482
1486 typedef UInt8 MarketSegmentID;
1487
1489 typedef
1492
1495 std::string
1496 toString() const;
1497
1504 {
1505 return sessionId_;
1506 }
1507
1513 {
1514 sessionId_ = value;
1515 }
1516
1523 {
1524 return msgSeqNum_;
1525 }
1526
1532 {
1533 msgSeqNum_ = value;
1534 }
1535
1540 bool sendingTime(SendingTime& value) const
1542 {
1543 value = sendingTime_;
1544 return NullSendingTime() != sendingTime_;
1545 }
1546
1552 {
1553 sendingTime_ = value;
1554 }
1555
1560 {
1561 return eventIndicator_;
1562 }
1563
1567 {
1568 eventIndicator_ = value;
1569 }
1570
1577 {
1578 value = marketSegmentId_;
1579 return NullMarketSegmentID() != marketSegmentId_;
1580 }
1581
1587 {
1588 marketSegmentId_ = value;
1589 }
1590
1593 {
1594 marketSegmentId_ = NullMarketSegmentID();
1595 }
1596
1597private:
1598 SessionID sessionId_;
1599 MsgSeqNum msgSeqNum_;
1600 SendingTime sendingTime_;
1601 EventIndicator eventIndicator_;
1602 MarketSegmentID marketSegmentId_;
1603};
1604
1605
1608{
1609public:
1611 enum { Size = 20 };
1612
1616 typedef UInt32 SessionID;
1617
1621 typedef UInt32 MsgSeqNum;
1622
1626 typedef
1629
1632 {
1636
1639 bool operator ==(const Value& other) const
1641 {
1642 return (
1644 other.time());
1645 }
1646
1649 bool operator !=(const Value& other) const
1651 {
1652 return !(*this == other);
1653 }
1654
1657 operator Value() const
1659 {
1660 return Value();
1661 }
1662
1667 {
1668 return Value();
1669 }
1670
1673 static Value value()
1675 {
1676 return Value();
1677 }
1678 };
1679
1683 typedef UInt8 MarketSegmentID;
1684
1686 typedef
1689
1692 std::string
1693 toString() const;
1694
1701 {
1702 return sessionId_;
1703 }
1704
1710 {
1711 sessionId_ = value;
1712 }
1713
1720 {
1721 return msgSeqNum_;
1722 }
1723
1729 {
1730 msgSeqNum_ = value;
1731 }
1732
1737 bool sendingTime(SendingTime& value) const
1739 {
1740 value = sendingTime_;
1741 return NullSendingTime() != sendingTime_;
1742 }
1743
1749 {
1750 sendingTime_ = value;
1751 }
1752
1757 {
1758 return eventIndicator_;
1759 }
1760
1764 {
1765 eventIndicator_ = value;
1766 }
1767
1774 {
1775 value = marketSegmentId_;
1776 return NullMarketSegmentID() != marketSegmentId_;
1777 }
1778
1784 {
1785 marketSegmentId_ = value;
1786 }
1787
1790 {
1791 marketSegmentId_ = NullMarketSegmentID();
1792 }
1793
1794private:
1795 SessionID sessionId_;
1796 MsgSeqNum msgSeqNum_;
1797 SendingTime sendingTime_;
1798 EventIndicator eventIndicator_;
1799 MarketSegmentID marketSegmentId_;
1800 ONIXS_B3_BOE_PADDING(2);
1801};
1802
1803
1806{
1807public:
1809 enum { Size = 8 };
1810
1814 typedef UInt16 Prefix;
1815
1817 typedef
1820
1824 typedef UInt32 Document;
1825
1827 typedef
1830
1833 std::string
1834 toString() const;
1835
1842 {
1843 return prefix_;
1844 }
1845
1849 void setPrefix(Prefix value)
1851 {
1852 prefix_ = value;
1853 }
1854
1857 {
1858 prefix_ = NullPrefix();
1859 }
1860
1865 bool document(Document& value) const
1867 {
1868 value = document_;
1869 return NullDocument() != document_;
1870 }
1871
1877 {
1878 document_ = value;
1879 }
1880
1883 {
1884 document_ = NullDocument();
1885 }
1886
1887private:
1888 Prefix prefix_;
1889 ONIXS_B3_BOE_PADDING(2);
1890 Document document_;
1891};
1892
1893
1896{
1900
1903 bool operator ==(const Value& other) const
1905 {
1906 return (
1908 other.prefix());
1909 }
1910
1913 bool operator !=(const Value& other) const
1915 {
1916 return !(*this == other);
1917 }
1918
1921 operator Value() const
1923 {
1924 return Value();
1925 }
1926
1931 {
1932 return Value();
1933 }
1934
1937 static Value value()
1939 {
1940 return Value();
1941 }
1942};
1943
1944
1947{
1948public:
1950 enum { Size = 6 };
1951
1955 typedef UInt32 EventID;
1956
1958 typedef
1961
1965 typedef UInt16 NoRelatedTrades;
1966
1968 typedef
1971
1974 std::string
1975 toString() const;
1976
1983 {
1984 return eventId_;
1985 }
1986
1992 {
1993 eventId_ = value;
1994 }
1995
1998 {
1999 eventId_ = NullEventID();
2000 }
2001
2008 {
2009 value = relatedTrades_;
2010 return NullNoRelatedTrades() != relatedTrades_;
2011 }
2012
2018 {
2019 relatedTrades_ = value;
2020 }
2021
2024 {
2025 relatedTrades_ = NullNoRelatedTrades();
2026 }
2027
2028private:
2029 EventID eventId_;
2030 NoRelatedTrades relatedTrades_;
2031};
2032
2033
2036{
2040
2043 bool operator ==(const Value& other) const
2045 {
2046 return (
2048 other.eventId());
2049 }
2050
2053 bool operator !=(const Value& other) const
2055 {
2056 return !(*this == other);
2057 }
2058
2061 operator Value() const
2063 {
2064 return Value();
2065 }
2066
2071 {
2072 return Value();
2073 }
2074
2077 static Value value()
2079 {
2080 return Value();
2081 }
2082};
2083
2084
2087{
2088public:
2090 enum { Size = 4 };
2091
2093 typedef UInt8 MajorNumber;
2094
2096 typedef
2099
2101 typedef UInt8 MinorNumber;
2102
2104 typedef
2107
2109 typedef UInt8 PatchNumber;
2110
2112 typedef
2115
2117 typedef UInt8 BuildNumber;
2118
2120 typedef
2123
2126 std::string
2127 toString() const;
2128
2133 {
2134 return majorNumber_;
2135 }
2136
2140 {
2141 majorNumber_ = value;
2142 }
2143
2146 {
2147 majorNumber_ = NullMajorNumber();
2148 }
2149
2152 bool minorNumber(MinorNumber& value) const
2154 {
2155 value = minorNumber_;
2156 return NullMinorNumber() != minorNumber_;
2157 }
2158
2162 {
2163 minorNumber_ = value;
2164 }
2165
2168 {
2169 minorNumber_ = NullMinorNumber();
2170 }
2171
2174 bool patchNumber(PatchNumber& value) const
2176 {
2177 value = patchNumber_;
2178 return NullPatchNumber() != patchNumber_;
2179 }
2180
2184 {
2185 patchNumber_ = value;
2186 }
2187
2190 {
2191 patchNumber_ = NullPatchNumber();
2192 }
2193
2196 bool buildNumber(BuildNumber& value) const
2198 {
2199 value = buildNumber_;
2200 return NullBuildNumber() != buildNumber_;
2201 }
2202
2206 {
2207 buildNumber_ = value;
2208 }
2209
2212 {
2213 buildNumber_ = NullBuildNumber();
2214 }
2215
2216private:
2217 MajorNumber majorNumber_;
2218 MinorNumber minorNumber_;
2219 PatchNumber patchNumber_;
2220 BuildNumber buildNumber_;
2221};
2222
2223
2226{
2230
2233 bool operator ==(const Value& other) const
2235 {
2236 return (
2238 other.majorNumber());
2239 }
2240
2243 bool operator !=(const Value& other) const
2245 {
2246 return !(*this == other);
2247 }
2248
2251 operator Value() const
2253 {
2254 return Value();
2255 }
2256
2261 {
2262 return Value();
2263 }
2264
2267 static Value value()
2269 {
2270 return Value();
2271 }
2272};
2273
2274
2275
2277inline bool isNull(const PriceOptional& value) ONIXS_B3_BOE_NOTHROW
2278{
2279 return NullPriceOptional() == value;
2280}
2281
2283inline bool isNull(const Price8Optional& value) ONIXS_B3_BOE_NOTHROW
2284{
2285 return NullPrice8Optional() == value;
2286}
2287
2289
2290ONIXS_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.
void setSessionId(SessionID value) noexcept
Sets the sessionID field.
UTCTimestampNanosOptional SendingTime
Type alias for the SendingTime.
UInt32 MsgSeqNum
Type alias for the MsgSeqNum.
UInt32 SessionID
Type alias for the SessionID.
bool marketSegmentId(MarketSegmentID &value) const noexcept
void setSendingTime(SendingTime value) noexcept
Sets the sendingTime field.
UInt8 MarketSegmentID
Type alias for the MarketSegmentID.
void setEventIndicator(EventIndicator value) noexcept
Sets the eventIndicator field.
void setMarketSegmentId(MarketSegmentID value) noexcept
Sets the marketSegmentID field.
IntegralConstant< UInt8, 0 > NullMarketSegmentID
Null value for an optional MarketSegmentID field.
void setMsgSeqNum(MsgSeqNum value) noexcept
Sets the msgSeqNum 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.
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.
Interval time expressed in milliseconds.
Definition Composites.h:702
UInt64 Time
Interval time expressed in milliseconds.
Definition Composites.h:708
void setTime(Time value) noexcept
Interval time expressed in milliseconds.
Definition Composites.h:729
Unit unit() const noexcept
time unit (milliseconds).
Definition Composites.h:737
IntegralConstant< UInt8, 3 > Unit
time unit (milliseconds).
Definition Composites.h:713
Time time() const noexcept
Interval time expressed in milliseconds.
Definition Composites.h:722
NumInGroup numInGroup() const noexcept
Counter representing the number of entries in a repeating group.
Definition Composites.h:158
void setNumInGroup(NumInGroup value) noexcept
Counter representing the number of entries in a repeating group.
Definition Composites.h:167
UInt8 NumInGroup
Counter representing the number of entries in a repeating group.
Definition Composites.h:132
void setBlockLength(BlockLength value) noexcept
Root block length.
Definition Composites.h:148
BlockLength blockLength() const noexcept
Root block length.
Definition Composites.h:141
Unique ID for all matches that occur as a result of a implied event.
UInt32 EventID
Unique ID for all matches that occur as a result of an implied event.
UInt16 NoRelatedTrades
Number of trades related to the same implied event.
EventID eventId() const noexcept
Unique ID for all matches that occur as a result of an implied event.
bool relatedTrades(NoRelatedTrades &value) const noexcept
Number of trades related to the same implied event.
IntegralConstant< UInt32, 0 > NullEventID
Null value for an optional EventID field.
void setEventId(EventID value) noexcept
Unique ID for all matches that occur as a result of an implied event.
void setRelatedTrades(NoRelatedTrades value) noexcept
Number of trades related to the same implied event.
IntegralConstant< UInt16, 0 > NullNoRelatedTrades
Null value for an optional NoRelatedTrades field.
Header used for inbound business messages.
void setSessionId(SessionID value) noexcept
Sets the sessionID field.
UTCTimestampNanosOptional SendingTime
Type alias for the SendingTime.
UInt32 MsgSeqNum
Type alias for the MsgSeqNum.
UInt32 SessionID
Type alias for the SessionID.
MarketSegmentID marketSegmentId() const noexcept
void setSendingTime(SendingTime value) noexcept
Sets the sendingTime field.
UInt8 MarketSegmentID
Type alias for the MarketSegmentID.
void setMarketSegmentId(MarketSegmentID value) noexcept
Sets the marketSegmentID field.
void setMsgSeqNum(MsgSeqNum value) noexcept
Sets the msgSeqNum field.
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.
UInt16 Prefix
Type alias for the Prefix.
IntegralConstant< UInt32, 0 > NullDocument
Null value for an optional Document field.
void setPrefix(Prefix value) noexcept
Sets the prefix field.
UInt32 Document
Type alias for the Document.
void setDocument(Document value) noexcept
Sets the document field.
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
Sets the sessionID field.
UTCTimestampNanosOptional SendingTime
Type alias for the SendingTime.
UInt32 MsgSeqNum
Type alias for the MsgSeqNum.
UInt32 SessionID
Type alias for the SessionID.
bool marketSegmentId(MarketSegmentID &value) const noexcept
void setSendingTime(SendingTime value) noexcept
Sets the sendingTime field.
UInt8 MarketSegmentID
Type alias for the MarketSegmentID.
EventIndicator eventIndicator() const noexcept
void setEventIndicator(EventIndicator value) noexcept
Sets the eventIndicator field.
void setMarketSegmentId(MarketSegmentID value) noexcept
Sets the marketSegmentID field.
IntegralConstant< UInt8, 0 > NullMarketSegmentID
Null value for an optional MarketSegmentID field.
void setMsgSeqNum(MsgSeqNum value) noexcept
Sets the msgSeqNum field.
bool sendingTime(SendingTime &value) const noexcept
Optional UTC timestamp with nanosecond precision.
Definition Composites.h:587
UInt64 Time
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:593
void setTime(Time value) noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:619
Unit unit() const noexcept
time unit (nanoseconds).
Definition Composites.h:633
IntegralConstant< UInt64, 0ULL > NullTime
Null value for an optional Time field.
Definition Composites.h:598
IntegralConstant< UInt8, 9 > Unit
time unit (nanoseconds).
Definition Composites.h:603
Time time() const noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:612
UInt64 Time
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:505
void setTime(Time value) noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:563
Unit unit() const noexcept
time unit (nanoseconds).
Definition Composites.h:571
IntegralConstant< UInt8, 9 > Unit
time unit (nanoseconds).
Definition Composites.h:510
void serialize(void *addr) const noexcept
Serializes to a data buffer.
Definition Composites.h:546
constexpr UTCTimestampNanos() noexcept
Default constructor.
Definition Composites.h:516
Time time() const noexcept
UTC timestamp with nanosecond precision (Unix Epoch).
Definition Composites.h:556
constexpr UTCTimestampNanos(Time time) noexcept
Initializes fields with provided values.
Definition Composites.h:525
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.
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
Price (8 decimal places).
Definition Composites.h:267
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > PriceOffsetOptional
Optional price offset (4 decimal places).
Definition Composites.h:346
UInt32 SessionID
Client connection identification on the gateway assigned by B3.
Definition Fields.h:103
FixedPointDecimal< Int64, IntegralConstant< Int8, -7 > > RatioQty
Ratio of quantity relative to the whole thing.
Definition Composites.h:493
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > Price
Mandatory price.
Definition Composites.h:188
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Percentage8Optional
Optional percentage (8 decimal places).
Definition Composites.h:425
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > PriceOptional
Optional price.
Definition Composites.h:199
char Char
Character type alias.
Definition String.h:30
MessageHeader MessageHeaderBuilder
UInt8 MarketSegmentID
Identifies the market segment.
Definition Fields.h:301
std::basic_string_view< Char > StrRef
Definition StrRef.h:46
MessageHeader::SchemaId SchemaId
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Price8Optional
Optional Price (8 decimal places).
Definition Composites.h:278
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Percentage8
Percentage (8 decimal places).
Definition Composites.h:414
Null values definition for optional SendingTime field.
SendingTime Value
Aliases the type whose null value traits are exposed by the given class.
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:772
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:787
void length(Length value) noexcept
Sets the length.
Definition Composites.h:967
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:982
Set of indicators for a given event. First use case: indicates possible retransmission of message dur...
Definition Fields.h:2191
Null values definition for optional SendingTime field.
SendingTime Value
Aliases the type whose null value traits are exposed by the given class.
Length binarySize() const noexcept
Definition Composites.h:868
void length(Length value) noexcept
Sets the length.
Definition Composites.h:837
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:852
Null values definition for optional CustodianInfo field.
CustodianInfo Value
Aliases the type whose null value traits are exposed by the given class.
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
ImpliedEventID Value
Aliases the type whose null value traits are exposed by the given class.
Null values definition for optional InvestorID field.
constexpr Value operator()() const noexcept
static constexpr Value value() noexcept
InvestorID Value
Aliases the type whose null value traits are exposed by the given class.
Null values definition for optional Percentage8Optional field.
Definition Composites.h:429
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:437
Percentage8Optional Value
Aliases the type whose null value traits are exposed by the given class.
Definition Composites.h:432
constexpr Value operator()() const noexcept
Definition Composites.h:468
static constexpr Value value() noexcept
Definition Composites.h:476
Null values definition for optional Price8Optional field.
Definition Composites.h:282
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:290
constexpr Value operator()() const noexcept
Definition Composites.h:321
static constexpr Value value() noexcept
Definition Composites.h:329
Price8Optional Value
Aliases the type whose null value traits are exposed by the given class.
Definition Composites.h:285
Null values definition for optional PriceOffsetOptional field.
Definition Composites.h:350
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:358
PriceOffsetOptional Value
Aliases the type whose null value traits are exposed by the given class.
Definition Composites.h:353
constexpr Value operator()() const noexcept
Definition Composites.h:389
static constexpr Value value() noexcept
Definition Composites.h:397
Null values definition for optional PriceOptional field.
Definition Composites.h:203
IntegralConstant< Int64, -9223372036854775807LL-1 > NullMantissa
Null value for an optional Mantissa field.
Definition Composites.h:211
constexpr Value operator()() const noexcept
Definition Composites.h:242
static constexpr Value value() noexcept
Definition Composites.h:250
PriceOptional Value
Aliases the type whose null value traits are exposed by the given class.
Definition Composites.h:206
Null values definition for optional UTCTimestampNanosOptional field.
Definition Composites.h:647
UTCTimestampNanosOptional Value
Aliases the type whose null value traits are exposed by the given class.
Definition Composites.h:652
Null values definition for optional Version field.
Version Value
Aliases the type whose null value traits are exposed by the given class.
constexpr Value operator()() const noexcept
static constexpr Value value() noexcept
Null values definition for optional SendingTime field.
SendingTime Value
Aliases the type whose null value traits are exposed by the given class.
Length binarySize() const noexcept
Definition Composites.h:933
void length(Length value) noexcept
Sets the length.
Definition Composites.h:902
void varData(StrRef value) noexcept
Sets the varData field.
Definition Composites.h:917