Refactor StringPiece hash.
Rename struct BASE_HASH_NAMESPACE::hash<base::StringPiece> to struct
base::StringPieceHash, and modify existing code as necessary. This is motivated
by https://crrev.com/1660273002/#msg6.
* Remove #include "base/containers/hash_tables.h" where not used any more.
* Add this include for hash_map where necessary (string_piece.h does not include
it any longer, so this might be necessary for the code to compile).
* Change net::linked_hash_map from base::hash_map to std::unordered_map and add
Hash template parameter. This way BASE_HASH_NAMESPACE::hash<Key> will not be
implicitly used any more, so move QuicBlockedWriterInterfacePtrHash out of
that namespace.
BUG=576864
Review URL: https://codereview.chromium.org/1666843002
Cr-Original-Commit-Position: refs/heads/master@{#374005}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 63c013002ffbbb4c7eac172097e16ea907403e08
diff --git a/tools/gn/scope.h b/tools/gn/scope.h
index 2554366..96b3939 100644
--- a/tools/gn/scope.h
+++ b/tools/gn/scope.h
@@ -40,7 +40,8 @@
// variables. So you should use a non-const containing scope whenever possible.
class Scope {
public:
- typedef base::hash_map<base::StringPiece, Value> KeyValueMap;
+ typedef base::hash_map<base::StringPiece, Value, base::StringPieceHash>
+ KeyValueMap;
// Holds an owning list of Items.
typedef ScopedVector<Item> ItemVector;
@@ -329,7 +330,8 @@
// for more.
unsigned mode_flags_;
- typedef base::hash_map<base::StringPiece, Record> RecordMap;
+ typedef base::hash_map<base::StringPiece, Record, base::StringPieceHash>
+ RecordMap;
RecordMap values_;
// Owning pointers. Note that this can't use string pieces since the names