aboutsummaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/data/vector2.cpp20
-rw-r--r--src/engine/data/vector2.hpp5
2 files changed, 25 insertions, 0 deletions
diff --git a/src/engine/data/vector2.cpp b/src/engine/data/vector2.cpp
index 84986bd..80fc43c 100644
--- a/src/engine/data/vector2.cpp
+++ b/src/engine/data/vector2.cpp
@@ -82,11 +82,31 @@ auto Vector2::operator==(const Vector2 &rhs) const noexcept -> bool
return _x == rhs._x && _y == rhs._y;
}
+auto Vector2::operator!=(const Vector2 &rhs) const noexcept -> bool
+{
+ return !(*this == rhs);
+}
+
auto Vector2::operator<(const Vector2 &rhs) const noexcept -> bool
{
return std::tie(_x, _y) < std::tie(rhs._x, rhs._y);
}
+auto Vector2::operator>(const Vector2 &rhs) const noexcept -> bool
+{
+ return std::tie(_x, _y) > std::tie(rhs._x, rhs._y);
+}
+
+auto Vector2::operator<=(const Vector2 &rhs) const noexcept -> bool
+{
+ return *this < rhs || *this == rhs;
+}
+
+auto Vector2::operator>=(const Vector2 &rhs) const noexcept -> bool
+{
+ return *this > rhs || *this == rhs;
+}
+
auto Vector2Hasher::operator()(const Vector2 &vector2) const noexcept -> std::size_t
{
std::size_t result_hash = 0;
diff --git a/src/engine/data/vector2.hpp b/src/engine/data/vector2.hpp
index 03c2562..da96e72 100644
--- a/src/engine/data/vector2.hpp
+++ b/src/engine/data/vector2.hpp
@@ -43,8 +43,13 @@ public:
auto operator*(const Vector2 &rhs) const noexcept -> Vector2;
auto operator==(const Vector2 &rhs) const noexcept -> bool;
+ auto operator!=(const Vector2 &rhs) const noexcept -> bool;
auto operator<(const Vector2 &rhs) const noexcept -> bool;
+ auto operator>(const Vector2 &rhs) const noexcept -> bool;
+
+ auto operator<=(const Vector2 &rhs) const noexcept -> bool;
+ auto operator>=(const Vector2 &rhs) const noexcept -> bool;
/**
* Returns Vector2({.x = 0, .y = 1})