summaryrefslogtreecommitdiff
path: root/tools/aapt2/util/StringPiece.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/aapt2/util/StringPiece.h')
-rw-r--r--tools/aapt2/util/StringPiece.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/aapt2/util/StringPiece.h b/tools/aapt2/util/StringPiece.h
index f91bccc93019..f5c985bd9fff 100644
--- a/tools/aapt2/util/StringPiece.h
+++ b/tools/aapt2/util/StringPiece.h
@@ -19,6 +19,7 @@
#include <ostream>
#include <string>
+#include <utils/JenkinsHash.h>
#include <utils/String8.h>
#include <utils/Unicode.h>
@@ -257,4 +258,17 @@ inline ::std::ostream& operator<<(::std::ostream& out, const std::u16string& str
return out.write(utf8.string(), utf8.size());
}
+namespace std {
+
+template <typename TChar>
+struct hash<aapt::BasicStringPiece<TChar>> {
+ size_t operator()(const aapt::BasicStringPiece<TChar>& str) const {
+ uint32_t hashCode = android::JenkinsHashMixBytes(
+ 0, reinterpret_cast<const uint8_t*>(str.data()), sizeof(TChar) * str.size());
+ return static_cast<size_t>(hashCode);
+ }
+};
+
+} // namespace std
+
#endif // AAPT_STRING_PIECE_H