1 #ifndef jb_itch5_char_list_field_hpp 2 #define jb_itch5_char_list_field_hpp 7 #include <boost/operators.hpp> 23 :
public boost::less_than_comparable<char_list_field<V...>>,
24 public boost::less_than_comparable<char_list_field<V...>, int>,
25 public boost::equality_comparable<char_list_field<V...>>,
26 public boost::equality_comparable<char_list_field<V...>, int> {
78 template <
bool validate,
int... V>
82 r(std::size_t
size,
void const* buf, std::size_t offset) {
87 validator(tmp.as_int());
95 if (std::isprint(x.
as_int())) {
96 return os << static_cast<char>(x.
as_int());
98 return os <<
".(" << x.
as_int() <<
")";
104 #endif // jb_itch5_char_list_field_hpp
static T r(std::size_t size, void const *msg, std::size_t offset)
Read a single message or field.
static char_list_field< V... > r(std::size_t size, void const *buf, std::size_t offset)
Please see the generic documentation for jb::itch5::decoder<>::r()
bool operator<(int rhs) const
int value_
In-memory representation of the field (int).
A helper type to define char fields with a limited set of values.
bool operator==(int rhs) const
char_list_field(int x)
Constructor from an integer value.
Define the interface to decode ITCH-5.0 messages and message fields.
Define a functor to validate character fields with limited values.
std::ostream & operator<<(std::ostream &os, add_order_message const &x)
Streaming operator for jb::itch5::add_order_message.
bool operator<(char_list_field const &rhs) const
bool operator==(char_list_field const &rhs) const
char_list_field()
Default constructor.
The top-level namespace for the JayBeams library.
int as_int() const
Return the integer value.