JayBeams  0.1
Another project to have fun coding.
order_executed_message.hpp
Go to the documentation of this file.
1 #ifndef jb_itch5_order_executed_message_hpp
2 #define jb_itch5_order_executed_message_hpp
3 
5 
6 namespace jb {
7 namespace itch5 {
8 
9 /**
10  * Represent an 'Order Executed' message in the ITCH-5.0 protocol.
11  */
13  constexpr static int message_type = u'E';
14 
16  std::uint64_t order_reference_number;
17  std::uint32_t executed_shares;
18  std::uint64_t match_number;
19 };
20 
21 /// Specialize decoder for a jb::itch5::order_executed_message
22 template <bool V>
24  /// Please see the generic documentation for jb::itch5::decoder<>::r()
26  r(std::size_t size, void const* buf, std::size_t off) {
28  x.header = decoder<V, message_header>::r(size, buf, off + 0);
30  decoder<V, std::uint64_t>::r(size, buf, off + 11);
31  x.executed_shares = decoder<V, std::uint32_t>::r(size, buf, off + 19);
32  x.match_number = decoder<V, std::uint64_t>::r(size, buf, off + 23);
33  return x;
34  }
35 };
36 
37 /// Streaming operator for jb::itch5::order_executed_message.
38 std::ostream& operator<<(std::ostream& os, order_executed_message const& x);
39 
40 } // namespace itch5
41 } // namespace jb
42 
43 #endif // jb_itch5_order_executed_message_hpp
Define the header common to all ITCH 5.0 messages.
static T r(std::size_t size, void const *msg, std::size_t offset)
Read a single message or field.
Represent an &#39;Order Executed&#39; message in the ITCH-5.0 protocol.
Define the interface to decode ITCH-5.0 messages and message fields.
Definition: decoder.hpp:24
static order_executed_message r(std::size_t size, void const *buf, std::size_t off)
Please see the generic documentation for jb::itch5::decoder<>::r()
std::ostream & operator<<(std::ostream &os, add_order_message const &x)
Streaming operator for jb::itch5::add_order_message.
The top-level namespace for the JayBeams library.
Definition: as_hhmmss.hpp:7