ultimatepp/uppsrc/Core/ValueCache.h
cxl cb8ac6757e .docs
git-svn-id: svn://ultimatepp.org/upp/trunk@14578 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2020-06-10 17:28:10 +00:00

35 lines
716 B
C++

extern StaticMutex ValueCacheMutex;
LRUCache<Value>& TheValueCache();
typedef LRUCache<Value>::Maker ValueMaker;
Value MakeValue(ValueMaker& m);
bool IsValueCacheActive();
void AdjustValueCache();
void ShrinkValueCache();
void SetupValueCache(int limit_low, int limit_high, double ratio);
template <class P>
int ValueCacheRemove(P what)
{
Mutex::Lock __(ValueCacheMutex);
return TheValueCache().Remove(what);
}
template <class P>
int ValueCacheRemoveOne(P what)
{
Mutex::Lock __(ValueCacheMutex);
return TheValueCache().Remove(what);
}
template <class P>
void ValueCacheAdjustSize(P getsize)
{
Mutex::Lock __(ValueCacheMutex);
TheValueCache().AdjustSize(getsize);
}