diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Version.inl')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/Version.inl | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Version.inl b/src/3rdparty/angle/src/libANGLE/Version.inl index f64f7cae77..c98054829e 100644 --- a/src/3rdparty/angle/src/libANGLE/Version.inl +++ b/src/3rdparty/angle/src/libANGLE/Version.inl @@ -6,28 +6,54 @@ // Version.inl: Encapsulation of a GL version. +#include <tuple> + namespace gl { -inline Version::Version() +constexpr Version::Version() : Version(0, 0) { } -inline Version::Version(GLuint major_, GLuint minor_) +// Avoid conflicts with linux system defines +#undef major +#undef minor + +constexpr Version::Version(unsigned int major_, unsigned int minor_) + : major(major_), + minor(minor_) { - major = major_; - minor = minor_; +} + +inline bool operator==(const Version &a, const Version &b) +{ + return std::tie(a.major, a.minor) == std::tie(b.major, b.minor); +} + +inline bool operator!=(const Version &a, const Version &b) +{ + return std::tie(a.major, a.minor) != std::tie(b.major, b.minor); } inline bool operator>=(const Version &a, const Version &b) { - return a.major > b.major || (a.major == b.major && a.minor >= b.minor); + return std::tie(a.major, a.minor) >= std::tie(b.major, b.minor); +} + +inline bool operator<=(const Version &a, const Version &b) +{ + return std::tie(a.major, a.minor) <= std::tie(b.major, b.minor); } inline bool operator<(const Version &a, const Version &b) { - return !(a >= b); + return std::tie(a.major, a.minor) < std::tie(b.major, b.minor); } +inline bool operator>(const Version &a, const Version &b) +{ + return std::tie(a.major, a.minor) > std::tie(b.major, b.minor); } + +} // namespace gl |