aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkStrikeCache.h
diff options
context:
space:
mode:
authorGravatar Herb Derby <herb@google.com>2018-04-23 12:59:05 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-04-23 17:35:30 +0000
commit1849ffdc583f42d46cb9793553dc96f4cec8052e (patch)
treec805be7f3ee78d74cfa71c533a417e8cdfa0245a /src/core/SkStrikeCache.h
parent1b4faa7171c6a513bac10519bfeb6d9a53617ff7 (diff)
Generalize to SkDescriptorMap
Change-Id: I4e7ff8093dbbe24cd5de4d4ea478716514d519f2 Reviewed-on: https://skia-review.googlesource.com/123041 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
Diffstat (limited to 'src/core/SkStrikeCache.h')
-rw-r--r--src/core/SkStrikeCache.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/SkStrikeCache.h b/src/core/SkStrikeCache.h
index cdaffb5688..d4dc13927c 100644
--- a/src/core/SkStrikeCache.h
+++ b/src/core/SkStrikeCache.h
@@ -8,6 +8,8 @@
#ifndef SkStrikeCache_DEFINED
#define SkStrikeCache_DEFINED
+#include <unordered_map>
+
#include "SkDescriptor.h"
#include "SkSpinlock.h"
#include "SkTemplates.h"
@@ -29,6 +31,24 @@ class SkTraceMemoryDump;
///////////////////////////////////////////////////////////////////////////////
+struct SkDescriptorMapOperators {
+ size_t operator()(const SkDescriptor* key) const {
+ return key->getChecksum();
+ }
+
+ bool operator()(const SkDescriptor* lhs, const SkDescriptor* rhs) const {
+ return *lhs == *rhs;
+ }
+};
+
+template <typename T>
+using SkDescriptorMap =
+ std::unordered_map<
+ const SkDescriptor*,
+ T,
+ SkDescriptorMapOperators,
+ SkDescriptorMapOperators>;
+
class SkStrikePinner {
public:
virtual ~SkStrikePinner() = default;