Merge "Fix LruCache, allow std:string caching"

This commit is contained in:
Treehugger Robot 2023-06-15 14:31:47 +00:00 committed by Gerrit Code Review
commit 1477714262
2 changed files with 13 additions and 10 deletions

View file

@ -29,6 +29,8 @@ typedef const char* StringValue;
struct ComplexKey {
int k;
explicit ComplexKey() : k(0) { instanceCount += 1; }
explicit ComplexKey(int k) : k(k) {
instanceCount += 1;
}
@ -57,6 +59,8 @@ ssize_t ComplexKey::instanceCount = 0;
struct ComplexValue {
int v;
explicit ComplexValue() : v(0) { instanceCount += 1; }
explicit ComplexValue(int v) : v(v) {
instanceCount += 1;
}
@ -83,10 +87,9 @@ struct KeyWithPointer {
struct KeyFailsOnCopy : public ComplexKey {
public:
KeyFailsOnCopy(const KeyFailsOnCopy& key) : ComplexKey(key) {
ADD_FAILURE();
}
KeyFailsOnCopy(int key) : ComplexKey(key) { }
KeyFailsOnCopy() : ComplexKey() {}
KeyFailsOnCopy(const KeyFailsOnCopy& key) : ComplexKey(key) { ADD_FAILURE(); }
KeyFailsOnCopy(int key) : ComplexKey(key) {}
};
} // namespace

View file

@ -161,12 +161,12 @@ public:
// Implementation is here, because it's fully templated
template <typename TKey, typename TValue>
LruCache<TKey, TValue>::LruCache(uint32_t maxCapacity)
: mSet(new LruCacheSet())
, mListener(nullptr)
, mOldest(nullptr)
, mYoungest(nullptr)
, mMaxCapacity(maxCapacity)
, mNullValue(0) {
: mSet(new LruCacheSet()),
mListener(nullptr),
mOldest(nullptr),
mYoungest(nullptr),
mMaxCapacity(maxCapacity),
mNullValue{} {
mSet->max_load_factor(1.0);
};