Make hash_map forward constructor parameters to its base class.
We use a custom allocator for map fields and this allocator must be passed correctly to hash_map to make sure it's allocated properly with our custom allocator. Change-Id: Ie59fa24bf11ff28ffd0fa870e24e456c66b2b9c5
This commit is contained in:
parent
9907286855
commit
72f17c4367
1 changed files with 17 additions and 6 deletions
|
@ -93,9 +93,12 @@ template <typename Key, typename Data,
|
|||
typename EqualKey = std::equal_to<Key>,
|
||||
typename Alloc = std::allocator< std::pair<const Key, Data> > >
|
||||
class hash_map : public std::map<Key, Data, HashFcn, EqualKey, Alloc> {
|
||||
typedef std::map<Key, Data, HashFcn, EqualKey, Alloc> BaseClass;
|
||||
|
||||
public:
|
||||
hash_map(int = 0, const HashFcn& = HashFcn(), const EqualKey& = EqualKey(),
|
||||
const Alloc& = Alloc()) {}
|
||||
hash_map(int a = 0, const HashFcn& b = HashFcn(),
|
||||
const EqualKey& c = EqualKey(),
|
||||
const Alloc& d = Alloc()) : BaseClass(a, b, c, d) {}
|
||||
};
|
||||
|
||||
template <typename Key,
|
||||
|
@ -133,9 +136,13 @@ template <typename Key, typename Data,
|
|||
class hash_map
|
||||
: public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS<
|
||||
Key, Data, HashFcn, EqualKey, Alloc> {
|
||||
typedef GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS<
|
||||
Key, Data, HashFcn, EqualKey, Alloc> BaseClass;
|
||||
|
||||
public:
|
||||
hash_map(int = 0, const HashFcn& = HashFcn(), const EqualKey& = EqualKey(),
|
||||
const Alloc& = Alloc()) {}
|
||||
hash_map(int a = 0, const HashFcn& b = HashFcn(),
|
||||
const EqualKey& c = EqualKey(),
|
||||
const Alloc& d = Alloc()) : BaseClass(a, b, c, d) {}
|
||||
};
|
||||
|
||||
template <typename Key, typename HashFcn = hash<Key>,
|
||||
|
@ -187,9 +194,13 @@ template <typename Key, typename Data,
|
|||
class hash_map
|
||||
: public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS<
|
||||
Key, Data, HashFcn, EqualKey, Alloc> {
|
||||
typedef GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS<
|
||||
Key, Data, HashFcn, EqualKey, Alloc> BaseClass;
|
||||
|
||||
public:
|
||||
hash_map(int = 0, const HashFcn& = HashFcn(), const EqualKey& = EqualKey(),
|
||||
const Alloc& = Alloc()) {}
|
||||
hash_map(int a = 0, const HashFcn& b = HashFcn(),
|
||||
const EqualKey& c = EqualKey(),
|
||||
const Alloc& d = Alloc()) : BaseClass(a, b, c, d) {}
|
||||
};
|
||||
|
||||
template <typename Key, typename HashFcn = hash<Key>,
|
||||
|
|
Loading…
Add table
Reference in a new issue