vector_math: Use variable template version of is_signed in Vec classes

Same behavior, less code
This commit is contained in:
Lioncash 2018-08-08 15:53:39 -04:00 committed by fearlessTobi
parent 05118a2326
commit ff1f7555de

View file

@ -82,7 +82,7 @@ public:
} }
template <typename U = T> template <typename U = T>
constexpr Vec2<std::enable_if_t<std::is_signed<U>::value, U>> operator-() const { constexpr Vec2<std::enable_if_t<std::is_signed_v<U>, U>> operator-() const {
return {-x, -y}; return {-x, -y};
} }
constexpr Vec2<decltype(T{} * T{})> operator*(const Vec2& other) const { constexpr Vec2<decltype(T{} * T{})> operator*(const Vec2& other) const {
@ -235,7 +235,7 @@ public:
} }
template <typename U = T> template <typename U = T>
constexpr Vec3<std::enable_if_t<std::is_signed<U>::value, U>> operator-() const { constexpr Vec3<std::enable_if_t<std::is_signed_v<U>, U>> operator-() const {
return {-x, -y, -z}; return {-x, -y, -z};
} }
@ -448,7 +448,7 @@ public:
} }
template <typename U = T> template <typename U = T>
constexpr Vec4<std::enable_if_t<std::is_signed<U>::value, U>> operator-() const { constexpr Vec4<std::enable_if_t<std::is_signed_v<U>, U>> operator-() const {
return {-x, -y, -z, -w}; return {-x, -y, -z, -w};
} }