Loading include/utils/LruCache.h +26 −24 Original line number Diff line number Diff line Loading @@ -36,15 +36,38 @@ public: void setOnEntryRemovedListener(OnEntryRemoved<TKey, TValue>* listener); size_t size() const; const TKey& keyAt(size_t index) const; const TValue& valueAt(size_t index) const; void removeAt(size_t index); const TValue& get(const TKey& key); bool put(const TKey& key, const TValue& value); bool remove(const TKey& key); bool removeOldest(); void clear(); class Iterator { public: Iterator(const LruCache<TKey, TValue>& cache): mCache(cache), mIndex(-1) { } bool next() { mIndex = mCache.mTable->next(mIndex); return mIndex != -1; } size_t index() const { return mIndex; } const TValue& value() const { return mCache.mTable->entryAt(mIndex).value; } const TKey& key() const { return mCache.mTable->entryAt(mIndex).key; } private: const LruCache<TKey, TValue>& mCache; size_t mIndex; }; private: LruCache(const LruCache& that); // disallow copy constructor Loading Loading @@ -88,27 +111,6 @@ size_t LruCache<TKey, TValue>::size() const { return mTable->size(); } template <typename TKey, typename TValue> const TKey& LruCache<TKey, TValue>::keyAt(size_t index) const { const Entry& entry = mTable->entryAt(index); return entry.key; } template <typename TKey, typename TValue> const TValue& LruCache<TKey, TValue>::valueAt(size_t index) const { const Entry& entry = mTable->entryAt(index); return entry.value; } template <typename TKey, typename TValue> void LruCache<TKey, TValue>::removeAt(size_t index) { if (index < 0) { return; } mTable->removeAt(index); } template <typename TKey, typename TValue> const TValue& LruCache<TKey, TValue>::get(const TKey& key) { hash_t hash = hash_type(key); Loading Loading
include/utils/LruCache.h +26 −24 Original line number Diff line number Diff line Loading @@ -36,15 +36,38 @@ public: void setOnEntryRemovedListener(OnEntryRemoved<TKey, TValue>* listener); size_t size() const; const TKey& keyAt(size_t index) const; const TValue& valueAt(size_t index) const; void removeAt(size_t index); const TValue& get(const TKey& key); bool put(const TKey& key, const TValue& value); bool remove(const TKey& key); bool removeOldest(); void clear(); class Iterator { public: Iterator(const LruCache<TKey, TValue>& cache): mCache(cache), mIndex(-1) { } bool next() { mIndex = mCache.mTable->next(mIndex); return mIndex != -1; } size_t index() const { return mIndex; } const TValue& value() const { return mCache.mTable->entryAt(mIndex).value; } const TKey& key() const { return mCache.mTable->entryAt(mIndex).key; } private: const LruCache<TKey, TValue>& mCache; size_t mIndex; }; private: LruCache(const LruCache& that); // disallow copy constructor Loading Loading @@ -88,27 +111,6 @@ size_t LruCache<TKey, TValue>::size() const { return mTable->size(); } template <typename TKey, typename TValue> const TKey& LruCache<TKey, TValue>::keyAt(size_t index) const { const Entry& entry = mTable->entryAt(index); return entry.key; } template <typename TKey, typename TValue> const TValue& LruCache<TKey, TValue>::valueAt(size_t index) const { const Entry& entry = mTable->entryAt(index); return entry.value; } template <typename TKey, typename TValue> void LruCache<TKey, TValue>::removeAt(size_t index) { if (index < 0) { return; } mTable->removeAt(index); } template <typename TKey, typename TValue> const TValue& LruCache<TKey, TValue>::get(const TKey& key) { hash_t hash = hash_type(key); Loading