Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19c2c3b2 authored by Ryan Prichard's avatar Ryan Prichard Committed by Automerger Merge Worker
Browse files

Merge "libmath: use TVECHELPERS_STD_HASH macro for std::hash" into main am: d36a990e

parents 7e47435f d36a990e
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -620,15 +620,10 @@ public:
}  // namespace details
}  // namespace android

namespace std {
    template<template<typename T> class VECTOR, typename T>
    struct hash<VECTOR<T>> {
        static constexpr bool IS_VECTOR =
            std::is_base_of<android::details::TVecUnaryOperators<VECTOR, T>, VECTOR<T>>::value;

        typename std::enable_if<IS_VECTOR, size_t>::type
        operator()(const VECTOR<T>& v) const {
            return v.hash();
        }
    };
#define TVECHELPERS_STD_HASH(VECTOR)                  \
    template <typename T>                             \
    struct std::hash<VECTOR<T>> {                     \
        size_t operator()(const VECTOR<T>& v) const { \
            return v.hash();                          \
        }                                             \
    }
+2 −0
Original line number Diff line number Diff line
@@ -373,5 +373,7 @@ typedef details::TMat22<float> mat2f;
// ----------------------------------------------------------------------------------------
}  // namespace android

TVECHELPERS_STD_HASH(android::details::TMat22);

#undef PURE
#undef CONSTEXPR
+2 −0
Original line number Diff line number Diff line
@@ -436,5 +436,7 @@ typedef details::TMat33<float> mat3f;
// ----------------------------------------------------------------------------------------
}  // namespace android

TVECHELPERS_STD_HASH(android::details::TMat33);

#undef PURE
#undef CONSTEXPR
+2 −0
Original line number Diff line number Diff line
@@ -590,5 +590,7 @@ typedef details::TMat44<float> mat4f;
// ----------------------------------------------------------------------------------------
}  // namespace android

TVECHELPERS_STD_HASH(android::details::TMat44);

#undef PURE
#undef CONSTEXPR
+2 −0
Original line number Diff line number Diff line
@@ -187,6 +187,8 @@ constexpr inline quatd operator"" _kd(unsigned long long v) { // NOLINT
// ----------------------------------------------------------------------------------------
}  // namespace android

TVECHELPERS_STD_HASH(android::details::TQuaternion);

#pragma clang diagnostic pop

#undef PURE
Loading