Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(454)

Unified Diff: third_party/WebKit/Source/platform/wtf/HashFunctions.h

Issue 2787053004: Respect colorSpace in DecodingImageGenerator::onGetPixels() (Closed)
Patch Set: AlphaOption Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/wtf/HashFunctions.h
diff --git a/third_party/WebKit/Source/platform/wtf/HashFunctions.h b/third_party/WebKit/Source/platform/wtf/HashFunctions.h
index 37f195696767ccf5b5c60142b5322bc49f288500..dbcac614f5d406373f537bb7bcdbed58aff1c10f 100644
--- a/third_party/WebKit/Source/platform/wtf/HashFunctions.h
+++ b/third_party/WebKit/Source/platform/wtf/HashFunctions.h
@@ -284,6 +284,30 @@ struct DefaultHash<std::pair<T, U>> {
using Hash = PairHash<T, U>;
};
+template <typename T, typename U, typename V>
+struct TupleHash {
Nico 2017/04/11 15:41:05 If we must have a TupleHash, consider making it a
msarett1 2017/04/11 20:52:05 Seems fine to write a custom hashing implementatio
+ static unsigned GetHash(const std::tuple<T, U, V>& p) {
+ return HashInts(HashInts(DefaultHash<T>::Hash::GetHash(std::get<0>(p)),
+ DefaultHash<U>::Hash::GetHash(std::get<1>(p))),
+ DefaultHash<V>::Hash::GetHash(std::get<2>(p)));
+ }
+ static bool Equal(const std::tuple<T, U, V>& a,
+ const std::tuple<T, U, V>& b) {
+ return DefaultHash<T>::Hash::Equal(std::get<0>(a), std::get<0>(b)) &&
+ DefaultHash<U>::Hash::Equal(std::get<1>(a), std::get<1>(b)) &&
+ DefaultHash<V>::Hash::Equal(std::get<2>(a), std::get<2>(b));
+ }
+ static const bool safe_to_compare_to_empty_or_deleted =
+ DefaultHash<T>::Hash::safe_to_compare_to_empty_or_deleted &&
+ DefaultHash<U>::Hash::safe_to_compare_to_empty_or_deleted &&
+ DefaultHash<V>::Hash::safe_to_compare_to_empty_or_deleted;
+};
+
+template <typename T, typename U, typename V>
+struct DefaultHash<std::tuple<T, U, V>> {
+ using Hash = TupleHash<T, U, V>;
+};
+
} // namespace WTF
using WTF::DefaultHash;

Powered by Google App Engine
This is Rietveld 408576698