Program Listing for File version.h
↰ Return to documentation for file (include/ros2_ouster/client/version.h)
#include <cstdint>
#include <string>
#pragma once
namespace ouster {
namespace util {
struct version
{
uint16_t major;
uint16_t minor;
uint16_t patch;
};
const version invalid_version = {0, 0, 0};
inline bool operator == (const version & u, const version & v) {
return u.major == v.major && u.minor == v.minor && u.patch == v.patch;
}
inline bool operator < (const version & u, const version & v) {
return (u.major < v.major) || (u.major == v.major && u.minor < v.minor) ||
(u.major == v.major && u.minor == v.minor && u.patch < v.patch);
}
inline bool operator <= (const version & u, const version & v) {
return u < v || u == v;
}
inline bool operator != (const version & u, const version & v) {return !(u == v);}
inline bool operator >= (const version & u, const version & v) {return !(u < v);}
inline bool operator > (const version & u, const version & v) {return !(u <= v);}
std::string to_string(const version & v);
version version_of_string(const std::string & s);
} // namespace util
} // namespace ouster