From 3a24ec6e5b5236ad6b943548b9948603e053559d Mon Sep 17 00:00:00 2001
From: HampusM <hampus@hampusmat.com>
Date: Tue, 8 Mar 2022 16:20:41 +0100
Subject: refactor: improve vector2 data type & methods

---
 src/engine/data/vector2.cpp | 18 +++++++++---------
 src/engine/data/vector2.hpp | 24 +++++++++++++-----------
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/src/engine/data/vector2.cpp b/src/engine/data/vector2.cpp
index c182fba..f91afa8 100644
--- a/src/engine/data/vector2.cpp
+++ b/src/engine/data/vector2.cpp
@@ -4,22 +4,22 @@
 
 Vector2::Vector2(const Vector2Options &options) : _x(options.x), _y(options.y) {}
 
-int32_t Vector2::get_x() const noexcept
+Vector2::Value Vector2::get_x() const noexcept
 {
 	return _x;
 }
 
-void Vector2::set_x(int32_t x) noexcept
+void Vector2::set_x(Vector2::Value x) noexcept
 {
 	_x = x;
 }
 
-int32_t Vector2::get_y() const noexcept
+Vector2::Value Vector2::get_y() const noexcept
 {
 	return _y;
 }
 
-void Vector2::set_y(int32_t y) noexcept
+void Vector2::set_y(Vector2::Value y) noexcept
 {
 	_y = y;
 }
@@ -45,27 +45,27 @@ bool Vector2::operator==(const Vector2 &vector2) const noexcept
 	return _x == vector2._x && _y == vector2._y;
 }
 
-Vector2 Vector2::up()
+Vector2 Vector2::up() noexcept
 {
 	return Vector2({.x = 0, .y = 1});
 }
 
-Vector2 Vector2::down()
+Vector2 Vector2::down() noexcept
 {
 	return Vector2({.x = 0, .y = -1});
 }
 
-Vector2 Vector2::left()
+Vector2 Vector2::left() noexcept
 {
 	return Vector2({.x = -1, .y = 0});
 }
 
-Vector2 Vector2::right()
+Vector2 Vector2::right() noexcept
 {
 	return Vector2({.x = 1, .y = 0});
 }
 
-std::size_t Vector2Hasher::operator()(const Vector2 &vector2) const
+std::size_t Vector2Hasher::operator()(const Vector2 &vector2) const noexcept
 {
 	std::size_t result_hash = 0;
 
diff --git a/src/engine/data/vector2.hpp b/src/engine/data/vector2.hpp
index dff548c..49e5d85 100644
--- a/src/engine/data/vector2.hpp
+++ b/src/engine/data/vector2.hpp
@@ -15,15 +15,17 @@ struct Vector2Options
 class Vector2
 {
 public:
+	using Value = int32_t;
+
 	explicit Vector2(const Vector2Options &options);
 
-	[[nodiscard]] int32_t get_x() const noexcept;
+	[[nodiscard]] Value get_x() const noexcept;
 
-	void set_x(int32_t x) noexcept;
+	void set_x(Value x) noexcept;
 
-	[[nodiscard]] int32_t get_y() const noexcept;
+	[[nodiscard]] Value get_y() const noexcept;
 
-	void set_y(int32_t y) noexcept;
+	void set_y(Value y) noexcept;
 
 	const Vector2 &operator+=(const Vector2 &vector2) noexcept;
 	const Vector2 &operator-=(const Vector2 &vector2) noexcept;
@@ -33,30 +35,30 @@ public:
 	/**
 	 *  Returns Vector2({.x = 0, .y = 1})
 	 */
-	static Vector2 up();
+	static Vector2 up() noexcept;
 
 	/**
 	 *  Returns Vector2({.x = 0, .y = -1})
 	 */
-	static Vector2 down();
+	static Vector2 down() noexcept;
 
 	/**
 	 *  Returns Vector2({.x = -1, .y = 0})
 	 */
-	static Vector2 left();
+	static Vector2 left() noexcept;
 
 	/**
 	 *  Returns Vector2({.x = 1, .y = 0})
 	 */
-	static Vector2 right();
+	static Vector2 right() noexcept;
 
 private:
-	int32_t _x;
-	int32_t _y;
+	Value _x;
+	Value _y;
 };
 
 class Vector2Hasher
 {
 public:
-	std::size_t operator()(const Vector2 &vector2) const;
+	std::size_t operator()(const Vector2 &vector2) const noexcept;
 };
-- 
cgit v1.2.3-18-g5258