1 #ifndef jb_itch5_base_decoders_hpp 2 #define jb_itch5_base_decoders_hpp 11 template <
bool val
idate>
14 static std::uint8_t
r(std::size_t
size,
void const* msg, std::size_t offset) {
15 check_offset<validate>(
"std::uint8_t",
size, offset, 1);
16 return static_cast<std::uint8_t const*
>(msg)[offset];
21 template <
bool val
idate>
25 r(std::size_t
size,
void const* msg, std::size_t offset) {
26 check_offset<validate>(
"std::uint16_t",
size, offset, 2);
29 return std::uint16_t(hi) << 8 | lo;
34 template <
bool val
idate>
38 r(std::size_t
size,
void const* msg, std::size_t offset) {
39 check_offset<validate>(
"std::uint32_t",
size, offset, 4);
42 return std::uint32_t(hi) << 16 | lo;
47 template <
bool val
idate>
51 r(std::size_t
size,
void const* msg, std::size_t offset) {
52 check_offset<validate>(
"std::uint32_t",
size, offset, 8);
55 return std::uint64_t(hi) << 32 | lo;
62 #endif // jb_itch5_base_decoders_hpp
static T r(std::size_t size, void const *msg, std::size_t offset)
Read a single message or field.
static std::uint16_t r(std::size_t size, void const *msg, std::size_t offset)
Please see the generic documentation for jb::itch5::decoder<>::r()
static std::uint32_t r(std::size_t size, void const *msg, std::size_t offset)
Please see the generic documentation for jb::itch5::decoder<>::r()
static std::uint8_t r(std::size_t size, void const *msg, std::size_t offset)
Please see the generic documentation for jb::itch5::decoder<>::r()
Define the interface to decode ITCH-5.0 messages and message fields.
static std::uint64_t r(std::size_t size, void const *msg, std::size_t offset)
Please see the generic documentation for jb::itch5::decoder<>::r()
The top-level namespace for the JayBeams library.