OnixS C++ B3 Binary UMDF Market Data Handler 1.10.0
Users' manual and API documentation
Loading...
Searching...
No Matches
MessageSerialization.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
26
27
29
30// Market Data Serialization.
31
34void
36 std::string& str,
37 const SequenceReset_1& obj);
38
39
41inline
42std::string
44 const SequenceReset_1& obj)
45{
46 std::string str;
47
48 toStr(str, obj);
49
50 return str;
51}
52
54inline
55std::ostream&
57 std::ostream& stream,
58 const SequenceReset_1& obj)
59{
60 std::string str;
61
62 toStr(str, obj);
63
64 return stream << str;
65}
66
67inline std::string SequenceReset_1::toString() const
68{
69 return toStr(*this);
70}
73void
75 std::string& str,
76 const SequenceReset_1& obj);
77
78
81void
83 std::string& str,
84 const Sequence_2& obj);
85
86
88inline std::string toStr(const Sequence_2& obj)
89{
90 std::string str;
91
92 toStr(str, obj);
93
94 return str;
95}
96
98inline
99std::ostream&
101 std::ostream& stream,
102 const Sequence_2& obj)
103{
104 std::string str;
105
106 toStr(str, obj);
107
108 return stream << str;
109}
110
111inline std::string Sequence_2::toString() const
112{
113 return toStr(*this);
114}
117void
119 std::string& str,
120 const Sequence_2& obj);
121
122
125void
127 std::string& str,
128 const EmptyBook_9& obj);
129
130
132inline std::string toStr(const EmptyBook_9& obj)
133{
134 std::string str;
135
136 toStr(str, obj);
137
138 return str;
139}
140
142inline
143std::ostream&
145 std::ostream& stream,
146 const EmptyBook_9& obj)
147{
148 std::string str;
149
150 toStr(str, obj);
151
152 return stream << str;
153}
154
155inline std::string EmptyBook_9::toString() const
156{
157 return toStr(*this);
158}
161void
163 std::string& str,
164 const EmptyBook_9& obj);
165
166
169void
171 std::string& str,
172 const ChannelReset_11& obj);
173
174
176inline
177std::string
179 const ChannelReset_11& obj)
180{
181 std::string str;
182
183 toStr(str, obj);
184
185 return str;
186}
187
189inline
190std::ostream&
192 std::ostream& stream,
193 const ChannelReset_11& obj)
194{
195 std::string str;
196
197 toStr(str, obj);
198
199 return stream << str;
200}
201
202inline std::string ChannelReset_11::toString() const
203{
204 return toStr(*this);
205}
208void
210 std::string& str,
211 const ChannelReset_11& obj);
212
213
216void
218 std::string& str,
219 const SecurityStatus_3& obj);
220
221
223inline
224std::string
226 const SecurityStatus_3& obj)
227{
228 std::string str;
229
230 toStr(str, obj);
231
232 return str;
233}
234
236inline
237std::ostream&
239 std::ostream& stream,
240 const SecurityStatus_3& obj)
241{
242 std::string str;
243
244 toStr(str, obj);
245
246 return stream << str;
247}
248
249inline std::string SecurityStatus_3::toString() const
250{
251 return toStr(*this);
252}
255void
257 std::string& str,
258 const SecurityStatus_3& obj);
259
260
263void
265 std::string& str,
266 const SecurityGroupPhase_10& obj);
267
268
270inline
271std::string
273 const SecurityGroupPhase_10& obj)
274{
275 std::string str;
276
277 toStr(str, obj);
278
279 return str;
280}
281
283inline
284std::ostream&
286 std::ostream& stream,
287 const SecurityGroupPhase_10& obj)
288{
289 std::string str;
290
291 toStr(str, obj);
292
293 return stream << str;
294}
295
296inline std::string SecurityGroupPhase_10::toString() const
297{
298 return toStr(*this);
299}
302void
304 std::string& str,
305 const SecurityGroupPhase_10& obj);
306
307
310void
312 std::string& str,
313 const SecurityDefinition_12& obj);
314
315
317inline
318std::string
320 const SecurityDefinition_12& obj)
321{
322 std::string str;
323
324 toStr(str, obj);
325
326 return str;
327}
328
330inline
331std::ostream&
333 std::ostream& stream,
334 const SecurityDefinition_12& obj)
335{
336 std::string str;
337
338 toStr(str, obj);
339
340 return stream << str;
341}
342
343inline std::string SecurityDefinition_12::toString() const
344{
345 return toStr(*this);
346}
349void
351 std::string& str,
352 const SecurityDefinition_12& obj);
353
354
357void
359 std::string& str,
361
363inline
364std::string
367{
368 std::string str;
369
370 toStr(str, obj);
371
372 return str;
373}
374
376inline
377std::ostream&
379 std::ostream& stream,
381{
382 std::string str;
383
384 toStr(str, obj);
385
386 return stream << str;
387}
388
391void
393 std::string& str,
395
397inline
398std::string
401{
402 std::string str;
403
404 toStr(str, obj);
405
406 return str;
407}
408
410inline
411std::ostream&
413 std::ostream& stream,
415{
416 std::string str;
417
418 toStr(str, obj);
419
420 return stream << str;
421}
422
425void
427 std::string& str,
429
431inline
432std::string
435{
436 std::string str;
437
438 toStr(str, obj);
439
440 return str;
441}
442
444inline
445std::ostream&
447 std::ostream& stream,
449{
450 std::string str;
451
452 toStr(str, obj);
453
454 return stream << str;
455}
456
459void
461 std::string& str,
462 const News_5& obj);
463
464
466inline std::string toStr(const News_5& obj)
467{
468 std::string str;
469
470 toStr(str, obj);
471
472 return str;
473}
474
476inline
477std::ostream&
479 std::ostream& stream,
480 const News_5& obj)
481{
482 std::string str;
483
484 toStr(str, obj);
485
486 return stream << str;
487}
488
489inline std::string News_5::toString() const
490{
491 return toStr(*this);
492}
495void
497 std::string& str,
498 const News_5& obj);
499
500
503void
505 std::string& str,
506 const OpeningPrice_15& obj);
507
508
510inline
511std::string
513 const OpeningPrice_15& obj)
514{
515 std::string str;
516
517 toStr(str, obj);
518
519 return str;
520}
521
523inline
524std::ostream&
526 std::ostream& stream,
527 const OpeningPrice_15& obj)
528{
529 std::string str;
530
531 toStr(str, obj);
532
533 return stream << str;
534}
535
536inline std::string OpeningPrice_15::toString() const
537{
538 return toStr(*this);
539}
542void
544 std::string& str,
545 const OpeningPrice_15& obj);
546
547
550void
552 std::string& str,
553 const TheoreticalOpeningPrice_16& obj);
554
555
557inline
558std::string
561{
562 std::string str;
563
564 toStr(str, obj);
565
566 return str;
567}
568
570inline
571std::ostream&
573 std::ostream& stream,
575{
576 std::string str;
577
578 toStr(str, obj);
579
580 return stream << str;
581}
582
583inline std::string TheoreticalOpeningPrice_16::toString() const
584{
585 return toStr(*this);
586}
589void
591 std::string& str,
592 const TheoreticalOpeningPrice_16& obj);
593
594
597void
599 std::string& str,
600 const ClosingPrice_17& obj);
601
602
604inline
605std::string
607 const ClosingPrice_17& obj)
608{
609 std::string str;
610
611 toStr(str, obj);
612
613 return str;
614}
615
617inline
618std::ostream&
620 std::ostream& stream,
621 const ClosingPrice_17& obj)
622{
623 std::string str;
624
625 toStr(str, obj);
626
627 return stream << str;
628}
629
630inline std::string ClosingPrice_17::toString() const
631{
632 return toStr(*this);
633}
636void
638 std::string& str,
639 const ClosingPrice_17& obj);
640
641
644void
646 std::string& str,
647 const AuctionImbalance_19& obj);
648
649
651inline
652std::string
654 const AuctionImbalance_19& obj)
655{
656 std::string str;
657
658 toStr(str, obj);
659
660 return str;
661}
662
664inline
665std::ostream&
667 std::ostream& stream,
668 const AuctionImbalance_19& obj)
669{
670 std::string str;
671
672 toStr(str, obj);
673
674 return stream << str;
675}
676
677inline std::string AuctionImbalance_19::toString() const
678{
679 return toStr(*this);
680}
683void
685 std::string& str,
686 const AuctionImbalance_19& obj);
687
688
691void
693 std::string& str,
694 const QuantityBand_21& obj);
695
696
698inline
699std::string
701 const QuantityBand_21& obj)
702{
703 std::string str;
704
705 toStr(str, obj);
706
707 return str;
708}
709
711inline
712std::ostream&
714 std::ostream& stream,
715 const QuantityBand_21& obj)
716{
717 std::string str;
718
719 toStr(str, obj);
720
721 return stream << str;
722}
723
724inline std::string QuantityBand_21::toString() const
725{
726 return toStr(*this);
727}
730void
732 std::string& str,
733 const QuantityBand_21& obj);
734
735
738void
740 std::string& str,
741 const PriceBand_22& obj);
742
743
745inline std::string toStr(const PriceBand_22& obj)
746{
747 std::string str;
748
749 toStr(str, obj);
750
751 return str;
752}
753
755inline
756std::ostream&
758 std::ostream& stream,
759 const PriceBand_22& obj)
760{
761 std::string str;
762
763 toStr(str, obj);
764
765 return stream << str;
766}
767
768inline std::string PriceBand_22::toString() const
769{
770 return toStr(*this);
771}
774void
776 std::string& str,
777 const PriceBand_22& obj);
778
779
782void
784 std::string& str,
785 const HighPrice_24& obj);
786
787
789inline std::string toStr(const HighPrice_24& obj)
790{
791 std::string str;
792
793 toStr(str, obj);
794
795 return str;
796}
797
799inline
800std::ostream&
802 std::ostream& stream,
803 const HighPrice_24& obj)
804{
805 std::string str;
806
807 toStr(str, obj);
808
809 return stream << str;
810}
811
812inline std::string HighPrice_24::toString() const
813{
814 return toStr(*this);
815}
818void
820 std::string& str,
821 const HighPrice_24& obj);
822
823
826void
828 std::string& str,
829 const LowPrice_25& obj);
830
831
833inline std::string toStr(const LowPrice_25& obj)
834{
835 std::string str;
836
837 toStr(str, obj);
838
839 return str;
840}
841
843inline
844std::ostream&
846 std::ostream& stream,
847 const LowPrice_25& obj)
848{
849 std::string str;
850
851 toStr(str, obj);
852
853 return stream << str;
854}
855
856inline std::string LowPrice_25::toString() const
857{
858 return toStr(*this);
859}
862void
864 std::string& str,
865 const LowPrice_25& obj);
866
867
870void
872 std::string& str,
873 const LastTradePrice_27& obj);
874
875
877inline
878std::string
880 const LastTradePrice_27& obj)
881{
882 std::string str;
883
884 toStr(str, obj);
885
886 return str;
887}
888
890inline
891std::ostream&
893 std::ostream& stream,
894 const LastTradePrice_27& obj)
895{
896 std::string str;
897
898 toStr(str, obj);
899
900 return stream << str;
901}
902
903inline std::string LastTradePrice_27::toString() const
904{
905 return toStr(*this);
906}
909void
911 std::string& str,
912 const LastTradePrice_27& obj);
913
914
917void
919 std::string& str,
920 const SettlementPrice_28& obj);
921
922
924inline
925std::string
927 const SettlementPrice_28& obj)
928{
929 std::string str;
930
931 toStr(str, obj);
932
933 return str;
934}
935
937inline
938std::ostream&
940 std::ostream& stream,
941 const SettlementPrice_28& obj)
942{
943 std::string str;
944
945 toStr(str, obj);
946
947 return stream << str;
948}
949
950inline std::string SettlementPrice_28::toString() const
951{
952 return toStr(*this);
953}
956void
958 std::string& str,
959 const SettlementPrice_28& obj);
960
961
964void
966 std::string& str,
967 const OpenInterest_29& obj);
968
969
971inline
972std::string
974 const OpenInterest_29& obj)
975{
976 std::string str;
977
978 toStr(str, obj);
979
980 return str;
981}
982
984inline
985std::ostream&
987 std::ostream& stream,
988 const OpenInterest_29& obj)
989{
990 std::string str;
991
992 toStr(str, obj);
993
994 return stream << str;
995}
996
997inline std::string OpenInterest_29::toString() const
998{
999 return toStr(*this);
1000}
1003void
1005 std::string& str,
1006 const OpenInterest_29& obj);
1007
1008
1011void
1013 std::string& str,
1015
1016
1018inline
1019std::string
1022{
1023 std::string str;
1024
1025 toStr(str, obj);
1026
1027 return str;
1028}
1029
1031inline
1032std::ostream&
1034 std::ostream& stream,
1036{
1037 std::string str;
1038
1039 toStr(str, obj);
1040
1041 return stream << str;
1042}
1043
1044inline std::string SnapshotFullRefresh_Header_30::toString() const
1045{
1046 return toStr(*this);
1047}
1050void
1052 std::string& str,
1054
1055
1058void
1060 std::string& str,
1061 const Order_MBO_50& obj);
1062
1063
1065inline std::string toStr(const Order_MBO_50& obj)
1066{
1067 std::string str;
1068
1069 toStr(str, obj);
1070
1071 return str;
1072}
1073
1075inline
1076std::ostream&
1078 std::ostream& stream,
1079 const Order_MBO_50& obj)
1080{
1081 std::string str;
1082
1083 toStr(str, obj);
1084
1085 return stream << str;
1086}
1087
1088inline std::string Order_MBO_50::toString() const
1089{
1090 return toStr(*this);
1091}
1094void
1096 std::string& str,
1097 const Order_MBO_50& obj);
1098
1099
1102void
1104 std::string& str,
1105 const DeleteOrder_MBO_51& obj);
1106
1107
1109inline
1110std::string
1112 const DeleteOrder_MBO_51& obj)
1113{
1114 std::string str;
1115
1116 toStr(str, obj);
1117
1118 return str;
1119}
1120
1122inline
1123std::ostream&
1125 std::ostream& stream,
1126 const DeleteOrder_MBO_51& obj)
1127{
1128 std::string str;
1129
1130 toStr(str, obj);
1131
1132 return stream << str;
1133}
1134
1135inline std::string DeleteOrder_MBO_51::toString() const
1136{
1137 return toStr(*this);
1138}
1141void
1143 std::string& str,
1144 const DeleteOrder_MBO_51& obj);
1145
1146
1149void
1151 std::string& str,
1152 const MassDeleteOrders_MBO_52& obj);
1153
1154
1156inline
1157std::string
1159 const MassDeleteOrders_MBO_52& obj)
1160{
1161 std::string str;
1162
1163 toStr(str, obj);
1164
1165 return str;
1166}
1167
1169inline
1170std::ostream&
1172 std::ostream& stream,
1173 const MassDeleteOrders_MBO_52& obj)
1174{
1175 std::string str;
1176
1177 toStr(str, obj);
1178
1179 return stream << str;
1180}
1181
1182inline std::string MassDeleteOrders_MBO_52::toString() const
1183{
1184 return toStr(*this);
1185}
1188void
1190 std::string& str,
1191 const MassDeleteOrders_MBO_52& obj);
1192
1193
1196void
1198 std::string& str,
1199 const Trade_53& obj);
1200
1201
1203inline std::string toStr(const Trade_53& obj)
1204{
1205 std::string str;
1206
1207 toStr(str, obj);
1208
1209 return str;
1210}
1211
1213inline
1214std::ostream&
1216 std::ostream& stream,
1217 const Trade_53& obj)
1218{
1219 std::string str;
1220
1221 toStr(str, obj);
1222
1223 return stream << str;
1224}
1225
1226inline std::string Trade_53::toString() const
1227{
1228 return toStr(*this);
1229}
1232void
1234 std::string& str,
1235 const Trade_53& obj);
1236
1237
1240void
1242 std::string& str,
1243 const ForwardTrade_54& obj);
1244
1245
1247inline
1248std::string
1250 const ForwardTrade_54& obj)
1251{
1252 std::string str;
1253
1254 toStr(str, obj);
1255
1256 return str;
1257}
1258
1260inline
1261std::ostream&
1263 std::ostream& stream,
1264 const ForwardTrade_54& obj)
1265{
1266 std::string str;
1267
1268 toStr(str, obj);
1269
1270 return stream << str;
1271}
1272
1273inline std::string ForwardTrade_54::toString() const
1274{
1275 return toStr(*this);
1276}
1279void
1281 std::string& str,
1282 const ForwardTrade_54& obj);
1283
1284
1287void
1289 std::string& str,
1290 const ExecutionSummary_55& obj);
1291
1292
1294inline
1295std::string
1297 const ExecutionSummary_55& obj)
1298{
1299 std::string str;
1300
1301 toStr(str, obj);
1302
1303 return str;
1304}
1305
1307inline
1308std::ostream&
1310 std::ostream& stream,
1311 const ExecutionSummary_55& obj)
1312{
1313 std::string str;
1314
1315 toStr(str, obj);
1316
1317 return stream << str;
1318}
1319
1320inline std::string ExecutionSummary_55::toString() const
1321{
1322 return toStr(*this);
1323}
1326void
1328 std::string& str,
1329 const ExecutionSummary_55& obj);
1330
1331
1334void
1336 std::string& str,
1337 const ExecutionStatistics_56& obj);
1338
1339
1341inline
1342std::string
1344 const ExecutionStatistics_56& obj)
1345{
1346 std::string str;
1347
1348 toStr(str, obj);
1349
1350 return str;
1351}
1352
1354inline
1355std::ostream&
1357 std::ostream& stream,
1358 const ExecutionStatistics_56& obj)
1359{
1360 std::string str;
1361
1362 toStr(str, obj);
1363
1364 return stream << str;
1365}
1366
1367inline std::string ExecutionStatistics_56::toString() const
1368{
1369 return toStr(*this);
1370}
1373void
1375 std::string& str,
1376 const ExecutionStatistics_56& obj);
1377
1378
1381void
1383 std::string& str,
1384 const TradeBust_57& obj);
1385
1386
1388inline std::string toStr(const TradeBust_57& obj)
1389{
1390 std::string str;
1391
1392 toStr(str, obj);
1393
1394 return str;
1395}
1396
1398inline
1399std::ostream&
1401 std::ostream& stream,
1402 const TradeBust_57& obj)
1403{
1404 std::string str;
1405
1406 toStr(str, obj);
1407
1408 return stream << str;
1409}
1410
1411inline std::string TradeBust_57::toString() const
1412{
1413 return toStr(*this);
1414}
1417void
1419 std::string& str,
1420 const TradeBust_57& obj);
1421
1422
1425void
1427 std::string& str,
1429
1430
1432inline
1433std::string
1436{
1437 std::string str;
1438
1439 toStr(str, obj);
1440
1441 return str;
1442}
1443
1445inline
1446std::ostream&
1448 std::ostream& stream,
1450{
1451 std::string str;
1452
1453 toStr(str, obj);
1454
1455 return stream << str;
1456}
1457
1458inline std::string SnapshotFullRefresh_Orders_MBO_71::toString() const
1459{
1460 return toStr(*this);
1461}
1464void
1466 std::string& str,
1468
1469
1472void
1474 std::string& str,
1476
1478inline
1479std::string
1482{
1483 std::string str;
1484
1485 toStr(str, obj);
1486
1487 return str;
1488}
1489
1491inline
1492std::ostream&
1494 std::ostream& stream,
1496{
1497 std::string str;
1498
1499 toStr(str, obj);
1500
1501 return stream << str;
1502}
1503
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_END
Definition ABI.h:158
#define ONIXS_B3_UMDF_MD_EXPORTED
Definition ABI.h:37
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_BEGIN
Definition ABI.h:153
std::ostream & operator<<(std::ostream &stream, const FixedPointDecimal< Mantissa, Exponent > &value)
Serializes into a stream.
void toStr(std::string &str, Char character)
Appends the character to the given std::string instance.
Definition String.h:34
ONIXS_B3_UMDF_MD_API void toFix(std::string &str, const SequenceReset_1 &obj)
Serializes the object into FIX presentation.
void toStr(std::string &str, TimeSpan timeSpan, TimeSpanFormat::Enum format=TimeSpanFormat::SDHHMMSSnsec)
Appends timespan formatted in specified pattern to given string.
Definition Time.h:400
Carries auction imbalance information, indicating the remaining quantity and to which side (buyer or ...
Definition Messages.h:3748
Channel Reset (remove all instruments, empty all books and statistics).
Definition Messages.h:596
Summary information about closing trading sessions per market data stream.
Definition Messages.h:3460
Disseminates the deletion of a new order.
Definition Messages.h:6576
Market Data Incremental Refresh - Empty Book.
Definition Messages.h:369
Relays execution summary statistics information on one instrument.
Definition Messages.h:8063
Relays execution summary information on one instrument.
Definition Messages.h:7774
Relays trade information on one Forward instrument.
Definition Messages.h:7419
The highest price traded for the security in the trading session.
Definition Messages.h:4580
The latest price traded for the security in the trading session.
Definition Messages.h:5092
The lowest price traded for the security in the trading session.
Definition Messages.h:4836
Conveys market information of B3 market surveillance notifications and news produced by agencies.
Definition Messages.h:2556
Total number of contracts in a commodity or options market that are still open.
Definition Messages.h:5735
Carries the summary information about opening trading session events per market data stream.
Definition Messages.h:2901
Disseminates the creation or modification of a new order.
Definition Messages.h:6262
Specifies the number of the application ID occurrences (number of channels).
Definition Messages.h:1586
Used to reset the incremental stream or indicate the loop on instrument definition or snapshot recove...
Definition Messages.h:41
Sent in incremental, snapshot and instrument list feeds in periods of no activity.
Definition Messages.h:204
Settlement price or the previous day’s adjusted closing price.
Definition Messages.h:5446
Header for the snapshot of a single instrument.
Definition Messages.h:5993
Partial list of orders for the snapshot of a single instrument.
Definition Messages.h:8651
The theoretical opening price is also sent on this block and is calculated and updated based on the o...
Definition Messages.h:3184
Relays trade bust (trade reversal) information on one instrument.
Definition Messages.h:8361
Relays trade information on one instrument.
Definition Messages.h:7088