From e4973083492a11c3194d1a12eb37dbcf3dbd7cb9 Mon Sep 17 00:00:00 2001 From: Orange Date: Sat, 21 Dec 2024 19:29:33 +0300 Subject: [PATCH] added operator square brackets --- include/omath/Mat.hpp | 5 +++++ tests/general/UnitTestMat.cpp | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/include/omath/Mat.hpp b/include/omath/Mat.hpp index 7b05f42..63cbdef 100644 --- a/include/omath/Mat.hpp +++ b/include/omath/Mat.hpp @@ -66,6 +66,11 @@ namespace omath m_data = other.m_data; } + OMATH_API constexpr Type& operator[](const size_t row, const size_t col) + { + return At(row, col); + } + OMATH_API constexpr Mat(Mat&& other) noexcept { m_data = std::move(other.m_data); diff --git a/tests/general/UnitTestMat.cpp b/tests/general/UnitTestMat.cpp index 0105c28..cdaecfc 100644 --- a/tests/general/UnitTestMat.cpp +++ b/tests/general/UnitTestMat.cpp @@ -40,6 +40,14 @@ TEST_F(UnitTestMat, Constructor_InitializerList) EXPECT_FLOAT_EQ(m.At(1, 1), 4.0f); } +TEST_F(UnitTestMat, Operator_SquareBrackets) +{ + EXPECT_EQ((m2[0, 0]), 1.0f); + EXPECT_EQ((m2[0, 1]), 2.0f); + EXPECT_EQ((m2[1, 0]), 3.0f); + EXPECT_EQ((m2[1, 1]), 4.0f); +} + TEST_F(UnitTestMat, Constructor_Copy) { Mat<2, 2> m3 = m2;