Кто-нибудь знает какую-либо реализацию шаблонного кеша объектов?
- Вы используете ключ для поиска объекта (то же, что и в std:: map < > )
- Вы указываете максимальное количество объектов, которые могут находиться в кеше одновременно.
- Есть объекты для создания объекта, не найденного в кеше
- Есть средства знать, когда объект отбрасывается из кеша
Например:
typedef cache<int, MyObj*> MyCache;
MyCache oCache;
oCache.SetSize(1);
oCache.Insert(make_pair(1, new MyObj());
oCache.Touch(1);
MyObj* oldObj = oCache.Delete(1);
...
Это может быть так же просто, как кеш LRU или MRU.
Любые предложения приветствуются!
Ник