Home | History | Annotate | Download | only in utils

Lines Matching refs:entry

81     struct Entry {
84 Entry* parent;
85 Entry* child;
87 Entry(TKey key_, TValue value_) : key(key_), value(value_), parent(NULL), child(NULL) {
92 void attachToCache(Entry& entry);
93 void detachFromCache(Entry& entry);
96 UniquePtr<BasicHashtable<TKey, Entry> > mTable;
98 Entry* mOldest;
99 Entry* mYoungest;
107 mNullValue(NULL), mTable(new BasicHashtable<TKey, Entry>), mYoungest(NULL), mOldest(NULL),
128 Entry& entry = mTable->editEntryAt(index);
129 detachFromCache(entry);
130 attachToCache(entry);
131 return entry.value;
149 // Would it be better to initialize a blank entry and assign key, value?
150 Entry initEntry(key, value);
152 Entry& entry = mTable->editEntryAt(index);
153 attachToCache(entry);
164 Entry& entry = mTable->editEntryAt(index);
166 (*mListener)(entry.key, entry.value);
168 detachFromCache(entry);
185 for (Entry* p = mOldest; p != NULL; p = p->child) {
195 void LruCache<TKey, TValue>::attachToCache(Entry& entry) {
197 mYoungest = mOldest = &entry;
199 entry.parent = mYoungest;
200 mYoungest->child = &entry;
201 mYoungest = &entry;
206 void LruCache<TKey, TValue>::detachFromCache(Entry& entry) {
207 if (entry.parent != NULL) {
208 entry.parent->child = entry.child;
210 mOldest = entry.child;
212 if (entry.child != NULL) {
213 entry.child->parent = entry.parent;
215 mYoungest = entry.parent;
218 entry.parent = NULL;
219 entry.child = NULL;
224 UniquePtr<BasicHashtable<TKey, Entry> > oldTable(mTable.release());
225 Entry* oldest = mOldest;
229 mTable.reset(new BasicHashtable<TKey, Entry>(newCapacity));
230 for (Entry* p = oldest; p != NULL; p = p->child) {