44
55#include " databento/enums.hpp"
66#include " databento/exceptions.hpp" // InvalidArgumentError
7+ #include " databento/fixed_price.hpp"
78#include " stream_op_helper.hpp"
89
910using databento::Record;
@@ -194,7 +195,7 @@ std::ostream& operator<<(std::ostream& stream, const Mbp1Msg& mbp_msg) {
194195 .SetSpacer (" \n " )
195196 .Build ()
196197 .AddField (" hd" , mbp_msg.hd )
197- .AddField (" price" , mbp_msg.price )
198+ .AddField (" price" , FixPx{ mbp_msg.price } )
198199 .AddField (" size" , mbp_msg.size )
199200 .AddField (" action" , mbp_msg.action )
200201 .AddField (" side" , mbp_msg.side )
@@ -219,7 +220,7 @@ std::ostream& operator<<(std::ostream& stream, const Mbp10Msg& mbp_msg) {
219220 .SetSpacer (" \n " )
220221 .Build ()
221222 .AddField (" hd" , mbp_msg.hd )
222- .AddField (" price" , mbp_msg.price )
223+ .AddField (" price" , FixPx{ mbp_msg.price } )
223224 .AddField (" size" , mbp_msg.size )
224225 .AddField (" action" , mbp_msg.action )
225226 .AddField (" side" , mbp_msg.side )
@@ -255,7 +256,7 @@ std::ostream& operator<<(std::ostream& stream, const MboMsg& mbo_msg) {
255256 .Build ()
256257 .AddField (" hd" , mbo_msg.hd )
257258 .AddField (" order_id" , mbo_msg.order_id )
258- .AddField (" price" , mbo_msg.price )
259+ .AddField (" price" , FixPx{ mbo_msg.price } )
259260 .AddField (" size" , mbo_msg.size )
260261 .AddField (" flags" , mbo_msg.flags )
261262 .AddField (" channel_id" , mbo_msg.channel_id )
@@ -272,8 +273,8 @@ std::ostream& operator<<(std::ostream& stream, const BidAskPair& ba_pair) {
272273 .SetSpacer (" " )
273274 .SetTypeName (" BidAskPair" )
274275 .Build ()
275- .AddField (" bid_px" , ba_pair.bid_px )
276- .AddField (" ask_px" , ba_pair.ask_px )
276+ .AddField (" bid_px" , FixPx{ ba_pair.bid_px } )
277+ .AddField (" ask_px" , FixPx{ ba_pair.ask_px } )
277278 .AddField (" bid_sz" , ba_pair.bid_sz )
278279 .AddField (" ask_sz" , ba_pair.ask_sz )
279280 .AddField (" bid_ct" , ba_pair.bid_ct )
@@ -289,7 +290,7 @@ std::ostream& operator<<(std::ostream& stream, const TradeMsg& trade_msg) {
289290 .SetTypeName (" TradeMsg" )
290291 .Build ()
291292 .AddField (" hd" , trade_msg.hd )
292- .AddField (" price" , trade_msg.price )
293+ .AddField (" price" , FixPx{ trade_msg.price } )
293294 .AddField (" size" , trade_msg.size )
294295 .AddField (" action" , trade_msg.action )
295296 .AddField (" side" , trade_msg.side )
@@ -309,10 +310,10 @@ std::ostream& operator<<(std::ostream& stream, const OhlcvMsg& ohlcv_msg) {
309310 .SetTypeName (" OhlcvMsg" )
310311 .Build ()
311312 .AddField (" hd" , ohlcv_msg.hd )
312- .AddField (" open" , ohlcv_msg.open )
313- .AddField (" high" , ohlcv_msg.high )
314- .AddField (" low" , ohlcv_msg.low )
315- .AddField (" close" , ohlcv_msg.close )
313+ .AddField (" open" , FixPx{ ohlcv_msg.open } )
314+ .AddField (" high" , FixPx{ ohlcv_msg.high } )
315+ .AddField (" low" , FixPx{ ohlcv_msg.low } )
316+ .AddField (" close" , FixPx{ ohlcv_msg.close } )
316317 .AddField (" volume" , ohlcv_msg.volume )
317318 .Finish ();
318319}
@@ -327,18 +328,18 @@ std::ostream& operator<<(std::ostream& stream,
327328 .Build ()
328329 .AddField (" hd" , instr_def_msg.hd )
329330 .AddField (" ts_recv" , instr_def_msg.ts_recv )
330- .AddField (" min_price_increment" , instr_def_msg.min_price_increment )
331+ .AddField (" min_price_increment" , FixPx{ instr_def_msg.min_price_increment } )
331332 .AddField (" display_factor" , instr_def_msg.display_factor )
332333 .AddField (" expiration" , instr_def_msg.expiration )
333334 .AddField (" activation" , instr_def_msg.activation )
334- .AddField (" high_limit_price" , instr_def_msg.high_limit_price )
335- .AddField (" low_limit_price" , instr_def_msg.low_limit_price )
336- .AddField (" max_price_variation" , instr_def_msg.max_price_variation )
335+ .AddField (" high_limit_price" , FixPx{ instr_def_msg.high_limit_price } )
336+ .AddField (" low_limit_price" , FixPx{ instr_def_msg.low_limit_price } )
337+ .AddField (" max_price_variation" , FixPx{ instr_def_msg.max_price_variation } )
337338 .AddField (" trading_reference_price" ,
338- instr_def_msg.trading_reference_price )
339+ FixPx{ instr_def_msg.trading_reference_price } )
339340 .AddField (" unit_of_measure_qty" , instr_def_msg.unit_of_measure_qty )
340341 .AddField (" min_price_increment_amount" ,
341- instr_def_msg.min_price_increment_amount )
342+ FixPx{ instr_def_msg.min_price_increment_amount } )
342343 .AddField (" price_ratio" , instr_def_msg.price_ratio )
343344 .AddField (" inst_attrib_value" , instr_def_msg.inst_attrib_value )
344345 .AddField (" underlying_id" , instr_def_msg.underlying_id )
@@ -373,7 +374,7 @@ std::ostream& operator<<(std::ostream& stream,
373374 .AddField (" underlying" , instr_def_msg.underlying )
374375 .AddField (" strike_price_currency" , instr_def_msg.strike_price_currency )
375376 .AddField (" instrument_class" , instr_def_msg.instrument_class )
376- .AddField (" strike_price" , instr_def_msg.strike_price )
377+ .AddField (" strike_price" , FixPx{ instr_def_msg.strike_price } )
377378 .AddField (" match_algorithm" , instr_def_msg.match_algorithm )
378379 .AddField (" md_security_trading_status" ,
379380 instr_def_msg.md_security_trading_status )
@@ -406,15 +407,15 @@ std::ostream& operator<<(std::ostream& stream,
406407 .Build ()
407408 .AddField (" hd" , imbalance_msg.hd )
408409 .AddField (" ts_recv" , imbalance_msg.ts_recv )
409- .AddField (" ref_price" , imbalance_msg.ref_price )
410+ .AddField (" ref_price" , FixPx{ imbalance_msg.ref_price } )
410411 .AddField (" auction_time" , imbalance_msg.auction_time )
411- .AddField (" cont_book_clr_price" , imbalance_msg.cont_book_clr_price )
412+ .AddField (" cont_book_clr_price" , FixPx{ imbalance_msg.cont_book_clr_price } )
412413 .AddField (" auct_interest_clr_price" ,
413- imbalance_msg.auct_interest_clr_price )
414- .AddField (" ssr_filling_price" , imbalance_msg.ssr_filling_price )
415- .AddField (" ind_match_price" , imbalance_msg.ind_match_price )
416- .AddField (" upper_collar" , imbalance_msg.upper_collar )
417- .AddField (" lower_collar" , imbalance_msg.lower_collar )
414+ FixPx{ imbalance_msg.auct_interest_clr_price } )
415+ .AddField (" ssr_filling_price" , FixPx{ imbalance_msg.ssr_filling_price } )
416+ .AddField (" ind_match_price" , FixPx{ imbalance_msg.ind_match_price } )
417+ .AddField (" upper_collar" , FixPx{ imbalance_msg.upper_collar } )
418+ .AddField (" lower_collar" , FixPx{ imbalance_msg.lower_collar } )
418419 .AddField (" paired_qty" , imbalance_msg.paired_qty )
419420 .AddField (" total_imbalance_qty" , imbalance_msg.total_imbalance_qty )
420421 .AddField (" market_imbalance_qty" , imbalance_msg.market_imbalance_qty )
0 commit comments