memcpy(Buckets, other.Buckets, other.NumBuckets * sizeof(BucketT));
else
for (size_t i = 0; i < other.NumBuckets; ++i) {
- new (Buckets[i].first) KeyT(other.Buckets[i].first);
+ new (&Buckets[i].first) KeyT(other.Buckets[i].first);
if (!KeyInfoT::isEqual(Buckets[i].first, getEmptyKey()) &&
!KeyInfoT::isEqual(Buckets[i].first, getTombstoneKey()))
new (&Buckets[i].second) ValueT(other.Buckets[i].second);
NumEntries = 0;
NumTombstones = 0;
NumBuckets = InitBuckets;
- assert(InitBuckets && (InitBuckets & InitBuckets-1) == 0 &&
+ assert(InitBuckets && (InitBuckets & (InitBuckets-1)) == 0 &&
"# initial buckets must be a power of two!");
Buckets = reinterpret_cast<BucketT*>(new char[sizeof(BucketT)*InitBuckets]);
// Initialize all the keys to EmptyKey.