テンプレート化されたオブジェクトのキャッシュの実装を知っている人はいますか?
- キーを使用してオブジェクトを検索します (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 キャッシュのように単純なものにすることができます。
どんな提案も大歓迎です!
ニック