15template <
typename Allocator>
68 Other.NumElements = 0;
69 Other.MaxElements = 0;
87 const uint32 KeyHash = GetKeyHash(Dst);
181 uint32 KeyHash = GetKeyHash(Element);
188 return AddNewElement(
Layout, GetKeyHash, KeyHash, ConstructFn);
193 uint32 KeyHash = GetKeyHash(Element);
211 AddNewElement(
Layout, GetKeyHash, KeyHash, ConstructFn);
245template <
typename AllocatorType>
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FORCEINLINE constexpr void DestructItem(ElementType *Element)
Definition MemoryOps.h:56
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition CompactHashTable.h:350
void Reset() const
Definition CompactHashTable.h:357
void Add(uint32 Index, uint32 Key) const
Definition CompactHashTable.h:365
UE_FORCEINLINE_HINT void Remove(uint32 Index, uint32 Key, uint32 LastIndex, uint32 OptLastKey) const
Definition CompactHashTable.h:373
uint32 Find(uint32 Key, uint32 CurrentCount, const PredicateType &Predicate) const
Definition CompactHashTable.h:332
Definition CompactSetBase.h:19
void ResizeAllocation(const int32 NewMaxElements, const FCompactSetLayout &Layout)
Definition CompactSetBase.h:199
FConstCompactHashTableView GetConstHashTableView(const FCompactSetLayout Layout) const
Definition CompactSetBase.h:109
SizeType MaxElements
Definition CompactSetBase.h:279
FCompactHashTableView GetHashTableView(const FCompactSetLayout Layout)
Definition CompactSetBase.h:102
ElementAllocatorType Elements
Definition CompactSetBase.h:276
int32 AllocatorCalculateSlackGrow(int32 NewMaxElements, const FCompactSetLayout &Layout) const
Definition CompactSetBase.h:152
bool ResizeAllocationPreserveData(const int32 NewMaxElements, const FCompactSetLayout &Layout, bool bPreserve=true)
Definition CompactSetBase.h:205
SizeType NumElements
Definition CompactSetBase.h:278
Definition AssetRegistryState.h:50
Definition ScriptCompactSet.h:17
void Empty(int32 Slack, const FScriptCompactSetLayout &Layout)
Definition ScriptCompactSet.h:72
bool IsValidIndex(int32 Index) const
Definition ScriptCompactSet.h:40
TScriptCompactSet(FIntrusiveUnsetOptionalState Tag)
Definition ScriptCompactSet.h:31
void CommitLastUninitialized(const FScriptCompactSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash)
Definition ScriptCompactSet.h:132
void RemoveAt(int32 Index, const FScriptCompactSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< void(void *)> DestructItem)
Definition ScriptCompactSet.h:82
int32 NumUnchecked() const
Definition ScriptCompactSet.h:45
const void * GetData(int32 Index, const FScriptCompactSetLayout &Layout) const
Definition ScriptCompactSet.h:55
void Add(const void *Element, const FScriptCompactSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn, TFunctionRef< void(void *)> ConstructFn, TFunctionRef< void(void *)> DestructFn)
Definition ScriptCompactSet.h:191
int32 AddUninitialized(const FScriptCompactSetLayout &Layout)
Definition ScriptCompactSet.h:114
void RemoveAtUninitialized(const FScriptCompactSetLayout &Layout, int32 Index)
Definition ScriptCompactSet.h:125
TScriptCompactSet()=default
void operator=(const TScriptCompactSet &)
Definition ScriptCompactSet.h:242
static FScriptCompactSetLayout GetScriptLayout(int32 ElementSize, int32 ElementAlignment)
Definition ScriptCompactSet.h:20
int32 FindIndexByHash(const void *Element, const FScriptCompactSetLayout &Layout, uint32 KeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn) const
Definition ScriptCompactSet.h:169
TScriptCompactSet(const TScriptCompactSet &)
Definition ScriptCompactSet.h:241
int32 FindIndex(const void *Element, const FScriptCompactSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn) const
Definition ScriptCompactSet.h:159
int32 FindOrAdd(const void *Element, const FScriptCompactSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn, TFunctionRef< void(void *)> ConstructFn)
Definition ScriptCompactSet.h:179
void CommitAllUninitialized(const FScriptCompactSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash)
Definition ScriptCompactSet.h:138
void * GetData(int32 Index, const FScriptCompactSetLayout &Layout)
Definition ScriptCompactSet.h:50
static constexpr bool bHasIntrusiveUnsetOptionalState
Definition ScriptCompactSet.h:28
void Rehash(const FScriptCompactSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash)
Definition ScriptCompactSet.h:143
void MoveAssign(TScriptCompactSet &Other, const FScriptCompactSetLayout &Layout)
Definition ScriptCompactSet.h:60
UE_FORCEINLINE_HINT constexpr size_t GetMemoryAlignment()
Definition CompactHashTable.h:69
U16 Index
Definition radfft.cpp:71
Definition CompactSetBase.h:11
int32 Size
Definition CompactSetBase.h:12
Definition IntrusiveUnsetOptionalState.h:71
static UE_FORCEINLINE_HINT void * Memmove(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:109
Definition UnrealTypeTraits.h:172