if (LookupBucketFor(Key, TheBucket))
return *TheBucket;
- return *InsertIntoBucket(Key, ValueT(), TheBucket);
+ return *InsertIntoBucket(std::move(Key), ValueT(), TheBucket);
}
ValueT &operator[](KeyT &&Key) {
- return FindAndConstruct(Key).second;
+ return FindAndConstruct(std::move(Key)).second;
}
#endif
}
void init(unsigned InitBuckets) {
+ assert(!KeyInfoT::isEqual(this->getEmptyKey(), this->getTombstoneKey()) &&
+ "Bad implementation of KeyInfoT: empty key and tombstone key "
+ "should be different");
if (allocateBuckets(InitBuckets)) {
this->BaseT::initEmpty();
} else {