18 constexpr Version(
const uint8_t major_,
const uint8_t minor_,
const uint8_t patch_)
19 : major(major_), minor(minor_), patch(patch_) {}
21 constexpr Version(
const uint8_t major_,
const uint8_t minor_) : major(major_), minor(minor_), patch(0) {}
23 constexpr explicit Version(
const uint8_t major_) : major(major_), minor(0), patch(0) {}
25 std::string to_string()
const {
26 return std::to_string(major) +
"." + std::to_string(minor) +
"." + std::to_string(patch);
29 bool operator==(
const Version &r)
const {
30 return this->major == r.major && this->minor == r.minor && this->patch == r.patch;
33 bool operator!=(
const Version &r)
const {
34 return this->major != r.major || this->minor != r.minor || this->patch != r.patch;
37 operator bool()
const {
return major || minor || patch; }
40inline bool operator<(
const Version &l,
const Version &r) {
41 if (l.major != r.major)
42 return l.major < r.major;
43 if (l.minor != r.minor)
44 return l.minor < r.minor;
45 return l.patch < r.patch;
48inline bool operator>(
const Version &l,
const Version &r) {
return r < l; }
50inline bool operator<=(
const Version &l,
const Version &r) {
return !(r < l); }
52inline bool operator>=(
const Version &l,
const Version &r) {
return !(l < r); }
bool operator>=(const Version &l, const Version &r)
bool operator>(const Version &l, const Version &r)
bool operator<(const Version &l, const Version &r)
struct __attribute__((packed)) EntityClassifier
bool operator<=(const Version &l, const Version &r)