From 49e5f2190830e27e25b57fd12d8c3b99a5c82a23 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 15 Mar 2023 08:11:31 +0100 Subject: [PATCH] QVectorD: simplify get() implementation instead of if (I == x) return ~~~[x]; just always return ~~~[I]. Pick-to: 6.5 Change-Id: I236159480ab90201f7e3f6f90fdcd1cab5d3a223 Reviewed-by: Thiago Macieira --- src/gui/math3d/qvectornd.h | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/gui/math3d/qvectornd.h b/src/gui/math3d/qvectornd.h index b5985a8d11..0f3ce758a8 100644 --- a/src/gui/math3d/qvectornd.h +++ b/src/gui/math3d/qvectornd.h @@ -148,10 +148,7 @@ private: std::enable_if_t, QVector2D>, bool> = true> friend constexpr decltype(auto) get(V &&vec) noexcept { - if constexpr (I == 0) - return (std::forward(vec).v[0]); - else if constexpr (I == 1) - return (std::forward(vec).v[1]); + return (std::forward(vec).v[I]); } }; @@ -310,12 +307,7 @@ private: std::enable_if_t, QVector3D>, bool> = true> friend constexpr decltype(auto) get(V &&vec) noexcept { - if constexpr (I == 0) - return (std::forward(vec).v[0]); - else if constexpr (I == 1) - return (std::forward(vec).v[1]); - else if constexpr (I == 2) - return (std::forward(vec).v[2]); + return (std::forward(vec).v[I]); } }; @@ -467,14 +459,7 @@ private: std::enable_if_t, QVector4D>, bool> = true> friend constexpr decltype(auto) get(V &&vec) noexcept { - if constexpr (I == 0) - return (std::forward(vec).v[0]); - else if constexpr (I == 1) - return (std::forward(vec).v[1]); - else if constexpr (I == 2) - return (std::forward(vec).v[2]); - else if constexpr (I == 3) - return (std::forward(vec).v[3]); + return (std::forward(vec).v[I]); } };