JayBeams  0.1
Another project to have fun coding.
process_iostream.hpp
Go to the documentation of this file.
1 #ifndef jb_itch5_process_iostream_hpp
2 #define jb_itch5_process_iostream_hpp
3 
5 
26 
27 namespace jb {
28 namespace itch5 {
29 
30 #define KNOWN_ITCH5_MESSAGES \
31  jb::itch5::add_order_message, jb::itch5::add_order_mpid_message, \
32  jb::itch5::broken_trade_message, jb::itch5::cross_trade_message, \
33  jb::itch5::ipo_quoting_period_update_message, \
34  jb::itch5::market_participant_position_message, \
35  jb::itch5::mwcb_breach_message, jb::itch5::mwcb_decline_level_message, \
36  jb::itch5::net_order_imbalance_indicator_message, \
37  jb::itch5::order_cancel_message, jb::itch5::order_delete_message, \
38  jb::itch5::order_executed_message, \
39  jb::itch5::order_executed_price_message, \
40  jb::itch5::order_replace_message, \
41  jb::itch5::reg_sho_restriction_message, \
42  jb::itch5::stock_directory_message, \
43  jb::itch5::stock_trading_action_message, \
44  jb::itch5::system_event_message, jb::itch5::trade_message
45 
46 /**
47  * Process an iostream of ITCH-5.0 messages.
48  *
49  * This is just a wrapper around jb::itch5::process_iostream_mlist()
50  * using all the messages in ITCH-5.0 as the allowed message list.
51  *
52  * Please see @ref jb::itch5::message_handler_concept for a detailed
53  * description of the message_handler requirements.
54  */
55 template <typename message_handler>
56 void process_iostream(std::istream& in, message_handler& handler) {
57  process_iostream_mlist<message_handler, KNOWN_ITCH5_MESSAGES>(in, handler);
58 }
59 
60 #undef KNOWN_ITCH5_MESSAGES
61 
62 } // namespace itch5
63 } // namespace jb
64 
65 #endif // jb_itch5_process_iostream_hpp
void process_iostream(std::istream &in, message_handler &handler)
Process an iostream of ITCH-5.0 messages.
The top-level namespace for the JayBeams library.
Definition: as_hhmmss.hpp:7