Files
HMCL/HMCLauncher/HMCL/Version.h

32 lines
635 B
C
Raw Normal View History

2019-02-08 22:05:16 +08:00
#pragma once
#include <string>
2021-05-30 02:42:39 +08:00
class Version {
public:
int ver[4];
2019-02-08 22:05:16 +08:00
2021-05-30 02:42:39 +08:00
Version(const std::wstring &rawString);
2019-02-08 22:05:16 +08:00
2021-05-30 02:42:39 +08:00
template <typename T>
Version(std::initializer_list<T> ver_list) {
int i = 0;
for (const auto &data : ver_list) {
if (i >= 4) break;
ver[i++] = data;
}
}
2021-05-30 02:42:39 +08:00
bool operator<(const Version &other) const {
for (int i = 0; i < 4; ++i)
if (ver[i] != other.ver[i]) return ver[i] < other.ver[i];
return false;
}
2021-05-30 02:42:39 +08:00
bool operator<=(const Version &other) const {
for (int i = 0; i < 4; ++i)
if (ver[i] != other.ver[i]) return ver[i] < other.ver[i];
return true;
}
2019-02-08 22:05:16 +08:00
};