85 const size_t hash = Hash()(key);
88 typename _List::iterator it = _list.begin();
89 for (; it != _list.end(); ++it) {
91 if (it->hash == hash && it->key == key) {
95 if (it != _list.begin()) {
96 _list.splice(_list.begin(), _list, it);
107 if (_list.size() < _capacity) {
108 _list.emplace_front(hash, key);
114 _list.splice(_list.begin(), _list, --_list.end());
115 _list.front().hash = hash;
116 _list.front().key = key;
120 *value = &_list.front().value;