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

Side by Side Diff: base/containers/scoped_ptr_hash_map.h

Issue 1502373009: Allow std::unordered_*. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: danakj comments, adjust IntPairHash silghtly Created 4 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_CONTAINERS_SCOPED_PTR_HASH_MAP_H_ 5 #ifndef BASE_CONTAINERS_SCOPED_PTR_HASH_MAP_H_
6 #define BASE_CONTAINERS_SCOPED_PTR_HASH_MAP_H_ 6 #define BASE_CONTAINERS_SCOPED_PTR_HASH_MAP_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
11 #include <utility> 11 #include <utility>
12 12
13 #include "base/containers/hash_tables.h" 13 #include "base/containers/hash_tables.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "base/memory/scoped_ptr.h" 16 #include "base/memory/scoped_ptr.h"
17 #include "base/stl_util.h" 17 #include "base/stl_util.h"
18 18
19 namespace base { 19 namespace base {
20 20
21 // Deprecated: use std::unordered_map instead.
danakj 2016/01/19 21:21:54 Can you link to a bug about replacing this with un
davidben 2016/01/19 22:30:28 Done.
22 //
21 // This type acts like a hash_map<K, scoped_ptr<V, D> >, based on top of 23 // This type acts like a hash_map<K, scoped_ptr<V, D> >, based on top of
22 // base::hash_map. The ScopedPtrHashMap has ownership of all values in the data 24 // base::hash_map. The ScopedPtrHashMap has ownership of all values in the data
23 // structure. 25 // structure.
24 template <typename Key, typename ScopedPtr> 26 template <typename Key, typename ScopedPtr>
25 class ScopedPtrHashMap { 27 class ScopedPtrHashMap {
26 typedef base::hash_map<Key, typename ScopedPtr::element_type*> Container; 28 typedef base::hash_map<Key, typename ScopedPtr::element_type*> Container;
27 29
28 public: 30 public:
29 typedef typename Container::key_type key_type; 31 typedef typename Container::key_type key_type;
30 typedef typename Container::mapped_type mapped_type; 32 typedef typename Container::mapped_type mapped_type;
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 167
166 private: 168 private:
167 Container data_; 169 Container data_;
168 170
169 DISALLOW_COPY_AND_ASSIGN(ScopedPtrHashMap); 171 DISALLOW_COPY_AND_ASSIGN(ScopedPtrHashMap);
170 }; 172 };
171 173
172 } // namespace base 174 } // namespace base
173 175
174 #endif // BASE_CONTAINERS_SCOPED_PTR_HASH_MAP_H_ 176 #endif // BASE_CONTAINERS_SCOPED_PTR_HASH_MAP_H_
OLDNEW
« no previous file with comments | « base/containers/hash_tables.h ('k') | base/hash.h » ('j') | base/hash.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698