19template<
class KeyType,
class ValueType>
101 bool Add(
const KeyType& Key,
const ValueType&
Value)
147 template<
typename DeleteFunc>
162 template<
typename DeleteFunc>
264 TEXT(
"Cache is not locked for read or write during Find!"));
306 return Found !=
nullptr;
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition DiscardableKeyValueCache.h:21
uint32 ApplyLock(uint32 CurrentFlags, uint32 NewFlags)
Definition DiscardableKeyValueCache.h:196
TypedMap Map2
Definition DiscardableKeyValueCache.h:314
FRWLock & RWLock()
Definition DiscardableKeyValueCache.h:44
TypedMap & Current()
Definition DiscardableKeyValueCache.h:50
FRWLock LockObject
Definition DiscardableKeyValueCache.h:310
void Unlock(uint32 Flags)
Definition DiscardableKeyValueCache.h:232
TMap< KeyType, ValueType > TypedMap
Definition DiscardableKeyValueCache.h:35
bool Find(const KeyType &Key, ValueType &OutType)
Definition DiscardableKeyValueCache.h:76
bool Find(const KeyType &Key, ValueType &OutType, uint32 InCurrentLockFlags, uint32 &OutLockFlags)
Definition DiscardableKeyValueCache.h:92
int32 Num()
Definition DiscardableKeyValueCache.h:62
TypedMap Map1
Definition DiscardableKeyValueCache.h:313
bool Add(const KeyType &Key, const ValueType &Value, const uint32 LockFlags)
Definition DiscardableKeyValueCache.h:113
TDiscardableKeyValueCache()
Definition DiscardableKeyValueCache.h:37
int32 Discard(uint32 InCurrentLockFlags, uint32 &OutNewLockFlags, DeleteFunc Func)
Definition DiscardableKeyValueCache.h:163
bool InternalFindWhileLocked(const KeyType &Key, ValueType &OutType, uint32 InCurrentLockFlags, uint32 &OutFlags)
Definition DiscardableKeyValueCache.h:253
bool Add(const KeyType &Key, const ValueType &Value)
Definition DiscardableKeyValueCache.h:101
TypedMap * CurrentMap
Definition DiscardableKeyValueCache.h:311
int32 Discard(DeleteFunc Func)
Definition DiscardableKeyValueCache.h:148
TypedMap & Backfill()
Definition DiscardableKeyValueCache.h:56
TypedMap * BackfillMap
Definition DiscardableKeyValueCache.h:312
int32 Discard()
Definition DiscardableKeyValueCache.h:136
Definition UnrealString.h.inl:34
Definition DiscardableKeyValueCache.h:26
Flags
Definition DiscardableKeyValueCache.h:28
@ WriteLockOnAddFail
Definition DiscardableKeyValueCache.h:31
@ ReadLock
Definition DiscardableKeyValueCache.h:29
@ WriteLock
Definition DiscardableKeyValueCache.h:30