OnixS C++ B3 BOE Binary Order Entry 1.4.0
Users' manual and API documentation
Loading...
Searching...
No Matches
Serialization.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 <string>
24
27
29
30template <typename Value>
32{
33 static bool isEmpty(const Value&)
34 {
35 return false;
36 }
37};
38
39template <>
41{
42 static bool isEmpty(StrRef value)
43 {
44 return value.empty();
45 }
46};
47
48template <>
49struct ValueEmptyCheck<std::string>
50{
51 static bool isEmpty(const std::string& value)
52 {
53 return value.empty();
54 }
55};
56
57template <typename Value>
58inline bool isValueEmpty(const Value& value)
59{
61}
62
63template <typename Value>
64inline void toStr(
65 std::string& str,
66 const Value& value,
67 bool skipEmptyFields)
68{
69 if (skipEmptyFields && isValueEmpty(value))
70 return;
71 toStr(str, value);
72}
73
74// Market Data Serialization.
75
78void
80 std::string& str,
81 Boolean::Enum value);
82
83
85inline std::string toStr(Boolean::Enum value)
86{
87 std::string str;
88
89 toStr(str, value);
90
91 return str;
92}
93
95inline
96std::ostream&
98 std::ostream& stream,
99 Boolean::Enum value)
100{
101 std::string str;
102
103 toStr(str, value);
104
105 return stream << str;
106}
107
109inline
110void
112 std::string& str,
113 Boolean::Enum value)
114{
115 toStr(
116 str,
117 static_cast<Boolean::Base>(value));
118}
119
120
123void
125 std::string& str,
127
128
130inline
131std::string
134{
135 std::string str;
136
137 toStr(str, value);
138
139 return str;
140}
141
143inline
144std::ostream&
146 std::ostream& stream,
148{
149 std::string str;
150
151 toStr(str, value);
152
153 return stream << str;
154}
155
157inline
158void
160 std::string& str,
162{
163 toStr(
164 str,
165 static_cast<AllocTransType::Base>(value));
166}
167
168
171void
173 std::string& str,
175
176
178inline
179std::string
182{
183 std::string str;
184
185 toStr(str, value);
186
187 return str;
188}
189
191inline
192std::ostream&
194 std::ostream& stream,
196{
197 std::string str;
198
199 toStr(str, value);
200
201 return stream << str;
202}
203
205inline
206void
208 std::string& str,
210{
211 toStr(
212 str,
213 static_cast<AllocReportType::Base>(value));
214}
215
216
219void
221 std::string& str,
222 AllocType::Enum value);
223
224
226inline std::string toStr(AllocType::Enum value)
227{
228 std::string str;
229
230 toStr(str, value);
231
232 return str;
233}
234
236inline
237std::ostream&
239 std::ostream& stream,
240 AllocType::Enum value)
241{
242 std::string str;
243
244 toStr(str, value);
245
246 return stream << str;
247}
248
250inline
251void
253 std::string& str,
254 AllocType::Enum value)
255{
256 toStr(
257 str,
258 static_cast<AllocType::Base>(value));
259}
260
261
264void
266 std::string& str,
268
269
271inline
272std::string
275{
276 std::string str;
277
278 toStr(str, value);
279
280 return str;
281}
282
284inline
285std::ostream&
287 std::ostream& stream,
289{
290 std::string str;
291
292 toStr(str, value);
293
294 return stream << str;
295}
296
298inline
299void
301 std::string& str,
303{
304 toStr(
305 str,
306 static_cast<AllocNoOrdersType::Base>(value));
307}
308
309
312void
314 std::string& str,
315 AllocStatus::Enum value);
316
317
319inline std::string toStr(AllocStatus::Enum value)
320{
321 std::string str;
322
323 toStr(str, value);
324
325 return str;
326}
327
329inline
330std::ostream&
332 std::ostream& stream,
333 AllocStatus::Enum value)
334{
335 std::string str;
336
337 toStr(str, value);
338
339 return stream << str;
340}
341
343inline
344void
346 std::string& str,
347 AllocStatus::Enum value)
348{
349 toStr(
350 str,
351 static_cast<AllocStatus::Base>(value));
352}
353
354
357void
359 std::string& str,
360 QuoteStatus::Enum value);
361
362
364inline std::string toStr(QuoteStatus::Enum value)
365{
366 std::string str;
367
368 toStr(str, value);
369
370 return str;
371}
372
374inline
375std::ostream&
377 std::ostream& stream,
378 QuoteStatus::Enum value)
379{
380 std::string str;
381
382 toStr(str, value);
383
384 return stream << str;
385}
386
388inline
389void
391 std::string& str,
392 QuoteStatus::Enum value)
393{
394 toStr(
395 str,
396 static_cast<QuoteStatus::Base>(value));
397}
398
399
402void
404 std::string& str,
406
407
409inline
410std::string
413{
414 std::string str;
415
416 toStr(str, value);
417
418 return str;
419}
420
422inline
423std::ostream&
425 std::ostream& stream,
427{
428 std::string str;
429
430 toStr(str, value);
431
432 return stream << str;
433}
434
436inline
437void
439 std::string& str,
441{
442 toStr(
443 str,
444 static_cast<QuoteStatusResponseTo::Base>(value));
445}
446
447
450void
452 std::string& str,
454
455
457inline
458std::string
461{
462 std::string str;
463
464 toStr(str, value);
465
466 return str;
467}
468
470inline
471std::ostream&
473 std::ostream& stream,
475{
476 std::string str;
477
478 toStr(str, value);
479
480 return stream << str;
481}
482
484inline
485void
487 std::string& str,
489{
490 toStr(
491 str,
492 static_cast<QuoteCancelType::Base>(value));
493}
494
495
498void
500 std::string& str,
501 PosType::Enum value);
502
503
505inline std::string toStr(PosType::Enum value)
506{
507 std::string str;
508
509 toStr(str, value);
510
511 return str;
512}
513
515inline
516std::ostream&
518 std::ostream& stream,
519 PosType::Enum value)
520{
521 std::string str;
522
523 toStr(str, value);
524
525 return stream << str;
526}
527
529inline
530void
532 std::string& str,
533 PosType::Enum value)
534{
535 toStr(
536 str,
537 static_cast<PosType::Base>(value));
538}
539
540
543void
545 std::string& str,
547
548
550inline
551std::string
554{
555 std::string str;
556
557 toStr(str, value);
558
559 return str;
560}
561
563inline
564std::ostream&
566 std::ostream& stream,
568{
569 std::string str;
570
571 toStr(str, value);
572
573 return stream << str;
574}
575
577inline
578void
580 std::string& str,
582{
583 toStr(
584 str,
585 static_cast<MassActionScope::Base>(value));
586}
587
588
591void
593 std::string& str,
595
596
598inline
599std::string
602{
603 std::string str;
604
605 toStr(str, value);
606
607 return str;
608}
609
611inline
612std::ostream&
614 std::ostream& stream,
616{
617 std::string str;
618
619 toStr(str, value);
620
621 return stream << str;
622}
623
625inline
626void
628 std::string& str,
630{
631 toStr(
632 str,
633 static_cast<MassActionType::Base>(value));
634}
635
636
639void
641 std::string& str,
643
644
646inline
647std::string
650{
651 std::string str;
652
653 toStr(str, value);
654
655 return str;
656}
657
659inline
660std::ostream&
662 std::ostream& stream,
664{
665 std::string str;
666
667 toStr(str, value);
668
669 return stream << str;
670}
671
673inline
674void
676 std::string& str,
678{
679 toStr(
680 str,
681 static_cast<MassActionResponse::Base>(value));
682}
683
684
687void
689 std::string& str,
691
692
694inline
695std::string
698{
699 std::string str;
700
701 toStr(str, value);
702
703 return str;
704}
705
707inline
708std::ostream&
710 std::ostream& stream,
712{
713 std::string str;
714
715 toStr(str, value);
716
717 return stream << str;
718}
719
721inline
722void
724 std::string& str,
726{
727 toStr(
728 str,
729 static_cast<MassActionRejectReason::Base>(value));
730}
731
732
735void
737 std::string& str,
739
740
742inline
743std::string
746{
747 std::string str;
748
749 toStr(str, value);
750
751 return str;
752}
753
755inline
756std::ostream&
758 std::ostream& stream,
760{
761 std::string str;
762
763 toStr(str, value);
764
765 return stream << str;
766}
767
769inline
770void
772 std::string& str,
774{
775 toStr(
776 str,
777 static_cast<SecurityResponseType::Base>(value));
778}
779
780
783void
785 std::string& str,
787
788
790inline
791std::string
794{
795 std::string str;
796
797 toStr(str, value);
798
799 return str;
800}
801
803inline
804std::ostream&
806 std::ostream& stream,
808{
809 std::string str;
810
811 toStr(str, value);
812
813 return stream << str;
814}
815
817inline
818void
820 std::string& str,
822{
823 toStr(
824 str,
825 static_cast<PosMaintStatus::Base>(value));
826}
827
828
831void
833 std::string& str,
835
836
838inline
839std::string
842{
843 std::string str;
844
845 toStr(str, value);
846
847 return str;
848}
849
851inline
852std::ostream&
854 std::ostream& stream,
856{
857 std::string str;
858
859 toStr(str, value);
860
861 return stream << str;
862}
863
865inline
866void
868 std::string& str,
870{
871 toStr(
872 str,
873 static_cast<ExecuteUnderlyingTrade::Base>(value));
874}
875
876
879void
881 std::string& str,
882 PosTransType::Enum value);
883
884
886inline std::string toStr(PosTransType::Enum value)
887{
888 std::string str;
889
890 toStr(str, value);
891
892 return str;
893}
894
896inline
897std::ostream&
899 std::ostream& stream,
900 PosTransType::Enum value)
901{
902 std::string str;
903
904 toStr(str, value);
905
906 return stream << str;
907}
908
910inline
911void
913 std::string& str,
914 PosTransType::Enum value)
915{
916 toStr(
917 str,
918 static_cast<PosTransType::Base>(value));
919}
920
921
924void
926 std::string& str,
928
929
931inline
932std::string
935{
936 std::string str;
937
938 toStr(str, value);
939
940 return str;
941}
942
944inline
945std::ostream&
947 std::ostream& stream,
949{
950 std::string str;
951
952 toStr(str, value);
953
954 return stream << str;
955}
956
958inline
959void
961 std::string& str,
963{
964 toStr(
965 str,
966 static_cast<PosMaintAction::Base>(value));
967}
968
969
972void
974 std::string& str,
975 SettlType::Enum value);
976
977
979inline std::string toStr(SettlType::Enum value)
980{
981 std::string str;
982
983 toStr(str, value);
984
985 return str;
986}
987
989inline
990std::ostream&
992 std::ostream& stream,
993 SettlType::Enum value)
994{
995 std::string str;
996
997 toStr(str, value);
998
999 return stream << str;
1000}
1001
1003inline
1004void
1006 std::string& str,
1007 SettlType::Enum value)
1008{
1009 toStr(
1010 str,
1011 static_cast<SettlType::Base>(value));
1012}
1013
1014
1017void
1019 std::string& str,
1021
1022
1024inline
1025std::string
1028{
1029 std::string str;
1030
1031 toStr(str, value);
1032
1033 return str;
1034}
1035
1037inline
1038std::ostream&
1040 std::ostream& stream,
1042{
1043 std::string str;
1044
1045 toStr(str, value);
1046
1047 return stream << str;
1048}
1049
1051inline
1052void
1054 std::string& str,
1056{
1057 toStr(
1058 str,
1059 static_cast<SelfTradePreventionInstruction::Base>(value));
1060}
1061
1062
1065void
1067 std::string& str,
1068 TimeUnit::Enum value);
1069
1070
1072inline std::string toStr(TimeUnit::Enum value)
1073{
1074 std::string str;
1075
1076 toStr(str, value);
1077
1078 return str;
1079}
1080
1082inline
1083std::ostream&
1085 std::ostream& stream,
1086 TimeUnit::Enum value)
1087{
1088 std::string str;
1089
1090 toStr(str, value);
1091
1092 return stream << str;
1093}
1094
1096inline
1097void
1099 std::string& str,
1100 TimeUnit::Enum value)
1101{
1102 toStr(
1103 str,
1104 static_cast<TimeUnit::Base>(value));
1105}
1106
1107
1110void
1112 std::string& str,
1113 MessageType::Enum value);
1114
1115
1117inline std::string toStr(MessageType::Enum value)
1118{
1119 std::string str;
1120
1121 toStr(str, value);
1122
1123 return str;
1124}
1125
1127inline
1128std::ostream&
1130 std::ostream& stream,
1131 MessageType::Enum value)
1132{
1133 std::string str;
1134
1135 toStr(str, value);
1136
1137 return stream << str;
1138}
1139
1141inline
1142void
1144 std::string& str,
1145 MessageType::Enum value)
1146{
1147 toStr(
1148 str,
1149 static_cast<MessageType::Base>(value));
1150}
1151
1152
1155void
1157 std::string& str,
1158 FlowType::Enum value);
1159
1160
1162inline std::string toStr(FlowType::Enum value)
1163{
1164 std::string str;
1165
1166 toStr(str, value);
1167
1168 return str;
1169}
1170
1172inline
1173std::ostream&
1175 std::ostream& stream,
1176 FlowType::Enum value)
1177{
1178 std::string str;
1179
1180 toStr(str, value);
1181
1182 return stream << str;
1183}
1184
1186inline
1187void
1189 std::string& str,
1190 FlowType::Enum value)
1191{
1192 toStr(
1193 str,
1194 static_cast<FlowType::Base>(value));
1195}
1196
1197
1200void
1202 std::string& str,
1204
1205
1207inline
1208std::string
1211{
1212 std::string str;
1213
1214 toStr(str, value);
1215
1216 return str;
1217}
1218
1220inline
1221std::ostream&
1223 std::ostream& stream,
1225{
1226 std::string str;
1227
1228 toStr(str, value);
1229
1230 return stream << str;
1231}
1232
1234inline
1235void
1237 std::string& str,
1239{
1240 toStr(
1241 str,
1242 static_cast<NegotiationRejectCode::Base>(value));
1243}
1244
1245
1248void
1250 std::string& str,
1252
1253
1255inline
1256std::string
1259{
1260 std::string str;
1261
1262 toStr(str, value);
1263
1264 return str;
1265}
1266
1268inline
1269std::ostream&
1271 std::ostream& stream,
1273{
1274 std::string str;
1275
1276 toStr(str, value);
1277
1278 return stream << str;
1279}
1280
1282inline
1283void
1285 std::string& str,
1287{
1288 toStr(
1289 str,
1290 static_cast<EstablishRejectCode::Base>(value));
1291}
1292
1293
1296void
1298 std::string& str,
1299 TerminationCode::Enum value);
1300
1301
1303inline
1304std::string
1307{
1308 std::string str;
1309
1310 toStr(str, value);
1311
1312 return str;
1313}
1314
1316inline
1317std::ostream&
1319 std::ostream& stream,
1321{
1322 std::string str;
1323
1324 toStr(str, value);
1325
1326 return stream << str;
1327}
1328
1330inline
1331void
1333 std::string& str,
1335{
1336 toStr(
1337 str,
1338 static_cast<TerminationCode::Base>(value));
1339}
1340
1341
1344void
1346 std::string& str,
1348
1349
1351inline
1352std::string
1355{
1356 std::string str;
1357
1358 toStr(str, value);
1359
1360 return str;
1361}
1362
1364inline
1365std::ostream&
1367 std::ostream& stream,
1369{
1370 std::string str;
1371
1372 toStr(str, value);
1373
1374 return stream << str;
1375}
1376
1378inline
1379void
1381 std::string& str,
1383{
1384 toStr(
1385 str,
1386 static_cast<RetransmitRejectCode::Base>(value));
1387}
1388
1389
1392void
1394 std::string& str,
1396
1397
1399inline
1400std::string
1403{
1404 std::string str;
1405
1406 toStr(str, value);
1407
1408 return str;
1409}
1410
1412inline
1413std::ostream&
1415 std::ostream& stream,
1417{
1418 std::string str;
1419
1420 toStr(str, value);
1421
1422 return stream << str;
1423}
1424
1426inline
1427void
1429 std::string& str,
1431{
1432 toStr(
1433 str,
1434 static_cast<CancelOnDisconnectType::Base>(value));
1435}
1436
1437
1440void
1442 std::string& str,
1443 Side::Enum value);
1444
1445
1447inline std::string toStr(Side::Enum value)
1448{
1449 std::string str;
1450
1451 toStr(str, value);
1452
1453 return str;
1454}
1455
1457inline
1458std::ostream&
1460 std::ostream& stream,
1461 Side::Enum value)
1462{
1463 std::string str;
1464
1465 toStr(str, value);
1466
1467 return stream << str;
1468}
1469
1471inline
1472void
1474 std::string& str,
1475 Side::Enum value)
1476{
1477 toStr(
1478 str,
1479 static_cast<Side::Base>(value));
1480}
1481
1482
1485void
1487 std::string& str,
1488 TimeInForce::Enum value);
1489
1490
1492inline std::string toStr(TimeInForce::Enum value)
1493{
1494 std::string str;
1495
1496 toStr(str, value);
1497
1498 return str;
1499}
1500
1502inline
1503std::ostream&
1505 std::ostream& stream,
1506 TimeInForce::Enum value)
1507{
1508 std::string str;
1509
1510 toStr(str, value);
1511
1512 return stream << str;
1513}
1514
1516inline
1517void
1519 std::string& str,
1520 TimeInForce::Enum value)
1521{
1522 toStr(
1523 str,
1524 static_cast<TimeInForce::Base>(value));
1525}
1526
1527
1530void
1532 std::string& str,
1534
1535
1537inline
1538std::string
1541{
1542 std::string str;
1543
1544 toStr(str, value);
1545
1546 return str;
1547}
1548
1550inline
1551std::ostream&
1553 std::ostream& stream,
1555{
1556 std::string str;
1557
1558 toStr(str, value);
1559
1560 return stream << str;
1561}
1562
1564inline
1565void
1567 std::string& str,
1569{
1570 toStr(
1571 str,
1572 static_cast<SimpleTimeInForce::Base>(value));
1573}
1574
1575
1578void
1580 std::string& str,
1581 OrdType::Enum value);
1582
1583
1585inline std::string toStr(OrdType::Enum value)
1586{
1587 std::string str;
1588
1589 toStr(str, value);
1590
1591 return str;
1592}
1593
1595inline
1596std::ostream&
1598 std::ostream& stream,
1599 OrdType::Enum value)
1600{
1601 std::string str;
1602
1603 toStr(str, value);
1604
1605 return stream << str;
1606}
1607
1609inline
1610void
1612 std::string& str,
1613 OrdType::Enum value)
1614{
1615 toStr(
1616 str,
1617 static_cast<OrdType::Base>(value));
1618}
1619
1620
1623void
1625 std::string& str,
1626 SimpleOrdType::Enum value);
1627
1628
1630inline
1631std::string
1633 SimpleOrdType::Enum value)
1634{
1635 std::string str;
1636
1637 toStr(str, value);
1638
1639 return str;
1640}
1641
1643inline
1644std::ostream&
1646 std::ostream& stream,
1647 SimpleOrdType::Enum value)
1648{
1649 std::string str;
1650
1651 toStr(str, value);
1652
1653 return stream << str;
1654}
1655
1657inline
1658void
1660 std::string& str,
1661 SimpleOrdType::Enum value)
1662{
1663 toStr(
1664 str,
1665 static_cast<SimpleOrdType::Base>(value));
1666}
1667
1668
1671void
1673 std::string& str,
1674 CrossOrdType::Enum value);
1675
1676
1678inline std::string toStr(CrossOrdType::Enum value)
1679{
1680 std::string str;
1681
1682 toStr(str, value);
1683
1684 return str;
1685}
1686
1688inline
1689std::ostream&
1691 std::ostream& stream,
1692 CrossOrdType::Enum value)
1693{
1694 std::string str;
1695
1696 toStr(str, value);
1697
1698 return stream << str;
1699}
1700
1702inline
1703void
1705 std::string& str,
1706 CrossOrdType::Enum value)
1707{
1708 toStr(
1709 str,
1710 static_cast<CrossOrdType::Base>(value));
1711}
1712
1713
1716void
1718 std::string& str,
1720
1721
1723inline
1724std::string
1727{
1728 std::string str;
1729
1730 toStr(str, value);
1731
1732 return str;
1733}
1734
1736inline
1737std::ostream&
1739 std::ostream& stream,
1741{
1742 std::string str;
1743
1744 toStr(str, value);
1745
1746 return stream << str;
1747}
1748
1750inline
1751void
1753 std::string& str,
1755{
1756 toStr(
1757 str,
1758 static_cast<RoutingInstruction::Base>(value));
1759}
1760
1761
1764void
1766 std::string& str,
1767 ExecType::Enum value);
1768
1769
1771inline std::string toStr(ExecType::Enum value)
1772{
1773 std::string str;
1774
1775 toStr(str, value);
1776
1777 return str;
1778}
1779
1781inline
1782std::ostream&
1784 std::ostream& stream,
1785 ExecType::Enum value)
1786{
1787 std::string str;
1788
1789 toStr(str, value);
1790
1791 return stream << str;
1792}
1793
1795inline
1796void
1798 std::string& str,
1799 ExecType::Enum value)
1800{
1801 toStr(
1802 str,
1803 static_cast<ExecType::Base>(value));
1804}
1805
1806
1809void
1811 std::string& str,
1812 OrdStatus::Enum value);
1813
1814
1816inline std::string toStr(OrdStatus::Enum value)
1817{
1818 std::string str;
1819
1820 toStr(str, value);
1821
1822 return str;
1823}
1824
1826inline
1827std::ostream&
1829 std::ostream& stream,
1830 OrdStatus::Enum value)
1831{
1832 std::string str;
1833
1834 toStr(str, value);
1835
1836 return stream << str;
1837}
1838
1840inline
1841void
1843 std::string& str,
1844 OrdStatus::Enum value)
1845{
1846 toStr(
1847 str,
1848 static_cast<OrdStatus::Base>(value));
1849}
1850
1851
1854void
1856 std::string& str,
1858
1859
1861inline
1862std::string
1865{
1866 std::string str;
1867
1868 toStr(str, value);
1869
1870 return str;
1871}
1872
1874inline
1875std::ostream&
1877 std::ostream& stream,
1879{
1880 std::string str;
1881
1882 toStr(str, value);
1883
1884 return stream << str;
1885}
1886
1888inline
1889void
1891 std::string& str,
1893{
1894 toStr(
1895 str,
1897}
1898
1899
1902void
1904 std::string& str,
1906
1907
1909inline
1910std::string
1913{
1914 std::string str;
1915
1916 toStr(str, value);
1917
1918 return str;
1919}
1920
1922inline
1923std::ostream&
1925 std::ostream& stream,
1927{
1928 std::string str;
1929
1930 toStr(str, value);
1931
1932 return stream << str;
1933}
1934
1936inline
1937void
1939 std::string& str,
1941{
1942 toStr(
1943 str,
1945}
1946
1947
1950void
1952 std::string& str,
1954
1955
1957inline
1958std::string
1961{
1962 std::string str;
1963
1964 toStr(str, value);
1965
1966 return str;
1967}
1968
1970inline
1971std::ostream&
1973 std::ostream& stream,
1975{
1976 std::string str;
1977
1978 toStr(str, value);
1979
1980 return stream << str;
1981}
1982
1984inline
1985void
1987 std::string& str,
1989{
1990 toStr(
1991 str,
1992 static_cast<ExecRestatementReason::Base>(value));
1993}
1994
1995
1998void
2000 std::string& str,
2002
2003
2005inline
2006std::string
2009{
2010 std::string str;
2011
2012 toStr(str, value);
2013
2014 return str;
2015}
2016
2018inline
2019std::ostream&
2021 std::ostream& stream,
2023{
2024 std::string str;
2025
2026 toStr(str, value);
2027
2028 return stream << str;
2029}
2030
2032inline
2033void
2035 std::string& str,
2037{
2038 toStr(
2039 str,
2040 static_cast<MultiLegReportingType::Base>(value));
2041}
2042
2043
2046void
2048 std::string& str,
2049 OrderCategory::Enum value);
2050
2051
2053inline
2054std::string
2056 OrderCategory::Enum value)
2057{
2058 std::string str;
2059
2060 toStr(str, value);
2061
2062 return str;
2063}
2064
2066inline
2067std::ostream&
2069 std::ostream& stream,
2070 OrderCategory::Enum value)
2071{
2072 std::string str;
2073
2074 toStr(str, value);
2075
2076 return stream << str;
2077}
2078
2080inline
2081void
2083 std::string& str,
2084 OrderCategory::Enum value)
2085{
2086 toStr(
2087 str,
2088 static_cast<OrderCategory::Base>(value));
2089}
2090
2091
2094void
2096 std::string& str,
2097 AccountType::Enum value);
2098
2099
2101inline std::string toStr(AccountType::Enum value)
2102{
2103 std::string str;
2104
2105 toStr(str, value);
2106
2107 return str;
2108}
2109
2111inline
2112std::ostream&
2114 std::ostream& stream,
2115 AccountType::Enum value)
2116{
2117 std::string str;
2118
2119 toStr(str, value);
2120
2121 return stream << str;
2122}
2123
2125inline
2126void
2128 std::string& str,
2129 AccountType::Enum value)
2130{
2131 toStr(
2132 str,
2133 static_cast<AccountType::Base>(value));
2134}
2135
2136
2139void
2141 std::string& str,
2143
2144
2146inline
2147std::string
2150{
2151 std::string str;
2152
2153 toStr(str, value);
2154
2155 return str;
2156}
2157
2159inline
2160std::ostream&
2162 std::ostream& stream,
2164{
2165 std::string str;
2166
2167 toStr(str, value);
2168
2169 return stream << str;
2170}
2171
2173inline
2174void
2176 std::string& str,
2178{
2179 toStr(
2180 str,
2181 static_cast<CxlRejResponseTo::Base>(value));
2182}
2183
2184
2187void
2189 std::string& str,
2190 PossResend::Enum value);
2191
2192
2194inline std::string toStr(PossResend::Enum value)
2195{
2196 std::string str;
2197
2198 toStr(str, value);
2199
2200 return str;
2201}
2202
2204inline
2205std::ostream&
2207 std::ostream& stream,
2208 PossResend::Enum value)
2209{
2210 std::string str;
2211
2212 toStr(str, value);
2213
2214 return stream << str;
2215}
2216
2218inline
2219void
2221 std::string& str,
2222 PossResend::Enum value)
2223{
2224 toStr(
2225 str,
2226 static_cast<PossResend::Base>(value));
2227}
2228
2229
2232void
2234 std::string& str,
2236
2237
2239inline
2240std::string
2243{
2244 std::string str;
2245
2246 toStr(str, value);
2247
2248 return str;
2249}
2250
2252inline
2253std::ostream&
2255 std::ostream& stream,
2257{
2258 std::string str;
2259
2260 toStr(str, value);
2261
2262 return stream << str;
2263}
2264
2266inline
2267void
2269 std::string& str,
2271{
2272 toStr(
2273 str,
2274 static_cast<SecurityIDSource::Base>(value));
2275}
2276
2277
2280void
2282 std::string& str,
2284
2285
2287inline
2288std::string
2291{
2292 std::string str;
2293
2294 toStr(str, value);
2295
2296 return str;
2297}
2298
2300inline
2301std::ostream&
2303 std::ostream& stream,
2305{
2306 std::string str;
2307
2308 toStr(str, value);
2309
2310 return stream << str;
2311}
2312
2314inline
2315void
2317 std::string& str,
2319{
2320 toStr(
2321 str,
2322 static_cast<CrossedIndicator::Base>(value));
2323}
2324
2325
2328void
2330 std::string& str,
2332
2333
2335inline
2336std::string
2339{
2340 std::string str;
2341
2342 toStr(str, value);
2343
2344 return str;
2345}
2346
2348inline
2349std::ostream&
2351 std::ostream& stream,
2353{
2354 std::string str;
2355
2356 toStr(str, value);
2357
2358 return stream << str;
2359}
2360
2362inline
2363void
2365 std::string& str,
2367{
2368 toStr(
2369 str,
2370 static_cast<TradingSessionID::Base>(value));
2371}
2372
2373
2376void
2378 std::string& str,
2380
2381
2383inline
2384std::string
2387{
2388 std::string str;
2389
2390 toStr(str, value);
2391
2392 return str;
2393}
2394
2396inline
2397std::ostream&
2399 std::ostream& stream,
2401{
2402 std::string str;
2403
2404 toStr(str, value);
2405
2406 return stream << str;
2407}
2408
2410inline
2411void
2413 std::string& str,
2415{
2416 toStr(
2417 str,
2418 static_cast<TradingSessionSubID::Base>(value));
2419}
2420
2421
2424void
2426 std::string& str,
2428
2429
2431inline
2432std::string
2435{
2436 std::string str;
2437
2438 toStr(str, value);
2439
2440 return str;
2441}
2442
2444inline
2445std::ostream&
2447 std::ostream& stream,
2449{
2450 std::string str;
2451
2452 toStr(str, value);
2453
2454 return stream << str;
2455}
2456
2458inline
2459void
2461 std::string& str,
2463{
2464 toStr(
2465 str,
2466 static_cast<SecurityTradingStatus::Base>(value));
2467}
2468
2469
2472void
2474 std::string& str,
2475 CrossType::Enum value);
2476
2477
2479inline std::string toStr(CrossType::Enum value)
2480{
2481 std::string str;
2482
2483 toStr(str, value);
2484
2485 return str;
2486}
2487
2489inline
2490std::ostream&
2492 std::ostream& stream,
2493 CrossType::Enum value)
2494{
2495 std::string str;
2496
2497 toStr(str, value);
2498
2499 return stream << str;
2500}
2501
2503inline
2504void
2506 std::string& str,
2507 CrossType::Enum value)
2508{
2509 toStr(
2510 str,
2511 static_cast<CrossType::Base>(value));
2512}
2513
2514
2517void
2519 std::string& str,
2521
2522
2524inline
2525std::string
2528{
2529 std::string str;
2530
2531 toStr(str, value);
2532
2533 return str;
2534}
2535
2537inline
2538std::ostream&
2540 std::ostream& stream,
2542{
2543 std::string str;
2544
2545 toStr(str, value);
2546
2547 return stream << str;
2548}
2549
2551inline
2552void
2554 std::string& str,
2556{
2557 toStr(
2558 str,
2559 static_cast<CrossPrioritization::Base>(value));
2560}
2561
2562
2565void
2567 std::string& str,
2568 EventIndicator set);
2569
2570
2572inline std::string toStr(EventIndicator set)
2573{
2574 std::string str;
2575
2576 toStr(str, set);
2577
2578 return str;
2579}
2580
2582inline
2583std::ostream&
2585 std::ostream& stream,
2586 EventIndicator set)
2587{
2588 std::string str;
2589
2590 toStr(str, set);
2591
2592 return stream << str;
2593}
2594
2596inline
2597void
2599 std::string& str,
2600 EventIndicator set)
2601{
2602 toStr(str, set.bits());
2603}
2604
2605
2608void
2610 std::string& str,
2611 const GroupSizeEncoding& obj,
2612 bool skipEmptyFields = false);
2613
2614
2616inline
2617std::string
2619 const GroupSizeEncoding& obj,
2620 bool skipEmptyFields = false)
2621{
2622 std::string str;
2623
2624 toStr(
2625 str,
2626 obj,
2627 skipEmptyFields);
2628
2629 return str;
2630}
2631
2633inline
2634std::ostream&
2636 std::ostream& stream,
2637 const GroupSizeEncoding& obj)
2638{
2639 std::string str;
2640
2641 toStr(str, obj);
2642
2643 return stream << str;
2644}
2645
2646
2649void
2651 std::string& str,
2652 const PriceOffsetOptional& obj,
2653 bool skipEmptyFields = false);
2654
2655
2657inline
2658std::string
2660 const PriceOffsetOptional& obj,
2661 bool skipEmptyFields = false)
2662{
2663 std::string str;
2664
2665 toStr(
2666 str,
2667 obj,
2668 skipEmptyFields);
2669
2670 return str;
2671}
2672
2674inline
2675std::ostream&
2677 std::ostream& stream,
2678 const PriceOffsetOptional& obj)
2679{
2680 std::string str;
2681
2682 toStr(str, obj);
2683
2684 return stream << str;
2685}
2686
2687
2690void
2692 std::string& str,
2693 const Percentage8Optional& obj,
2694 bool skipEmptyFields = false);
2695
2696
2698inline
2699std::string
2701 const Percentage8Optional& obj,
2702 bool skipEmptyFields = false)
2703{
2704 std::string str;
2705
2706 toStr(
2707 str,
2708 obj,
2709 skipEmptyFields);
2710
2711 return str;
2712}
2713
2715inline
2716std::ostream&
2718 std::ostream& stream,
2719 const Percentage8Optional& obj)
2720{
2721 std::string str;
2722
2723 toStr(str, obj);
2724
2725 return stream << str;
2726}
2727
2728
2731void
2733 std::string& str,
2734 const RatioQty& obj,
2735 bool skipEmptyFields = false);
2736
2737
2739inline
2740std::string
2742 const RatioQty& obj,
2743 bool skipEmptyFields = false)
2744{
2745 std::string str;
2746
2747 toStr(
2748 str,
2749 obj,
2750 skipEmptyFields);
2751
2752 return str;
2753}
2754
2756inline
2757std::ostream&
2759 std::ostream& stream,
2760 const RatioQty& obj)
2761{
2762 std::string str;
2763
2764 toStr(str, obj);
2765
2766 return stream << str;
2767}
2768
2769
2772void
2774 std::string& str,
2775 const UTCTimestampNanos& obj,
2776 bool skipEmptyFields = false);
2777
2778
2780inline
2781std::string
2783 const UTCTimestampNanos& obj,
2784 bool skipEmptyFields = false)
2785{
2786 std::string str;
2787
2788 toStr(
2789 str,
2790 obj,
2791 skipEmptyFields);
2792
2793 return str;
2794}
2795
2797inline
2798std::ostream&
2800 std::ostream& stream,
2801 const UTCTimestampNanos& obj)
2802{
2803 std::string str;
2804
2805 toStr(str, obj);
2806
2807 return stream << str;
2808}
2809
2810
2813void
2815 std::string& str,
2816 const UTCTimestampNanosOptional& obj,
2817 bool skipEmptyFields = false);
2818
2819
2821inline
2822std::string
2824 const UTCTimestampNanosOptional& obj,
2825 bool skipEmptyFields = false)
2826{
2827 std::string str;
2828
2829 toStr(
2830 str,
2831 obj,
2832 skipEmptyFields);
2833
2834 return str;
2835}
2836
2838inline
2839std::ostream&
2841 std::ostream& stream,
2842 const UTCTimestampNanosOptional& obj)
2843{
2844 std::string str;
2845
2846 toStr(str, obj);
2847
2848 return stream << str;
2849}
2850
2851
2854void
2856 std::string& str,
2857 const DeltaInMillis& obj,
2858 bool skipEmptyFields = false);
2859
2860
2862inline
2863std::string
2865 const DeltaInMillis& obj,
2866 bool skipEmptyFields = false)
2867{
2868 std::string str;
2869
2870 toStr(
2871 str,
2872 obj,
2873 skipEmptyFields);
2874
2875 return str;
2876}
2877
2879inline
2880std::ostream&
2882 std::ostream& stream,
2883 const DeltaInMillis& obj)
2884{
2885 std::string str;
2886
2887 toStr(str, obj);
2888
2889 return stream << str;
2890}
2891
2892
2895void
2897 std::string& str,
2898 const CredentialsEncoding& obj,
2899 bool skipEmptyFields = false);
2900
2901
2903inline
2904std::string
2906 const CredentialsEncoding& obj,
2907 bool skipEmptyFields = false)
2908{
2909 std::string str;
2910
2911 toStr(
2912 str,
2913 obj,
2914 skipEmptyFields);
2915
2916 return str;
2917}
2918
2920inline
2921std::ostream&
2923 std::ostream& stream,
2924 const CredentialsEncoding& obj)
2925{
2926 std::string str;
2927
2928 toStr(str, obj);
2929
2930 return stream << str;
2931}
2932
2933
2936void
2938 std::string& str,
2939 const MemoEncoding& obj,
2940 bool skipEmptyFields = false);
2941
2942
2944inline
2945std::string
2947 const MemoEncoding& obj,
2948 bool skipEmptyFields = false)
2949{
2950 std::string str;
2951
2952 toStr(
2953 str,
2954 obj,
2955 skipEmptyFields);
2956
2957 return str;
2958}
2959
2961inline
2962std::ostream&
2964 std::ostream& stream,
2965 const MemoEncoding& obj)
2966{
2967 std::string str;
2968
2969 toStr(str, obj);
2970
2971 return stream << str;
2972}
2973
2974
2977void
2979 std::string& str,
2980 const TextEncoding& obj,
2981 bool skipEmptyFields = false);
2982
2983
2985inline
2986std::string
2988 const TextEncoding& obj,
2989 bool skipEmptyFields = false)
2990{
2991 std::string str;
2992
2993 toStr(
2994 str,
2995 obj,
2996 skipEmptyFields);
2997
2998 return str;
2999}
3000
3002inline
3003std::ostream&
3005 std::ostream& stream,
3006 const TextEncoding& obj)
3007{
3008 std::string str;
3009
3010 toStr(str, obj);
3011
3012 return stream << str;
3013}
3014
3015
3018void
3020 std::string& str,
3021 const DeskIDEncoding& obj,
3022 bool skipEmptyFields = false);
3023
3024
3026inline
3027std::string
3029 const DeskIDEncoding& obj,
3030 bool skipEmptyFields = false)
3031{
3032 std::string str;
3033
3034 toStr(
3035 str,
3036 obj,
3037 skipEmptyFields);
3038
3039 return str;
3040}
3041
3043inline
3044std::ostream&
3046 std::ostream& stream,
3047 const DeskIDEncoding& obj)
3048{
3049 std::string str;
3050
3051 toStr(str, obj);
3052
3053 return stream << str;
3054}
3055
3056
3059void
3061 std::string& str,
3062 const ClientAppEncoding& obj,
3063 bool skipEmptyFields = false);
3064
3065
3067inline
3068std::string
3070 const ClientAppEncoding& obj,
3071 bool skipEmptyFields = false)
3072{
3073 std::string str;
3074
3075 toStr(
3076 str,
3077 obj,
3078 skipEmptyFields);
3079
3080 return str;
3081}
3082
3084inline
3085std::ostream&
3087 std::ostream& stream,
3088 const ClientAppEncoding& obj)
3089{
3090 std::string str;
3091
3092 toStr(str, obj);
3093
3094 return stream << str;
3095}
3096
3097
3100void
3102 std::string& str,
3103 const CustodianInfo& obj,
3104 bool skipEmptyFields = false);
3105
3106
3108inline
3109std::string
3111 const CustodianInfo& obj,
3112 bool skipEmptyFields = false)
3113{
3114 std::string str;
3115
3116 toStr(
3117 str,
3118 obj,
3119 skipEmptyFields);
3120
3121 return str;
3122}
3123
3125inline
3126std::ostream&
3128 std::ostream& stream,
3129 const CustodianInfo& obj)
3130{
3131 std::string str;
3132
3133 toStr(str, obj);
3134
3135 return stream << str;
3136}
3137
3138
3141void
3143 std::string& str,
3144 const InboundBusinessHeader& obj,
3145 bool skipEmptyFields = false);
3146
3147
3149inline
3150std::string
3152 const InboundBusinessHeader& obj,
3153 bool skipEmptyFields = false)
3154{
3155 std::string str;
3156
3157 toStr(
3158 str,
3159 obj,
3160 skipEmptyFields);
3161
3162 return str;
3163}
3164
3166inline
3167std::ostream&
3169 std::ostream& stream,
3170 const InboundBusinessHeader& obj)
3171{
3172 std::string str;
3173
3174 toStr(str, obj);
3175
3176 return stream << str;
3177}
3178
3179
3182void
3184 std::string& str,
3185 const OutboundBusinessHeader& obj,
3186 bool skipEmptyFields = false);
3187
3188
3190inline
3191std::string
3193 const OutboundBusinessHeader& obj,
3194 bool skipEmptyFields = false)
3195{
3196 std::string str;
3197
3198 toStr(
3199 str,
3200 obj,
3201 skipEmptyFields);
3202
3203 return str;
3204}
3205
3207inline
3208std::ostream&
3210 std::ostream& stream,
3211 const OutboundBusinessHeader& obj)
3212{
3213 std::string str;
3214
3215 toStr(str, obj);
3216
3217 return stream << str;
3218}
3219
3220
3223void
3225 std::string& str,
3226 const BidirectionalBusinessHeader& obj,
3227 bool skipEmptyFields = false);
3228
3229
3231inline
3232std::string
3234 const BidirectionalBusinessHeader& obj,
3235 bool skipEmptyFields = false)
3236{
3237 std::string str;
3238
3239 toStr(
3240 str,
3241 obj,
3242 skipEmptyFields);
3243
3244 return str;
3245}
3246
3248inline
3249std::ostream&
3251 std::ostream& stream,
3252 const BidirectionalBusinessHeader& obj)
3253{
3254 std::string str;
3255
3256 toStr(str, obj);
3257
3258 return stream << str;
3259}
3260
3261
3264void
3266 std::string& str,
3267 const InvestorID& obj,
3268 bool skipEmptyFields = false);
3269
3270
3272inline
3273std::string
3275 const InvestorID& obj,
3276 bool skipEmptyFields = false)
3277{
3278 std::string str;
3279
3280 toStr(
3281 str,
3282 obj,
3283 skipEmptyFields);
3284
3285 return str;
3286}
3287
3289inline
3290std::ostream&
3292 std::ostream& stream,
3293 const InvestorID& obj)
3294{
3295 std::string str;
3296
3297 toStr(str, obj);
3298
3299 return stream << str;
3300}
3301
3302
3305void
3307 std::string& str,
3308 const ImpliedEventID& obj,
3309 bool skipEmptyFields = false);
3310
3311
3313inline
3314std::string
3316 const ImpliedEventID& obj,
3317 bool skipEmptyFields = false)
3318{
3319 std::string str;
3320
3321 toStr(
3322 str,
3323 obj,
3324 skipEmptyFields);
3325
3326 return str;
3327}
3328
3330inline
3331std::ostream&
3333 std::ostream& stream,
3334 const ImpliedEventID& obj)
3335{
3336 std::string str;
3337
3338 toStr(str, obj);
3339
3340 return stream << str;
3341}
3342
3343
3346void
3348 std::string& str,
3349 const Version& obj,
3350 bool skipEmptyFields = false);
3351
3352
3354inline
3355std::string
3357 const Version& obj,
3358 bool skipEmptyFields = false)
3359{
3360 std::string str;
3361
3362 toStr(
3363 str,
3364 obj,
3365 skipEmptyFields);
3366
3367 return str;
3368}
3369
3371inline
3372std::ostream&
3374 std::ostream& stream,
3375 const Version& obj)
3376{
3377 std::string str;
3378
3379 toStr(str, obj);
3380
3381 return stream << str;
3382}
3383
3384
3385template <>
3387{
3388 static bool isEmpty(const EventIndicator& value)
3389 {
3390 return value.bits() == 0;
3391 }
3392};
3393
3394template <>
3396{
3397 static bool isEmpty(const GroupSizeEncoding&)
3398 {
3399 return false;
3400 }
3401};
3402
3403template <>
3405{
3406 static bool isEmpty(const PriceOffsetOptional& obj)
3407 {
3408 return NullPriceOffsetOptional() == obj;
3409 }
3410};
3411
3412template <>
3414{
3415 static bool isEmpty(const Percentage8Optional& obj)
3416 {
3417 return NullPercentage8Optional() == obj;
3418 }
3419};
3420
3421template <>
3423{
3424 static bool isEmpty(const RatioQty&)
3425 {
3426 return false;
3427 }
3428};
3429
3430template <>
3432{
3433 static bool isEmpty(const UTCTimestampNanos&)
3434 {
3435 return false;
3436 }
3437};
3438
3439template <>
3441{
3442 static bool isEmpty(const UTCTimestampNanosOptional& obj)
3443 {
3444 return NullUTCTimestampNanosOptional() == obj;
3445 }
3446};
3447
3448template <>
3450{
3451 static bool isEmpty(const DeltaInMillis&)
3452 {
3453 return false;
3454 }
3455};
3456
3457template <>
3459{
3460 static bool isEmpty(const CredentialsEncoding&)
3461 {
3462 return false;
3463 }
3464};
3465
3466template <>
3468{
3469 static bool isEmpty(const MemoEncoding&)
3470 {
3471 return false;
3472 }
3473};
3474
3475template <>
3477{
3478 static bool isEmpty(const TextEncoding&)
3479 {
3480 return false;
3481 }
3482};
3483
3484template <>
3486{
3487 static bool isEmpty(const DeskIDEncoding&)
3488 {
3489 return false;
3490 }
3491};
3492
3493template <>
3495{
3496 static bool isEmpty(const ClientAppEncoding&)
3497 {
3498 return false;
3499 }
3500};
3501
3502template <>
3504{
3505 static bool isEmpty(const CustodianInfo& obj)
3506 {
3507 return CustodianInfo::NullCustodian() == obj.custodian();
3508 }
3509};
3510
3511template <>
3513{
3514 static bool isEmpty(const InboundBusinessHeader&)
3515 {
3516 return false;
3517 }
3518};
3519
3520template <>
3522{
3524 {
3525 return false;
3526 }
3527};
3528
3529template <>
3531{
3533 {
3534 return false;
3535 }
3536};
3537
3538template <>
3540{
3541 static bool isEmpty(const InvestorID& obj)
3542 {
3543 return InvestorID::NullPrefix() == obj.prefix();
3544 }
3545};
3546
3547template <>
3549{
3550 static bool isEmpty(const ImpliedEventID& obj)
3551 {
3552 return ImpliedEventID::NullEventID() == obj.eventId();
3553 }
3554};
3555
3556template <>
3558{
3559 static bool isEmpty(const Version& obj)
3560 {
3561 return Version::NullMajorNumber() == obj.majorNumber();
3562 }
3563};
3564
3565inline std::string EventIndicator::toString(bool) const
3566{
3567 return toStr(*this);
3568}
3569
3570inline std::string GroupSizeEncoding::toString(bool skipEmptyFields) const
3571{
3572 return toStr(*this, skipEmptyFields);
3573}
3574
3575inline std::string UTCTimestampNanos::toString(bool skipEmptyFields) const
3576{
3577 return toStr(*this, skipEmptyFields);
3578}
3579
3580inline std::string UTCTimestampNanosOptional::toString(bool skipEmptyFields) const
3581{
3582 return toStr(*this, skipEmptyFields);
3583}
3584
3585inline std::string DeltaInMillis::toString(bool skipEmptyFields) const
3586{
3587 return toStr(*this, skipEmptyFields);
3588}
3589
3590inline std::string CredentialsEncoding::toString(bool skipEmptyFields) const
3591{
3592 return toStr(*this, skipEmptyFields);
3593}
3594
3595inline std::string MemoEncoding::toString(bool skipEmptyFields) const
3596{
3597 return toStr(*this, skipEmptyFields);
3598}
3599
3600inline std::string TextEncoding::toString(bool skipEmptyFields) const
3601{
3602 return toStr(*this, skipEmptyFields);
3603}
3604
3605inline std::string DeskIDEncoding::toString(bool skipEmptyFields) const
3606{
3607 return toStr(*this, skipEmptyFields);
3608}
3609
3610inline std::string ClientAppEncoding::toString(bool skipEmptyFields) const
3611{
3612 return toStr(*this, skipEmptyFields);
3613}
3614
3615inline std::string CustodianInfo::toString(bool skipEmptyFields) const
3616{
3617 return toStr(*this, skipEmptyFields);
3618}
3619
3620inline std::string InboundBusinessHeader::toString(bool skipEmptyFields) const
3621{
3622 return toStr(*this, skipEmptyFields);
3623}
3624
3625inline std::string OutboundBusinessHeader::toString(bool skipEmptyFields) const
3626{
3627 return toStr(*this, skipEmptyFields);
3628}
3629
3630inline std::string BidirectionalBusinessHeader::toString(bool skipEmptyFields) const
3631{
3632 return toStr(*this, skipEmptyFields);
3633}
3634
3635inline std::string InvestorID::toString(bool skipEmptyFields) const
3636{
3637 return toStr(*this, skipEmptyFields);
3638}
3639
3640inline std::string ImpliedEventID::toString(bool skipEmptyFields) const
3641{
3642 return toStr(*this, skipEmptyFields);
3643}
3644
3645inline std::string Version::toString(bool skipEmptyFields) const
3646{
3647 return toStr(*this, skipEmptyFields);
3648}
3649
3650inline std::string Boolean::toString(Boolean::Enum value)
3651{
3652 return toStr(value);
3653}
3654
3655inline
3656std::string
3659{
3660 return toStr(value);
3661}
3662
3663inline
3664std::string
3667{
3668 return toStr(value);
3669}
3670
3671inline std::string AllocType::toString(AllocType::Enum value)
3672{
3673 return toStr(value);
3674}
3675
3676inline
3677std::string
3680{
3681 return toStr(value);
3682}
3683
3685{
3686 return toStr(value);
3687}
3688
3690{
3691 return toStr(value);
3692}
3693
3694inline
3695std::string
3698{
3699 return toStr(value);
3700}
3701
3702inline
3703std::string
3706{
3707 return toStr(value);
3708}
3709
3710inline std::string PosType::toString(PosType::Enum value)
3711{
3712 return toStr(value);
3713}
3714
3715inline
3716std::string
3719{
3720 return toStr(value);
3721}
3722
3723inline
3724std::string
3727{
3728 return toStr(value);
3729}
3730
3731inline
3732std::string
3735{
3736 return toStr(value);
3737}
3738
3739inline
3740std::string
3743{
3744 return toStr(value);
3745}
3746
3747inline
3748std::string
3751{
3752 return toStr(value);
3753}
3754
3755inline
3756std::string
3759{
3760 return toStr(value);
3761}
3762
3763inline
3764std::string
3767{
3768 return toStr(value);
3769}
3770
3772{
3773 return toStr(value);
3774}
3775
3776inline
3777std::string
3780{
3781 return toStr(value);
3782}
3783
3784inline std::string SettlType::toString(SettlType::Enum value)
3785{
3786 return toStr(value);
3787}
3788
3789inline
3790std::string
3796
3797inline std::string TimeUnit::toString(TimeUnit::Enum value)
3798{
3799 return toStr(value);
3800}
3801
3803{
3804 return toStr(value);
3805}
3806
3807inline std::string FlowType::toString(FlowType::Enum value)
3808{
3809 return toStr(value);
3810}
3811
3812inline
3813std::string
3816{
3817 return toStr(value);
3818}
3819
3820inline
3821std::string
3824{
3825 return toStr(value);
3826}
3827
3828inline
3829std::string
3832{
3833 return toStr(value);
3834}
3835
3836inline
3837std::string
3840{
3841 return toStr(value);
3842}
3843
3844inline
3845std::string
3848{
3849 return toStr(value);
3850}
3851
3852inline std::string Side::toString(Side::Enum value)
3853{
3854 return toStr(value);
3855}
3856
3858{
3859 return toStr(value);
3860}
3861
3862inline
3863std::string
3866{
3867 return toStr(value);
3868}
3869
3870inline std::string OrdType::toString(OrdType::Enum value)
3871{
3872 return toStr(value);
3873}
3874
3875inline
3876std::string
3878 SimpleOrdType::Enum value)
3879{
3880 return toStr(value);
3881}
3882
3884{
3885 return toStr(value);
3886}
3887
3888inline
3889std::string
3892{
3893 return toStr(value);
3894}
3895
3896inline std::string ExecType::toString(ExecType::Enum value)
3897{
3898 return toStr(value);
3899}
3900
3901inline std::string OrdStatus::toString(OrdStatus::Enum value)
3902{
3903 return toStr(value);
3904}
3905
3906inline
3907std::string
3913
3914inline
3915std::string
3921
3922inline
3923std::string
3926{
3927 return toStr(value);
3928}
3929
3930inline
3931std::string
3934{
3935 return toStr(value);
3936}
3937
3938inline
3939std::string
3941 OrderCategory::Enum value)
3942{
3943 return toStr(value);
3944}
3945
3947{
3948 return toStr(value);
3949}
3950
3951inline
3952std::string
3955{
3956 return toStr(value);
3957}
3958
3960{
3961 return toStr(value);
3962}
3963
3964inline
3965std::string
3968{
3969 return toStr(value);
3970}
3971
3972inline
3973std::string
3976{
3977 return toStr(value);
3978}
3979
3980inline
3981std::string
3984{
3985 return toStr(value);
3986}
3987
3988inline
3989std::string
3992{
3993 return toStr(value);
3994}
3995
3996inline
3997std::string
4000{
4001 return toStr(value);
4002}
4003
4004inline std::string CrossType::toString(CrossType::Enum value)
4005{
4006 return toStr(value);
4007}
4008
4009inline
4010std::string
4013{
4014 return toStr(value);
4015}
4016
#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_EXPORTED
Definition Compiler.h:181
Header used for business messages that can go inbound or outbound.
std::string toString(bool skipEmptyFields=false) const
Custodian information is required for going private offer.
IntegralConstant< UInt32, 0 > NullCustodian
Null value for an optional Custodian field.
std::string toString(bool skipEmptyFields=false) const
Custodian custodian() const noexcept
Identifies the custodian.
std::string toString(bool skipEmptyFields=false) const
std::string toString(bool skipEmptyFields=false) const
Unique ID for all matches that occur as a result of a implied event.
IntegralConstant< UInt32, 0 > NullEventID
Null value for an optional EventID field.
std::string toString(bool skipEmptyFields=false) const
Header used for inbound business messages.
std::string toString(bool skipEmptyFields=false) const
Self trade prevention investor identification is composed of the prefix and document.
IntegralConstant< UInt16, 0 > NullPrefix
Null value for an optional Prefix field.
std::string toString(bool skipEmptyFields=false) const
Header used for outbound business messages.
std::string toString(bool skipEmptyFields=false) const
std::string toString(bool skipEmptyFields=false) const
std::string toString(bool skipEmptyFields=false) const
Identifies the version of what the field relates to.
IntegralConstant< UInt8, 255 > NullMajorNumber
Null value for an optional MajorNumber field.
std::string toString(bool skipEmptyFields=false) const
MajorNumber majorNumber() const noexcept
Major release number.
std::ostream & operator<<(std::ostream &stream, const FloatingPointDecimal< Mantissa, Exponent > &value)
Serializes into a stream.
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > PriceOffsetOptional
Definition Composites.h:347
FixedPointDecimal< Int64, IntegralConstant< Int8, -7 > > RatioQty
Definition Composites.h:494
void toFix(std::string &str, const Negotiate1 &obj)
Serializes the object into FIX presentation.
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Percentage8Optional
Definition Composites.h:426
bool isValueEmpty(const Value &value)
std::string toStr(const FixedPointDecimal< Mantissa, Exponent > &)
Serializes a fixed-point decimal into a string.
std::basic_string_view< Char > StrRef
Definition StrRef.h:46
Enum
Type of Account associated with an order.
Definition Fields.h:1942
Enum
Indicates how the orders being booked and allocated by an Allocation Instruction.
Definition Fields.h:505
Enum
Describes the specific type or purpose of an Allocation Report message.
Definition Fields.h:461
Enum
Identifies status of allocation.
Definition Fields.h:527
Enum
Identifies allocation transaction type.
Definition Fields.h:436
Enum
Describes the specific type or purpose of an Allocation message.
Definition Fields.h:483
static std::string toString(Enum)
static std::string toString(Enum)
Enum
Criteria used to initiate cancel on disconnect mechanism by the gateway.
Definition Fields.h:1423
std::string toString(bool skipEmptyFields=false) const
std::string toString(bool skipEmptyFields=false) const
Enum
Valid order type for cross-order operations.
Definition Fields.h:1612
Enum
Indicates if one side or the other of a cross order should be prioritized.
Definition Fields.h:2207
Enum
Type of cross being submitted to a market.
Definition Fields.h:2178
static std::string toString(Enum)
Enum
Indicates cross order purpose.
Definition Fields.h:2045
Enum
Identifies the type of request that this cancel reject is in response to.
Definition Fields.h:1967
std::string toString(bool skipEmptyFields=false) const
Enum
Identifies the code of reject establishment.
Definition Fields.h:1237
Set of indicators for a given event. First use case: indicates possible retransmission of message dur...
Definition Fields.h:2228
std::string toString(bool skipEmptyFields=false) const
Enum
Used to communicate event type which triggers mass cancelation.
Definition Fields.h:1761
Enum
Used to communicate a reason for a solicited cancel.
Definition Fields.h:1739
Enum
Indicates reason for restatement/cancelation, if available.
Definition Fields.h:1786
Enum
Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for t...
Definition Fields.h:1668
static std::string toString(Enum)
Enum
Specifies if a simultaneous trade of the underlying is to be performed.
Definition Fields.h:844
Enum
Type of message flow from client to server or from server to client.
Definition Fields.h:1148
static std::string toString(Enum)
Enum
Reason Order Mass Action Request was rejected.
Definition Fields.h:757
Enum
Specifies the action taken by matching engine when it receives the Order Mass Action Request.
Definition Fields.h:732
Enum
Specifies the scope of the action. All Day and MOC orders will be cancelled. GTC, GTD and MOA orders ...
Definition Fields.h:682
Enum
Specifies the type of action requested.
Definition Fields.h:704
std::string toString(bool skipEmptyFields=false) const
Enum
Used to indicate what an Execution Report represents.
Definition Fields.h:1871
Enum
Identifies the code of reject negotiation.
Definition Fields.h:1179
Null values definition for optional Percentage8Optional field.
Definition Composites.h:430
Null values definition for optional PriceOffsetOptional field.
Definition Composites.h:351
Null values definition for optional UTCTimestampNanosOptional field.
Definition Composites.h:649
Enum
Identifies current status of order.
Definition Fields.h:1693
static std::string toString(Enum)
static std::string toString(Enum)
Enum
Defines the type of interest behind a trade i.e. why a trade occurred.
Definition Fields.h:1899
Enum
Maintenance Action to be performed.
Definition Fields.h:897
Enum
Status of Position Maintenance Request.
Definition Fields.h:813
Enum
Identifies the type of position transaction.
Definition Fields.h:869
Enum
Used to identify the type of quantity.
Definition Fields.h:645
static std::string toString(Enum)
Enum
Indicates that message may contain information that has been sent under another sequence number.
Definition Fields.h:1995
Enum
Identifies the type of quote cancel.
Definition Fields.h:623
Enum
Identifies the type of request that a Quote Status Report is in response to.
Definition Fields.h:592
Enum
Identifies the status of the quote acknowledgement.
Definition Fields.h:552
Enum
Identifies the code of reject retransmission.
Definition Fields.h:1377
Enum
Indicates additional order instruction.
Definition Fields.h:1637
Enum
Identifies the class of the SecurityID.
Definition Fields.h:2020
Enum
Type of Security Definition message response.
Definition Fields.h:785
Enum
Identifier for the instrument status.
Definition Fields.h:2135
Enum
Indicates which order should be cancelled due to self-trade prevention.
Definition Fields.h:950
Enum
Indicates who in the contract has control over evoking settlement.
Definition Fields.h:922
static std::string toString(Enum)
static std::string toString(Enum)
Enum
Valid order type for simple orders.
Definition Fields.h:1587
Enum
Specifies how long the order remains in effect.
Definition Fields.h:1519
Enum
Identifies the code of termination.
Definition Fields.h:1301
std::string toString(bool skipEmptyFields=false) const
Enum
Specifies how long the order remains in effect.
Definition Fields.h:1479
Enum
Unit of time used for measurement.
Definition Fields.h:981
static std::string toString(Enum)
Enum
Identifier for Trading Session.
Definition Fields.h:2073
Enum
Identifier for the instrument group phase.
Definition Fields.h:2098
static bool isEmpty(const UTCTimestampNanosOptional &obj)
static bool isEmpty(const std::string &value)