9 #ifndef FAIR_MQ_TOOLS_VERSION_H
10 #define FAIR_MQ_TOOLS_VERSION_H
15 namespace fair::mq::tools
20 const int fkMajor, fkMinor, fkPatch;
22 friend auto operator< (
const Version& lhs,
const Version& rhs) ->
bool {
return std::tie(lhs.fkMajor, lhs.fkMinor, lhs.fkPatch) < std::tie(rhs.fkMajor, rhs.fkMinor, rhs.fkPatch); }
23 friend auto operator> (
const Version& lhs,
const Version& rhs) ->
bool {
return rhs < lhs; }
24 friend auto operator<=(
const Version& lhs,
const Version& rhs) ->
bool {
return !(lhs > rhs); }
25 friend auto operator>=(
const Version& lhs,
const Version& rhs) ->
bool {
return !(lhs < rhs); }
26 friend auto operator==(
const Version& lhs,
const Version& rhs) ->
bool {
return std::tie(lhs.fkMajor, lhs.fkMinor, lhs.fkPatch) == std::tie(rhs.fkMajor, rhs.fkMinor, rhs.fkPatch); }
27 friend auto operator!=(
const Version& lhs,
const Version& rhs) ->
bool {
return !(lhs == rhs); }
28 friend auto operator<<(std::ostream& os,
const Version& v) -> std::ostream& {
return os << v.fkMajor <<
"." << v.fkMinor <<
"." << v.fkPatch; }