summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/Version.inl
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Version.inl')
-rw-r--r--src/3rdparty/angle/src/libANGLE/Version.inl38
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