25 template<
typename...
TArgs>
35 template<
typename T,
typename TItemAdapter = TPoolBackedItemAdapter<T>>
51 template<
typename...
TArgs>
69 FItemAdapter::SetArrayIndex(*Item,
Index);
79 const int32 Index = FItemAdapter::GetArrayIndex(*Item);
82 FItemAdapter::SetArrayIndex(*Item,
INDEX_NONE);
87 FItemAdapter::SetArrayIndex(*Items[
Index],
Index);
91 FItemAdapter::TrashItem(*Item);
143 return Items.
begin();
153 return Items.
begin();
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 Size
Definition VulkanMemory.cpp:4034
Definition PoolBackedArray.h:37
FRangedForConstIterator begin() const
Definition PoolBackedArray.h:151
FRangedForConstIterator end() const
Definition PoolBackedArray.h:156
void Free(FItemPtr Item)
Definition PoolBackedArray.h:74
const FItem * FConstItemPtr
Definition PoolBackedArray.h:41
TPoolBackedArray(const int32 NumItemsPerBlock)
Definition PoolBackedArray.h:46
FRangedForIterator end()
Definition PoolBackedArray.h:146
bool IsEmpty() const
Definition PoolBackedArray.h:119
FItemPtr operator[](const int32 Index)
Definition PoolBackedArray.h:131
typename TArray< FItemPtr >::RangedForConstIteratorType FRangedForConstIterator
Definition PoolBackedArray.h:44
FRangedForIterator begin()
Definition PoolBackedArray.h:141
void Reset()
Definition PoolBackedArray.h:96
TItemAdapter FItemAdapter
Definition PoolBackedArray.h:42
void Reserve(const int32 Size)
Definition PoolBackedArray.h:124
FItemPtr Alloc(TArgs &&... Args)
Definition PoolBackedArray.h:52
T FItem
Definition PoolBackedArray.h:39
FItem * FItemPtr
Definition PoolBackedArray.h:40
int32 Num() const
Definition PoolBackedArray.h:114
void SortFreeLists()
Definition PoolBackedArray.h:161
const FItemPtr operator[](const int32 Index) const
Definition PoolBackedArray.h:136
typename TArray< FItemPtr >::RangedForIteratorType FRangedForIterator
Definition PoolBackedArray.h:43
Definition ObjectPool.h:25
FPtr Alloc(TArgs &&... Args)
Definition ObjectPool.h:64
void Free(FPtr Object)
Definition ObjectPool.h:119
int32 GetNumAllocated() const
Definition ObjectPool.h:238
void ReserveItems(int32 NumItems)
Definition ObjectPool.h:217
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
UE_FORCEINLINE_HINT void RemoveAtSwap(SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2185
UE_NODEBUG UE_FORCEINLINE_HINT RangedForIteratorType end()
Definition Array.h:3391
UE_REWRITE bool IsEmpty() const
Definition Array.h:1133
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
UE_NODEBUG UE_FORCEINLINE_HINT RangedForIteratorType begin()
Definition Array.h:3389
ElementType Pop(EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:1196
UE_NODEBUG void Sort()
Definition Array.h:3418
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition BodyInstance.h:90
U16 Index
Definition radfft.cpp:71
Definition PoolBackedArray.h:14
static void ReuseItem(T &Item, TArgs &&... Args)
Definition PoolBackedArray.h:26
static void SetArrayIndex(T &Item, const int32 Index)
Definition PoolBackedArray.h:17
static int32 GetArrayIndex(const T &Item)
Definition PoolBackedArray.h:16
static void TrashItem(T &Item)
Definition PoolBackedArray.h:21