34 uint32 FirstFreeIndex = ~0u;
43 static_assert(
sizeof(T) >=
sizeof(
uint32));
49 if (!std::is_trivially_destructible_v<T>)
51 while (FirstFreeIndex != ~0u)
53 T& Element =
Array[FirstFreeIndex];
54 FirstFreeIndex = *
reinterpret_cast<uint32*
>(&Element);
72 if (FirstFreeIndex == ~0u)
75 return Array.AddUninitialized(OutIndex);
80 FirstFreeIndex = *
reinterpret_cast<uint32*
>(Element);
93 *
reinterpret_cast<uint32*
>(&Element) = FirstFreeIndex;
94 FirstFreeIndex =
Index;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FRWLock Lock
Definition UnversionedPropertySerialization.cpp:921
Definition Pow2ChunkedArray.h:18
Definition StateStreamStore.h:15
T & operator[](uint32 Index)
Definition StateStreamStore.h:108
uint32 Emplace(ArgsType &&... Args)
Definition StateStreamStore.h:100
~TStateStreamStore()
Definition StateStreamStore.h:47
uint32 GetUsedCount() const
Definition StateStreamStore.h:114
void Remove(uint32 Index)
Definition StateStreamStore.h:88
void * AddUninitialized(uint32 &OutIndex)
Definition StateStreamStore.h:69
TStateStreamStore()
Definition StateStreamStore.h:41
uint32 Add(const T &Value)
Definition StateStreamStore.h:61
U16 Index
Definition radfft.cpp:71