1
0
Fork 0
forked from suyu/suyu

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
parent d224eb7c39
commit cc9d7bbf01

View file

@ -78,7 +78,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 {
@ -227,7 +227,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};
} }
@ -436,7 +436,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};
} }