7#ifndef MYGUI_VERSION_H_
8#define MYGUI_VERSION_H_
20 Version(uint8_t _major = 0, uint8_t _minor = 0, uint16_t _patch = 0) :
29 return (a.mMajor < b.mMajor) ? true : (a.mMinor < b.mMinor);
49 return !(a < b) && !(a > b);
59 _stream << _value.
print();
67 _value = parse(value);
89 return utility::toString(mMajor,
".", mMinor);
90 return utility::toString(mMajor,
".", mMinor,
".", mPatch);
95 const std::vector<std::string>& vec = utility::split(_value,
".");
99 uint8_t major = utility::parseValue<uint8_t>(vec[0]);
100 uint8_t minor = vec.size() > 1 ? utility::parseValue<uint8_t>(vec[1]) : 0;
101 uint16_t patch = vec.size() > 2 ? utility::parseValue<uint16_t>(vec[2]) : 0;
103 return {major, minor, patch};
friend bool operator!=(Version const &a, Version const &b)
friend bool operator<=(Version const &a, Version const &b)
friend bool operator>=(Version const &a, Version const &b)
friend std::ostream & operator<<(std::ostream &_stream, const Version &_value)
friend bool operator<(Version const &a, Version const &b)
friend bool operator>(Version const &a, Version const &b)
uint16_t getPatch() const
Version(uint8_t _major=0, uint8_t _minor=0, uint16_t _patch=0)
std::string print() const
friend std::istream & operator>>(std::istream &_stream, Version &_value)
static Version parse(std::string_view _value)
friend bool operator==(Version const &a, Version const &b)