format ContentPackVersion
This commit is contained in:
parent
94989ce292
commit
f44747587f
@ -37,7 +37,8 @@ DependencyVersionOperator Version::string_to_operator(const std::string& op) {
|
||||
return DependencyVersionOperator::more_or_equal;
|
||||
else if (op == "<=" || op == "=<")
|
||||
return DependencyVersionOperator::less_or_equal;
|
||||
else return DependencyVersionOperator::equal;
|
||||
else
|
||||
return DependencyVersionOperator::equal;
|
||||
}
|
||||
|
||||
bool isNumber(const std::string& s) {
|
||||
@ -63,4 +64,4 @@ bool Version::matches_pattern(const std::string& version) {
|
||||
}
|
||||
|
||||
return parts.size() == 2 || parts.size() == 3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,49 +3,55 @@
|
||||
#include "content/ContentPack.hpp"
|
||||
|
||||
class Version {
|
||||
public:
|
||||
int major;
|
||||
int minor;
|
||||
int patch;
|
||||
public:
|
||||
int major;
|
||||
int minor;
|
||||
int patch;
|
||||
|
||||
Version(const std::string& version);
|
||||
|
||||
bool operator==(const Version& other) const {
|
||||
return major == other.major && minor == other.minor && patch == other.patch;
|
||||
Version(const std::string& version);
|
||||
|
||||
bool operator==(const Version& other) const {
|
||||
return major == other.major && minor == other.minor &&
|
||||
patch == other.patch;
|
||||
}
|
||||
|
||||
bool operator<(const Version& other) const {
|
||||
if (major != other.major) return major < other.major;
|
||||
if (minor != other.minor) return minor < other.minor;
|
||||
return patch < other.patch;
|
||||
}
|
||||
|
||||
bool operator>(const Version& other) const {
|
||||
return other < *this;
|
||||
}
|
||||
|
||||
bool operator>=(const Version& other) const {
|
||||
return !(*this < other);
|
||||
}
|
||||
|
||||
bool operator<=(const Version& other) const {
|
||||
return !(*this > other);
|
||||
}
|
||||
|
||||
bool process_operator(const std::string& op, const Version& other) const {
|
||||
auto dep_op = Version::string_to_operator(op);
|
||||
|
||||
switch (dep_op) {
|
||||
case DependencyVersionOperator::equal:
|
||||
return *this == other;
|
||||
case DependencyVersionOperator::more:
|
||||
return *this > other;
|
||||
case DependencyVersionOperator::less:
|
||||
return *this < other;
|
||||
case DependencyVersionOperator::less_or_equal:
|
||||
return *this <= other;
|
||||
case DependencyVersionOperator::more_or_equal:
|
||||
return *this >= other;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool operator<(const Version& other) const {
|
||||
if (major != other.major) return major < other.major;
|
||||
if (minor != other.minor) return minor < other.minor;
|
||||
return patch < other.patch;
|
||||
}
|
||||
|
||||
|
||||
bool operator>(const Version& other) const {
|
||||
return other < *this;
|
||||
}
|
||||
|
||||
bool operator>=(const Version& other) const {
|
||||
return !(*this < other);
|
||||
}
|
||||
|
||||
bool operator<=(const Version& other) const {
|
||||
return !(*this > other);
|
||||
}
|
||||
|
||||
bool process_operator(const std::string& op, const Version& other) const {
|
||||
auto dep_op = Version::string_to_operator(op);
|
||||
|
||||
switch(dep_op) {
|
||||
case DependencyVersionOperator::equal: return *this == other;
|
||||
case DependencyVersionOperator::more: return *this > other;
|
||||
case DependencyVersionOperator::less: return *this < other;
|
||||
case DependencyVersionOperator::less_or_equal: return *this <= other;
|
||||
case DependencyVersionOperator::more_or_equal: return *this >= other;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
static DependencyVersionOperator string_to_operator(const std::string& op);
|
||||
static bool matches_pattern(const std::string& version);
|
||||
};
|
||||
static DependencyVersionOperator string_to_operator(const std::string& op);
|
||||
static bool matches_pattern(const std::string& version);
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user