39 Version(uint32_t major, uint32_t minor, uint32_t subminor, uint32_t patch);
95 return std::tie(other.m_major, other.m_minor, other.m_subminor, other.m_patch)
96 == std::tie(this->m_major, this->m_minor, this->m_subminor, this->m_patch);
109 return !(*
this == other);
124 return std::tie(this->m_major, this->m_minor, this->m_subminor, this->m_patch)
125 < std::tie(other.m_major, other.m_minor, other.m_subminor, other.m_patch);
138 return other < *
this;
152 return os << version.m_major <<
'.' << version.m_minor <<
'.' << version.m_subminor <<
'.' << version.m_patch;
164 std::ostringstream ss;
170 std::uint32_t m_major{};
171 std::uint32_t m_minor{};
172 std::uint32_t m_subminor{};
173 std::uint32_t m_patch{};
179 , m_subminor{ subminor }
Represents a structured version identifier with four components: major, minor, subminor,...
Version(uint32_t major, uint32_t minor, uint32_t subminor, uint32_t patch)
std::string ToString() const
Converts the version to its string representation (e.g., "1.2.3.4").
friend std::ostream & operator<<(std::ostream &os, Version version)
Outputs the version in dot-separated string format (e.g., "1.2.3.4").
uint32_t GetSubminor() const
Retrieves the subminor version component.
bool operator!=(const Version &other) const
Checks if two versions are not equal.
uint32_t GetPatch() const
Retrieves the patch version component.
bool operator>(const Version &other) const
Checks if this version is greater than another version.
uint32_t GetMajor() const
Retrieves the major version component.
uint32_t GetMinor() const
Retrieves the minor version component.
bool operator==(const Version &other) const
Checks if two versions are equal.
bool operator<(const Version &other) const
Checks if this version is less than another version.
#define PEAK_COMMON_NO_DISCARD
Compatability macro for the nodiscard attribute.